您的当前位置:首页正文

十六进制七段数码显示管设计

2024-07-16 来源:意榕旅游网



电子 科 技 大 学

学生姓名:

实验报

指导教师:王振松

学 号:

一、实验室名称:

现代测试技术实验室

二、实验项目名称: 3位十六进制七段数码显示管设计

三、实验原理:



47LED数码管的每个LED显示屏都是按照一个“数字8的模式安排了7个发光二极管组成部分。每段LED可以单独照明,7

段的每个 LED 的阳极是连接在一起 ,成为一个共同的阳极电路节





,LED的阴极保持独立。如需要每一位显示不同的数字,则需利用人眼的视觉残留效应进行动态刷新显示,30/秒的速度以此显示4

个十六进制数。所以是s[1:0]的数值必须以此速度从0~3计数。同时输出an[3:0]的数值必须和s[1:0]同步,这样就保证在正确的时间显示正确的数字。当然同时要使用使能端控制第三位数码管使其熄灭。

四、实验目的:

1.进一步熟悉 Xilinx 公司EDA开发系统软件平台的操作。

2.学会将50M的晶振经多次分频后得到低频脉冲信号。3. 学会用 VerilogHDL 中的case语句来创建七段译码器。

4. 学会使用原理图作为顶层图实现数字电路。

5. 掌握数码管动态扫描显示技术。6. 学会用 BASYS2 FPGA开发板下载执行并验证代码。

五、实验内容:

1)利用HDL代码输入方式在XilinxISE 13.4 平台上实现一个 十六进制七段数码显示管设计;

2)使用原理图作为顶层图实现数字电路,使用模块实例语句 连接前面所设计的七段译码器模块;

3)生成比特流文件下载到开发板上进行验证。





六、实验器材(设备、元器件):

1)计算机(安装 XilinxISE 13.4 软件平台);

2)BASYS2 FPGA 开发板一套(带 USB-MiniUSB 下载线)。

七、实验步骤:

1、在 Xilinx ISE 13.4

平台中,新建一个工程

LED 。我们选用的



BASYS2 FPGA 开发板采用的是CP132 封装,设置好器件属性。

Spartan3EXC3S100E芯片和



2、在工程管理区任意位置单击鼠标右键,在弹出的快捷菜单中选择

New Source命令,弹出新建源代码对话框,这里我们选择“Verilog





Module类型,输入 Verilog文件名。ISE会自动创建一个 Verilog

模板,并在源代码编辑区打开,接下来的工作就是将代码编写完整。


完整代码如下:

moduleLED(

input i0,

input i1,

input i2,

input i3,

output reg [7:0] o
);
wire[3:0] i;
assigni[0]=i0; assign i[1]=i1;
assign i[2]=i2; assign i[3]=i3;
//七段数码管
always@(*)



case(i) //控制表达式
0:o=8'b00000011; //分支表达式
1:o=8'b10011111;
2:o=8'b00100101;
3:o=8'b00001101;
4:o=8'b10011001;
5:o=8'b01001001;
6:o=8'b01000001;
7:o=8'b00011111;
8:o=8'b00000001;
9:o=8'b00001001;

'hB:o=8'b11000001; 'hA:o=8'b00010001;

'hC:o=8'b01100011;
'hD:o=8'b10000101;
'hE:o=8'b01100001;
'hF:o=8'b01110001;
default:o=8'b00000011;
endcase
endmodule
保存后 ,ISE 左侧菜单的DesignUtilities 里点击 CreatSchematic Symbol 生成电路模块 ,这样,我们自己设计的一块译码器电路就完成



,如果编译有错误,反复修改直至成功。


3、接下来设计一个顶层电路,实现我们需要的功能。

在项目中添加“NewSource,选择“Schematic类型,则进入原理

图设计阶段。软件在左侧的Symbols栏中提供大量的芯片库供使用。





接下来再连上 7段码译码器就可以驱动数码管显示了 ,symbols

里面选择当前的工作目录就可以看到我们设计的译码器 led7segment,

加入电路,再增加若干个输入、输出端口

,这个电路就设计好了。




接下来要将电路图与实际开发板引脚绑定

,需要加入引脚定义文件

,

New source->Implementation Constraints File, 加入后缀为 ucf 的引脚

定义文件 ,或在项目中双击进入向导。

I/Opin planning)PlanAhead)-Pre-Synthesis






最终生成的 ucf 引脚定义文件如下:其中 ,NET "CLK"LOC = "B8"; 的含
义为将项目中的CLK 线绑定在开发板的“B8”,具体引脚可见开发板

上的字。







接下来生成电路文件 ,点击 GenerateProgramming File, 经过漫长的等

,将会出现绿色钩,表示成功了。

4、选择sch项目下的design一栏,点击ConfigureTarget Device,展

开二级菜单,双击ManageConfigure Processes,打开ISEImpact,双

BoundaryScan





在右侧空白处右击,选择

Initialize Chains,选择“是”,打开对应的

bit 文件









最后右击器件,选择 Program将程序下载到开发板上并检查结果。

八、实验数据及结果分析:

实验仿真结果证明了设计的正确性,该设计是合理的, 能够满足

实验所需的。设计的数码显示管可以完美显示十六进制数,并且通过

一些简单的改动还可以改变亮、灭灯的个数, 同时也可以改变逻辑开

关输入的高低位,出色地完成了实验要求的同时还具有一定的扩展性。

九、实验结论:

3位十六进制七段数码显示管由数选、位选、分频器和七段译码

器组成,通过四位二进制输入来显示十六进制的数。





十、总结及心得体会:

报告评分:

指导教师签字:





显示全文