欢迎来到天天文库
浏览记录
ID:35596858
大小:1.02 MB
页数:15页
时间:2019-03-30
《毕业论文--七段数码管动态显示电路设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、七段数码管动态显示电路设计内容提要:介绍了一种具有数制转换功能的LED数码管显示控制器的设计。用VHDL描述了整个设计结构,并在Altera公司的CycloneⅡEP2C35T672C8器件上实现了该数码管显示电路。关键词:QuartusⅡVHDL七段数码管一、问题分析本论文的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在任务中数字时钟选择1khz作为扫描时钟,用四个拨动开关作为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。二、设计原理此程序的工作原理是:动态显示时,所有
2、数码管都接收到同样的段选信号,但那个数码管显示则是由位选端来控制的。所以只要将需要显示的数码管的位选端打开,所选的数码管就会显示字形,没有选得位则不亮。通过分时轮流控制各个数码管的位选端,就可以使各个数码管轮流受控显示,这就是动态显示。尽管实际上各个数码管并非同时点亮,但扫描速度足够快,利用发光二极管的余辉和人眼的视觉暂留作用,可以使人感觉各个数码管在同时显示。但是在实际情况中,数码管的扫描频率需要在适当的范围内,这样才能显示清晰的结果。如果频率太低,则不能满足同时显示的要求,如果频率过高,则会使数码管的显示有残影,
3、相邻几位相互影响。一般选择几十千赫兹的频率比较适当。三、VHDL程序:LIBRARYIEEE;-----库函数;USEIEEE.STD_LOGIC_1164.ALL;----------定义了STD_LOGIC数据类型及相应运算;USEIEEE.STD_LOGIC_arith.ALL;----------定义了STD_LOGIC数据类型及相应运算等;USEIEEE.STD_LOGIC_UNSIGNED.ALL;----------定义了函数的STD_LOGIC_UNSIGNED数据类型;ENTITYscanIS---
4、------实体名;PORT(clk:INSTD_LOGIC;---------输入端;key:INSTD_LOGIC_VECTOR(3DOWNTO0);---------输入端;ledag:OUTSTD_LOGIC_VECTOR(6DOWNTO0);---------输出端;del:OUTSTD_LOGIC_VECTOR(2DOWNTO0));---------输出端;ENDscan;--------结束实体;architecturebhvofscanisbeginprocess(clk)variabledount
5、:STD_LOGIC_VECTOR(2DOWNTO0);beginifclk'eventandclk='1'then--------检测时钟上升沿dount:=dount+1;--------计数器dount累加endif;del<=dount;--------片选信号endprocess;p1:process(key)--------key变化时启动进程begincasekeyiswhen"0000"=>ledag<="0111111";--------七段数码显示0;when"0001"=>ledag<="000
6、0110";--------七段数码显示1;when"0010"=>ledag<="1011011";--------七段数码显示2;when"0011"=>ledag<="1000111";--------3when"0100"=>ledag<="1100110";--------4when"0101"=>ledag<="1101101";--------5when"0110"=>ledag<="1111101";--------6when"0111"=>ledag<="0000111";--------7when
7、"1000"=>ledag<="1111111";--------8when"1001"=>ledag<="1101111";--------9when"1010"=>ledag<="1110111";--------七段数码显示R;when"1011"=>ledag<="1111100";--------七段数码显示B;when"1100"=>ledag<="0111001";--------七段数码显示C;when"1101"=>ledag<="1011110";--------七段数码显示D;when"1110
8、"=>ledag<="1111001";--------七段数码显示E;when"1111"=>ledag<="1110001";--------七段数码显示F;whenothers=>null;endcase;endprocess;endbhv;四、编译前设计:1编辑文件:(1)启动QuartusⅡ。双击桌面上的QuartusⅡ图标或单击开始
此文档下载收益归作者所有