7段数码显示译码器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附表1: 广州大学学生实验报告

开课学院及实验室:物理与电子工程学院-电子楼317室 2016 年 4 月 28 日 学 院 物 电 年级、专

业、班 姓名 Jason.P 学号

实验课程名称 EDA 技术实验 成绩

实验项目名称

7段数码显示译码器设计 指 导 教 师

一、 实验目的: 学习7段数码显示译码器设计;学习VerilogHDL 的多层次设计方法。

二、 实验内容:

1、实验原理:

7段数码是纯组合电路,通常的小规模专用IC ,如74或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD 中来实现。

2、实验步骤:

表4-1 7段译码器真值表 图4-1 共阴数码管及其电路

(1)首先按7段译码器真值表,完成7段BCD码译码器的设计。作为7段BCD码译码器,输出信号LED7S的7位分别接如图4-1数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。

(2)设计该译码器,在QuartusII上对其进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形(提示:用输入总线的方式给出输入信号仿真数据)。引脚锁定及硬件测试。建议选实验电路模式6,用数码8显示译码输出,键8/7/6/5四位控制输入,硬件验证译码器的工作性能。

图4-2 7段译码器仿真波形

(3)将设计加入4位二进制计数器,经上面设计的16进制7段译码器显示。

图4-3计数器和译码器连接电路原理图

三、实验HDL描述:

计数器:module adder(CLK,RST,EN,LOAD,COUT,DOUT,DATA);

input CLK,EN,RST,LOAD;

input[3:0] DATA;

output[3:0] DOUT;

output COUT;

reg[3:0] Q1;

reg COUT;

assign DOUT = Q1;

always @(posedge CLK or negedge RST) //CLK上升沿、RST下降沿触发

begin

if(!RST) Q1 <= 0; //RST为低电平时,Q1为0

else if(EN) begin //EN为高电平时,执行下步

if(!LOAD) Q1 <= DATA; //LOAD为低电平时Q1=DATA

else if(Q1<15) Q1 <=Q1+1; //Q1<15,计数加1

else Q1 <=4'b0000; end //Q1为其他值,计数置0

end

always @(Q1)

if (Q1==4'hf) COUT = 1'b1; else COUT = 1'b0; //Q1为15,COUT=1,否则为0 endmodule

16进制7段译码器:

module DECL7S (A,LED7S);

input[3:0] A; output[6:0] LED7S;

reg[6:0] LED7S;

always@(A)

case(A)

4'b0000 : LED7S <= 7'B0111111;

4'b0001 : LED7S <= 7'B0000110;

4'b0010 : LED7S <= 7'B1011011;

4'b0011 : LED7S <= 7'B1001111;

4'b0100 : LED7S <= 7'B1100110;

4'b0101 : LED7S <= 7'B1101101;

4'b0110 : LED7S <= 7'B1111101;

4'b0111 : LED7S <= 7'B0000111;

4'b1000 : LED7S <= 7'B1111111;

4'b1001 : LED7S <= 7'B1101111;

4'b1010 : LED7S <= 7'B1110111;

4'b1011 : LED7S <= 7'B1111100;

4'b1100 : LED7S <= 7'B0111001;

4'b1110 : LED7S <= 7'B1111001;

4'b1111 : LED7S <= 7'B1110001;

default : LED7S <= 7'B0111111;

endcase

endmodule

四、仿真结果:

7段数码显示译码器仿真测试结果

A为输入的数,LED7S输出对应的译码结果(与7段译码器真值表一致)

计数器仿真测试结果

含异步清零和同步时钟使能的加法计数器,CLK为上升沿时,DOUT计数(EN=LOAD=RST=1);EN为低电平时DOUT保持当前数值(LOAD=RST=1);EN为高电平且CLK为上升沿时触发DOUT计数(LOAD=RST=1)。LOAD为低电平且CLK为上升沿时,DOUT置为DATA值(EN=RST=1)。RST为低电平时,DOUT置为0,与CLK是否为上升沿无关。DOUT值计满15时COUT置1,DOUT为其他值时COUT为0。

组合电路(计数器+译码器)仿真测试结果

计数器和译码器连接的电路,led的译码输出和真值表相符合。en为低电平且clock为上升沿时led保持,en为高电平且clock为上升沿时led显示的数字加一。load为低电平且clock为上升沿时,led显示data的数值。rst为低电平时,led显示数字0,与clock上升沿时间无关。Led显示到数字15时cout为1,led显示其他数值时,cout为0。

五、引脚锁定:

六、硬件测试结果:

模式6:

en(键8控制)为低电平,保持显示数字3 计数满15(显示为F)LED-D8(cout)亮 rst(键7控制)为低电平,清零

相关文档
最新文档