BCD 码—七段数码管显示译码器的综合仿真及下载 下载本文

内容发布更新时间 : 2024/6/4 1:26:41星期一 下面是文章的全部内容请认真阅读。

暑期FPGA培训实验报告

————BCD码—七段数码管显示译码器

一、实验设计

利用软件QuartusII,Modelsim及DE0开发板完成译码器的仿真及下载,其中使用VerilogHDL硬件描述语言完成其源代码。 译码器

将一位BCD码0—9用DE0开发板的数码管显示。

二、实验原理

发光二极管(LED)由特殊的半导体材料砷化镓、 磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。 分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。 图4 - 17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4 - 17(c)所示。(摘自百度文库)

(图片来自百度)

BCD码—七段数码管显示译码器是将一位BCD码(输入用图中A,B,C,D)翻译为数码管上对应显示的十进制数字。例如:输入为4’b0000时,则显示为g号二极管灭,其他为亮,则可显示为数字0。其实BCD码—七段数码管显示译码器即为4-7线译码器,只是将它显示在数码管上而已。 其(数码管为共阴极)真值表如下图:

(图片来自百度)

*由于DE0开发板的数码管为共阳极则需要将上表的真值取反。

三、源代码及testbench

decode4_7.v

module decode4_7(decodeout,indec);

output[6:0] decodeout;

input[3:0] indec;

reg[6:0] decodeout;

always @(indec)

begin

case(indec) //用case语句进行译码

4'd0:decodeout=7'b0000001; //由于为共阳极数码管则真值如此

4'd1:decodeout=7'b1001111;

4'd2:decodeout=7'b0010010;

4'd3:decodeout=7'b0000110;

4'd4:decodeout=7'b1001100;

4'd5:decodeout=7'b0100100;

4'd6:decodeout=7'b0100000;

4'd7:decodeout=7'b0001111;

4'd8:decodeout=7'b0000000;

4'd9:decodeout=7'b0000100;

default: decodeout=7'bx;

endcase

end

Endmodule

decode4_7_testbench.v

module decode4_7_testbench; reg[3:0] indec;

wire[6:0] decodeout; la U0(decodeout,indec); initial begin indec=4'b0; #10 $stop; end always begin

#1 indec=indec+1'b1; end

endmodule

四、实验操作

1、打开QuartusII建立工程,配置实验板为

CycloneIII .EP3C16F484C6 ,设置第三方仿真软件为Modelsim-Altera。

2、建立新文件File->New->Verilog HDL File,输入源代码保存文件为

decode4_7.v