基于fpga设计的数码管动态扫描显示

基于fpga设计的数码管动态扫描显示

ID:20562316

大小:49.00 KB

页数:7页

时间:2018-10-13

基于fpga设计的数码管动态扫描显示_第1页
基于fpga设计的数码管动态扫描显示_第2页
基于fpga设计的数码管动态扫描显示_第3页
基于fpga设计的数码管动态扫描显示_第4页
基于fpga设计的数码管动态扫描显示_第5页
资源描述:

《基于fpga设计的数码管动态扫描显示》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于FPGA设计的数码管动态扫描显示摘要:利用FPGA输入时钟,分频出1Hz的计数器;利用FPGA输入时钟,分频出1Hz的计数器:触发信号控制计数器,实现增、减计数功能;计数器的计数范围为(T9999;实现四位数码管的动态扫而显示。关键词:FPGA,分频、记数、码管动态扫描1.设计原理为使得输入控制电路简单且易于实现,采用动态扫描的方式实现设计耍求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形式代码,用来控制显示的字形,称为断码;另一组是位输出口输出的控制信号,用來选择第几位数码管工作,称为位码。各位数码管的段线并联,断码的输出对各位数码管来说都是相同的。因此在同一时刻如果各

2、位数码管的位选线都处于选通状态的话,4位数码显示管将显示相同的的字符,若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选处于导通状态,而其他位的位选处于关闭状态。冋吋,断线上输出相应要显示字符的字形码。这样在同一时刻,只有选通的哪一位显示出字符,而其他各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将耍的字符。虽然这些字符是在不同时刻出现的,而且同一时刻,只显示一位,其他各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼印象就会是连续稳定的显示。总之,多个数码管动态扫描显示,是将所有数码管的相同段=

3、端并联在一起,通过选通信号分时控制各个数码管的公共端,循环一次点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50HZ,将看不到闪烁现象。4个数码管需要50*4=200IIZ以上才能看到持续稳定点亮现象。1.软件设计思想设计利用FPGA内部电路,经过分频,产生1HZ的扫描信号作为时钟,驱动计数器工作。选用模值为10的计数器,通过一个3线一8线译码器,产生断码,依次控制4个LED的亮火,使得某-时刻有iL仅有一个LED点亮,同时产生对应的,将点亮的WD数码管赋值显示为相应的数字予以显示。由于扫描频率较高,位LED数码管序列将显示持续稳定的0-9数码。2.程序设计1ibraryiee

4、e;useieee.stdlogic1164.all;useieee.std_logic_unsigned.all;entityledlisport(elk,clkl:instd_logic;vss:outstd_logic_vector(3downto0);q:outstdlogicvector(6downto0);k:inbit);endentityledl;architecturertlofledlissignals:std_logic_vector(1downto0);signalal:stdlogicvector(1downto0);signaldl:std_logic_vecto

5、r(3downto0);signalvs:std_logic_vector(3downto0);signalcoutl,cout2,cout3,cout4:std_logic_vector(3downto0);beginpi:process(clkl)beginif(clkl’eventandclkl=,1’)thenif(s=ll)thens〈:"00";elses<=s+l;endif;endif;endprocess;al<=s;p2:process(al)begincasealiswhen'OO^vs^OOOl";when"01〃=>vs〈="0010";when"10"=>vs<=

6、〃0100";when"ll"=〉vs<="1000〃;endcase;vss<=vs;endprocess;p3:process(elk,k)beginif(elk’eventandclk=,f)thenif(k=’l’)thenif(coutl=1001)thencoutl〈=〃0000";if(cout2:1001)thencout2〈="0000";if(cout3=1001)thencout3〈:"0000";if(cout4=1001)thencout4<="0000";elsecout4<=cout4+1;endif;elsecout3<=cout3+1;endif;elsec

7、out2<=cout2+1;endif;elsecoutl〈二coutl+1;endif;elsif(k=’O’)thenif(cout1=0000)thencoutl<=//1001";if(cout2=0000)thencout2<="100r;if(cout3=0000)thencout3<="1001";if(cout4=0000)thencout4<="1001";elsecout4<=cout4-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。