VHDl语言实现动态数码管扫描.docx

上传人:李医生 文档编号:11630913 上传时间:2021-08-27 格式:DOCX 页数:17 大小:273.69KB
返回 下载 相关 举报
VHDl语言实现动态数码管扫描.docx_第1页
第1页 / 共17页
VHDl语言实现动态数码管扫描.docx_第2页
第2页 / 共17页
VHDl语言实现动态数码管扫描.docx_第3页
第3页 / 共17页
VHDl语言实现动态数码管扫描.docx_第4页
第4页 / 共17页
VHDl语言实现动态数码管扫描.docx_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《VHDl语言实现动态数码管扫描.docx》由会员分享,可在线阅读,更多相关《VHDl语言实现动态数码管扫描.docx(17页珍藏版)》请在三一文库上搜索。

1、电子综合技术实验报告实验名称:3位十进制循环计数器的设计系(科):信息系电子信息工程班 级:180932学 号:18093238姓名:夏良飞完成时间:2012-4-20南京师范大学中北学院3位十进制循环计数器的设计一、实验内容1 .设计一个3位十进制循环计数器,从0加到999,再恢复到0,循环往复。 每秒计数器加1。2 .有复位功能,当复位端reset为高时,计数器清零,停止计数。3 .以控制计数的开始start和停止stop。当计数开始start信号有效时,计 数器开始计数;当计数停止stop信号有效时,计数停止;当start信号再次有效 时,继续计数。4 .计数器的计数值采用动态显示方式在

2、数码管上显示出来。5 .进行设计,仿真并下载程序到实验箱的 CPLD真块板进行验证。二、实验原理1 .按键去抖动模块设计原理(1)、抖动原因通常使用的按键都是机械弹性开关,按下时闭合,松开后自动断开。在键盘 操作时,在触点闭合和开启的瞬间会出现电压抖动,如图所示。为了保证按键识(2)设计原理滤除前沿和后延抖动毛刺,提取稳定的按键信息2 .按键扫描模块设计原理CPLD佥测按键端的电平,当按键按下时按键端的电平为低电平,相应触发相 关的操作。反之,则不进行相应的操作。3 .三位循环计数器的设计原理当时钟的上升沿到来之时,计数器的计数值就加一,直到加到计数值为999然后计数器的计数值重新置零。4 .

3、动态显示计数器的设计原理当时钟的上升沿到来之时,计数器的计数值就加一,直到加到计数值为2然后计数器的计数值重新置零。5 .分为电路的设计原理将计数器计数所得到的值分别进行相应的取余和取整操作得到最后分位结 果。如下所示:得到543的分位操作。X = 543 mod 10 = 3;temp = 543 / 10,Y = temp mod 10 = 4;Z = 543 / 100 = 5X、Y、Z分别就是个位、十位和百位。6 .动态显示译码模块的设计原理(1)、首先向LED数码管显示段码数据口发送第一个 8位数据,同时发送位 码数据,此时相应位码为低电平,其他为高电平;(2)、延时一段时间,发送第

4、二个数据,此时相应位码为低电平,其他为高电平;(3)、依此类推,对各个显示器进行扫描,显示器分时工作,实际上每次只 有一个显示器显示,但是由于视觉暂留现象,感觉显示器是同时显示的。7 .分频器的设计原理分频器就是对较高频率的信号进行分频,得到较低频率的信号。常见的分频 器有二进制分频器、偶数分频器、奇数分频器、占空比可调的分频器和小数分频 器。分频系数(倍率)rate=f in / f out。设计万案1 .电路的框架图resetstart 1,甚键去一*按键扫|cnt_Hn| 3位借环计 ent描模块数器(0、999)一分位电路stop抖动J IIclk200hz clkldhzClk1n2

5、分频器1分频器2分频察sysclk50MHz分频器4clk1 KHz态示数动显计qcnt(072)动态显 示译码 模块SEG8.OSCAN6.O2.电路模块输入信号;cyclecntsysck s&g& .0 reseiSCAh(7 0】start stopsysclk:基准时钟,50MHz;reset:异步复位信号,高有效;start, stop:计数开始和计数停止信号输入;incalc_axitIi* all;5 一 一6 B entity denounce 37 port3 B (9cllc,. jresec i in scd 1 ogic ;1Dqin : in stci_Logic;

6、11 gout; : out std logzc12 :一13 erd debcunce;3.二 640H axctiiceatue behave of d.efcc3Lince is曰口dif ;end if;end _ ;吕n曰。各亭曰:电nd ifjend proce.33; end tset:fiive ;type st:ar-e 二乌 (SO r SI, S.2 ) *s自曰nKLfezeg-XiLcuxxexiC V= 3Q=4 =二匕 tnenumnE current iwhen SQ - qa ut 匚nuncurrent V- SI;U11 HBClt qoit. than

7、crm?xe nc 按键扫描的VHD格言描述UUHHen::(C3 J_ kr Hwm t耳工口)wh en ctheiZErslitaxary ieee ;Lise eee . std_ 1 ogic_H64 . all;use ieee _ 匕d_lecric_un.sianec3 _ ail_ 5ul岳。 工已wo 与t & logic a工工 - st J_1工:n工匚u曰三三if Creset =rienif (q(in - Oc jr r e nc.色二季曰HU(d)c : j.n sc.d._lagic ;上已白伫亡; m 曰七己_AoqX t;白匚3工仁,2匚口户: in st

8、d_1 ectX c;S 匕 EqJ_nseen x; tie Keqcnt_en - thencnt_en t-hen4.3位循环计数器的VHDLS言描述1 libiary ieee;2 jse iee=.std_lcgic_l164 - all;3 use ieee, 3cd_lcaicjjr:3ignec.all;4 use ieee. 3cd_lc gle erith. all; c6 Sentiy codjrt 137 fOTT8 H(9 cnt_en: in 3td_lcgic;10 clklHe: in std_lcgic;11 rwet: m 3td Logic;12 cut:

9、 D-t integer range 0 to 99913 );Hend count;Barchiuecrure behave af count is teaii: - count between 0 to 999H process (clklHz;reset,cnt_enj variable temp;Integer renge 0 tc 999; teainSif (匚?与之匕=11 thentemp :=0; elsif (clfclHz1 event and clkiz = 11* thenSif (crir_en= 1 O) chentemp ;= temp;BelseBif(ten

10、=395) tnenterrp : = 0;Selset Grap : = c emp - 1; end if;end if;end if; cut ;号曰H曰decx xcuXe;右 U arciT.itecfLirei Jre H- ve o f de circuit i s n匕合口工n1Sf e nwe X Czzi 工 unJ_ 二J_ 9 S zrc? cess ( ent )a。va-irialcZe mhA_c emp : i nvetjer ;W .ke / 3 nHWq(e - ent mod 10;2 3stii_temp : cne/ 2.0;2.4stii V = s

11、in_匚eirpmod IO ;之居isaj. -c= cue / 10 Oj6end pzm口曰三拳:2 V已口口 Jceiae -6 .动态显示计数的VHD印言描述1 lib-rary ieeeruse leee . b ed_legi_e_H 6 4 . all;use 工eee .三七1_工口gi_Q_tLEL吕工qned - aH : 2se ieee . std_1口0工二_fiUtli. all;H ent icy dyn dx pplay 二口口二匚 is=ccDcllcHz : in 3td_Ioqxc;q口u七;out j.ntgex xange 0七口 2S axe il

12、l t.ecbein ave a f dyn_d工eq 1_9好_:口二口亡 1 sszLgrtal temp : uit.ege=r range O T a 2: =0;H Beq-inpr ocess ( dlcl JcHs)ICRQUIZi f (cl IcltcHz , event and cllclkHz 1f t emp=2) th鼻口temp Qi elietemp - teitip + 1; e nd i_r :曰nd if;qd =匕 =E.ernp J end process;匕曰三|己引已;7 .动态显示译码模块的VHDL言的描述11匕匚3匚elcnl_1164.all;

13、use isee. 5td_lcg-z_un5igr.ed.all;-se ieee.szd lccic arit.all;H enciry display is port.H (qcnt: in integer range 0 to 2; ger5hirbai;in integer rage 0 tc 9; sg: oL;t std lcgc_ver;cr(6 danto 0);scan: out std_lcgic_veccorU口write 01ena display;BarcriiLecc-re Leilave cl d-5p_a? issignal data: integex Hwe

14、g 0 to 9;Sb&gin一一circiiit: of displayprocess(qent gw. shirLai)beefincase gent is* ?e;=StLl;=Lai;.ata scan scan c= h11111101;data when 2 = 3匚心口 scan suq =w?ien 1 =ss 白ug =rloaionn;when 3 7 seg =w10CllllR;when 4 = jeg 寻eq eq 3型g seq jean110QlllT,;. r.r.二七二号二三=1 3ec if (cni3 thencm: = cnt + 1;else cn =

15、o j end if;end if:eii巴F上n七日白白:process (ent)be9inif (ent-父 n/2 th&n clklkHs。* 11 ;else clklkHz beginijE (dk*ev&nt and clX- 1 J 匕hen zl ( cnc; Z-J_ j tlie匕UTl。V = 。口仁 + 上;Ise口口。=0; end if;end 豆土.:色nd f工口ue6三二pHgczess cnt )工 nif (cut n/2 ) clien c kHz - *1 elseol k?2_ ItE-is V =1 O end if;end pxo ce 53

16、 ;L m 力 WlBR ;(3)、1Hz的分频litorar v 支ee心ruise j_eee _ stcL_J_agic_1164 a.J.1;use ieee _ sect_J_agic_linsiQiLed. alJ_jn白曰 j_eee _ scd_J_agic_arj-th. - all;S en t j. ty 曰ezfzLd zlsgETiEHztu ( N :ztntEg已 r : =S O Q O O OO J ;portS Cdhr:T3 与=日_loyic 7c二k_lJcHz :ouc q七d_!ogiu1 Je匚ci Je npin3 ;19 二二16 17 14

17、419 豆0 211 4之 232 3N S2 e 21丁 w s 二。 so 31 323335 363rS axctiit-ectiiire ksehave of jEenpin3 b n 工uc 匕;i 111 ei g-it as.口- O 匕0S Segin e nK i nn process Cex b&o-iinn.f. ( cJ_ ic e ve nc; &rLd c 1 1t= h A n二:f ont v N3) 二五一ncz Tit- V= umC十二 fnelsecz nt. 2=0 ;t nd -正; end if-ertd 户工口9r zr u u三 pi f er

18、 Ta t ksetjiiTiSif (cut 七hen0 1 XCL K-H H v 工 Fne J. seC1 KJ. M兑 Z C= O :HW 口 工匚提 end. qhnu鼻m; end ksehfiAre ;z-uTZ-yie tl14151617181920212223242S26272S2930313233343S3637end(4)、1kHz的分频1 library ieee:2 useieee.std_lcgic_1164.all;3 useleee, std._lcgiG_unsigi:ed. all;4 lime.std. Icgic aritn.all;5 一 一6

19、Hent-ty f已np二凸 is generic(N: integer:-=50000J;8 pert9 S(10 elk: in stdlcglc;11 clkrlk2: out std_lngic12 );一13 end fenpin4;H architecture behave of fenpin4 Is signal cst: integer ran7s 0 tu NT;UBed工匕fe np inH procesBclkj beginHif(clk*event and clk=1 thenH(mt thencut cnt41;Helseent w0; end if; end if;

20、 已匚d zrocess;process =: teqir.(cnc nh&n clklkaz -I1; else clklk-iz eiLd i ; end process; behave;五、实物仿真结果在实验箱上直接看结果的正确与否,由实际现象看出电路设计的结果正确实验箱的引脚配置如下:Node MerrieDirectorLocationI/O Bank16ckUnknown2?resetUnknownPin_3J73startUnknownPIM_27146stopUn knownPIM_28匚5scan 7UnknownPIN_916ascan 6Unknown21scan 5Un

21、knownPIN_95234sc 占 n4Un knownPRJ_962gscan 3UnknownPIM_972a5taniUnknownPIN第工11scanlUnknownPIN_99212Gscan0UnknownPIU_10D2130seg向UnknownPIW.37214es0 5Lh knownPIM.362154segflUnknownPIN_352164亭国UnknownPIhJ_34217e光强】Unkrovjn2际5cg1JLh knownPIN_B2219应口UnknownPIM_312六、结论在这次EDA实验设计中,我完成的是一个 3位十进制循环计数器的设计, 在计数

22、器的设计中,多次用到了计数器这一基本数字电路元件(包括分频器的设 计都用到了计数器),于是我对计数器做更深入的研究。在这次 EDA实验设计中 还有二个重要的模块分别是按键去抖(包括按键扫描)模块和LED显示译码模块, 在这二个模块中让我清楚地认识到机械按键用在数字电路中的不足之处和对此的 补救措施;也让我深刻的认识到了 LED动态显示的机制。这里所设计的3位十进 制循环计数器是在 Quartus II开发环境下进行设计的,设计完之后,下载到了 EPM570T100C5芯片进行了硬件验证。实验证明设计基本正确,功能基本完善。 唯一的不足之处在于计数器的运行不够稳定,与预期结果相比,计数时间过快。 遗憾的是到目前为止,还未能找到问题所在。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1