ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:601.83KB ,
资源ID:12109158      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-12109158.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于VHDL的多功能数字钟设计报告.docx)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于VHDL的多功能数字钟设计报告.docx

1、基于VHDL的多功能数字钟设计报告作者:日期:基于VHDL的多功能数字钟设计报告0212 15 班卫时章一、设计要求1、具有以二十四小时制计时、显示、整点报时、时间设置和闹钟的功能 2、设计精度要求为1秒。二、设计环境:Q u a rt u s II三、系统功能描述1、系统输入:时钟信号clk采用5 0MHz;系统状态及较时、定时转换的控 制信号为k、se t ,校时复位信号为rese t,均由按键信号产生。2、系统输出:LED显示输出;蜂鸣器声音信号输出。3、多功能数字电子钟系统功能的具体描述如下:(一)计时:正常工作状态下,每日按2 4 h计时制计时并显示,蜂鸣器无声,逢整点 报时。(二)

2、校时:在计时显示状态下,按下“ k”键,进入“小时”待校准状态,若此时 按下“set”键,小时开始校准;之后按下“k”键则进入“分”待校准状态;继续 按下“k”键则进入“秒”待复零状态;再次按下“k”键数码管显示闹钟时间, 并进入闹钟“小时”待校准状态;再次按下“k”键则进入闹钟“分”待校准状 态;若再按下“ k”键恢复到正常计时显示状态。若校时过程中按下“re set ” 键,则系统恢复到正常计数状态。(1) “小时”校准状态:在“小时”校准状态下,显示“小时”的数码管以2Hz闪烁,并按下“set”键时以2Hz的频率递增计数。(2) “分”校准状态:在“分”校准状态下,显示“分”的数码管以

3、2Hz闪烁,并 按下“ s e t”键时以2Hz的频率递增计数。(3) “秒”校准状态:在“秒复零”状态下,显示“秒”的数码管以 2Hz闪烁,并 以1Hz的频率递增计数。闹钟“小时”校准状态:在闹钟“小时”校准状态下,显示“小时”的数码管 以2Hz闪烁,并按下“set”键时以2Hz的频率递增计数。(5 )闹钟“分”校准状态:在闹钟“分”校准状态下,显示“分”的数码管以2Hz 闪烁,并按下“set”键时以2Hz的频率递增计数。(三)整点报时:蜂鸣器在“5 9”分钟的第“51”、“53”、“55”、“57”秒发频率 为5 00Hz的低音,在“59”分钟的第“ 59”秒发频率为100 0 Hz的高音

4、,结 束时为整点。(四)显示:采用扫描显示方式驱动4个LED数码管显示小时、分,秒由两组led 灯以4位BCD 码显示。(五)闹钟:闹钟定时时间到,蜂鸣器发出频率为1000Hz的高音,持续时间为60秒。四、各个模块分析说明1、分频器模块(freq . vhd)(1)模块说明:输入一个频率为50M Hz的C L K,利用计数器分出1KHz 的 q 1KHz , 5 00Hz 的 q5 0 0Hz,2Hz 的 q2Hz 和 1Hz 的 q1 H z。(2)源程序:1 ibr a ry i eee;use ieee.s t d _l o gic_ 1 1 64.all;use ieee. std_l

5、 o g i c_un signed.all;entity fre q isport (C L K: in st d_l o g i c ;输入时钟信号qlKHz:buffer std_l ogic;q500 Hz: buf f e r st d_ 1 o gic ;q2Hz: buffe r st d_ 1 og i c ;q 1Hz: out st d_ l o gi c ); e nd freq;a r chi t ect ure bhv of freq is begi nP1KHZ:process (C L K)v aria b le co ut: integer:= 0 ; begi

6、ni f CLKevent and CLK = 1 t h encou t:=co u t+ 1;-每来个时钟上升沿时 cout开始计数if cout = 2 50 00 then q 1KHz=0; 当 cout= 2 5000 时,q1KH z 输 出“0”elsif cout 50000 then q1K Hz = / 1;当 25 0 00V cout=50O 00 时,q1K Hzelse cout:=0;输出 “1”,完成 1KHz 频率输出 e n d if;end i f; end p r oce s s ;P50O HZ: pro cess (q1KHz)q 1 K H z

7、作为输入信号,分出q500H z variab 1 e c o ut: i nteger:= 0;b e gi ni f q1KHz, eventa nd q1KHz=1 th e ncou t:= c ou t+ 1;if cout = 1 t h 6 n q 5 0 0Hz=,0;-二分频elsi f c o ut= 2 then co ut: = 0; q 500Hz=,1;e nd if;end if;en d pro c e s s ;P2 H Z: pro cess (q5 0 0Hz) var i able cout: inte ger :=0;beginthenif q500H

8、z/ eve nt and q 5 00Hz = co ut:= c out+ 1 ;if c o ut=125 then q2Hz =/ 0;elsif c out2 5 0 then q2 H z =1; el s e cout:=0;e nd if;end i f;end pr ocess;P1HZ: proc es s(q 2H z )v ariable c o ut:i n t eger:=0;beg i ni f q2H z event and q2 Hz=1 then co ut:=c o u t+1;i f cout= 1 then q1Hz=0/ ;el sif c o ut

9、=2 the n c out: = 0; q1Hz =1;end i f;e nd if;end p ro c e s s;end b hv;(3)模块图:2、控制器模块(con t ra 1 .vh d)(1)模块说明:输入端口 k, set键来控制6个状态,这六个状态分别是:显示计时时间状态,调计时的时、分、秒的3个状态,调闹铃的时、分的3个状态,reset键是复位键,用来回到显示计时时间的状态。(3)模块图:end pro cess;en d ar ch ite cture one;仿真波形图:-若s=0 ,y输出a,反之输出b(3)模块图:=-controli dkcth?ilccmr

10、;_Hteh-rfeMtcbhcbm flashh -f ! fla&hnn rZ: =ir=f:3、二选一模块(mux21 a . v hd)源程序:library ieee;use ieee s td_l o g i c _1164.all;use ieee.s td_l o g ic_unsig n ed. a l 1 ;entity mux 21a isp o rt (a, b, s:i n bit;y: o u t b it);e nd entity mux21 a ;a rch ite c ture one of mux2 1 a is beg i n process(a,b s)

11、 b e gi ni f s=0 the n y=a;else y=b;e nd if;rassLk rest d 1就54、计时模块a.秒计时(second .vh d )(1 )仿真波形图: 弓 12”7 M uc LO.E4 ue 12. & ut 19 3& uc II 92 vc 出 4as 23I1IIIn.n n.n n.n.nn n r.n 匚rLiirLrLrUWWLrtrLnjirjirLnrinjTrumulnrinrLnj;j. n_ ; 1_Li_L _L_LL_d_LJ:;:工:LLi _事函0常然府底里窄奚B强奏E督霓寅5荚变亮为奥支赛荚奖P奏功英GGCTGTG戏

12、门司 丁 t 口! rr jrrrTrm之 TTngiTFTb.分计时(mi n u te . vhd)(1 )仿真波形图:模块图:c.小时计时(h o ur. v hd)(1)仿真波形图:0 ps 5.京 g 10.24 us 15.36 z Ek 4B g 均.3 g 30. 7 us :5. C4 ill4工*rI1IIjmwirtruwjuiirLninnnrLnjirLrLrutrwirWinnHnnnjinjruinLnnKDE电运为叵)(工史邕区区恒EIDjI i 仆:I I j I f I j j i 机 i 二 111gi j X j j i j I i 1 工. i i 八

13、 il_ 1:inst7=e .闹钟小时计时(c n t h 2 4b .vhd)d.闹钟分计时(cntm60b. v hd)(1 )仿真波形图:P 37 s S.弭 g白.坤gll.qs 43.4.印4 瓜4Tq 也覃金 之1 一卒心岂L甲 gI以 hrLmnrmjirLrLrLnrLnrLrirLrijiirLmrimuuimtmii如rmtmmrtmu5 | J 一 ! ! !一*1:S 百 14L ;口 i1 :- -攵: :1 : :(2)模块图:Jlltl mi mi niiBiiiiaiaHiiiaBiiHiiaiiiii in=cfitmBQbI1_I -w El4Op 3*:

14、-dk 如中,-i-=5、闹钟比较模块(compare. vhd)(1)模块说明:比较正常计数时间与闹钟定时时间是否相等,若相等,c omp out输出“1”,反之输出“0”。(2)仿真波形图:,十I a 田 田 国 田 E 田MiObhlthO thitmOtmlcomp outIP 国OP 第 125 US1 , S2 T1ST2.5S us主”53.驾 U54. 4S us116.35 m012iiiinibiuQri_0|III|1IIIII2 !111 :6 X 7 X & X 9 ;(oXi X a )(5X&)(Rill S=.-一 一 .,IIIiiii3DD1111I1J -

15、 111i1B11911(3)模块图:6、报时模块(bell. v hd)模块说明:该模块既实现了整点报时的功能,又实现了闹铃的功能,蜂鸣器通过 所选频率的不同,而发出不同的声音。仿真波形图:(3 )模块图:7、控制显示模块(show_c on. v h d)(1)模块说明:该模块加了数码管既可以显示正常时间,又可以显示闹钟时间 的功能;调时过程的定时闪烁功能也在此模块中真正实现。源程序:l i b rary ieee;u se i eee. std_l ogic_1164 .all;useieee .std_ lo g ic_u n si g ned.a ll;en tit y s how_

16、con isport (th 1 , t m 1,ts 1 :in s td_logic_v e c t or( 7 d ownto 4);t h0,tm 0 ,ts0:in std_lo g ic_ v e ctor(3 downto 0);bh1,bm1:in std_logic_vector( 7 downto 4 );b h 0,bm 0 :in st d _ 1 ogic_ v e ct o r(3 d o wnt o 0);sec1, min1,h1: out s t d_ log i c_vector (7 down to 4 );secO, mi n 0, h 0 : out

17、s td_ 1 ogic_v e ct o r( 3 dow n t o 0 );q2Hz, fl a shs, fla s h h, f 1 as hm, s el_sh ow: i n std_lo gic); end sho w_co n ;archit e ctu r e r t l of s h ow_co ni sbeginp r ocess (t h 1 ,tm1,ts1, t h0, tm0,t s 0 ,bh1,bm 1 ,bh 0 ,bm0 , q 2Hz,fla s hs,fl a sh h,flashm,se l_ s how)b eg i nif se 1 _sho

18、w=0thenif ( flashh=1an d q 2Hz =,1)thenh1=11 1 1; h 0= 1 111;显示小时数码管以2Hz闪烁min1= t m 1 ;mi n 0 =tm0;sec1=ts1;s ecO = t s0;elsif (fl ash m= 1 7 and q2H 1) t henh1= t h1;h0 = th0;mi n 1=1111 ;mi n 0 =1111;se c1=ts1; s ecO = ts0;e 1 s i f (flashs=1a nd q 2 Hz= / 1 ) t h enh 1 =th1;h0=th 0 ;mi n 1= t m 1

19、 ;mi n 0=tm0;sec1= 111 1 ;se c 0=11 1 1 elseh1=th1;h0 = th 0;min1=tm1; m i n 0 =tm 0 ;secl = t s 1; s e c 0= t s 0;end if;e lsif se 1 _sho w=7 1t hen-若 sel_sh ow为 1 ,数码管显示闹钟时间i f( f lashh= / 1 and q2Hz=()thenhl =1111;h0=u 1111;mi n 1= b m1;m in0= b m0;sec1= 0 0 00;sec0= 0 00 0 ;e lsif ( f la s h m=/

20、 1 a nd q 2Hz=1)then h1=bh1;h0=bh 0 ;minl= 1111;min0=111 1 ;secl =0000;sec0= 0 000;elseh 1 = b h 1; h0=bh0;min1=bm1; m in0=bm0;sec1=0O 0 0;secO = 0000;end if ;end end r tend if;p r ocess;l;(3)模块图:才处CCXuseel 7 ,41 ITW1V-.*Ill7,4 会端工划 rriO(4.可W(J 3一廿4: 一 E? M -ts17 4) L由02则一 tmO(工切-bhip一i舟0口.飞 M bnOJB

21、. W- 0版:X咕1- ftotih:sei showirsf8、动态扫描显示模块(scan _led.vh d )(1)模块说明:由4组输入信号和输启信号进而实现了时钟时、分的动态显示。(2)源程序:li b r a r y ieee ;use ieee.std _ 1 og i c_1164. a ll;use ieee.st(d_log i c_unsi gned .all;6 ntit y sc a n_ 1 e d is p o rt (clk1:in std_lo g i c ;h0:in std_ 1 ogic_vector(3 d o wnto 0 );h1:in st d_

22、l o g i c _ vector(7 down t o 4);min0:in std_l o gic_vector( 3 dow nto 0 );min1: in st d_logic_vector(7 down to 4 );ML:ou t std_l ogic _vector (7 down t o 0);M H :o u t std _log i c_vecto r (7 dow n to 0);HL:o u t std_logi c _v e c t or(7 down t o 0);H H:out std_logic_ v e cto r (7 dow nto 0 ) );en

23、d sc a n_led;a r chitec t ure on e of sc a n_le d i ss i g n al cn t 4:std_log ic_vector (1 downto 0);si g n a 1 a: std_ 1 o gic_vect or(3 down to 0);b e g inpl: pro ce ss(clk 1 )beginif clk1event and clk 1 =1 thencn t 4= c nt4 + 1 ;if c nt4 =3 thenc n t4 case mi n 0 i swhen 0 00 0 =M LMLMLML M LM L

24、MLM L ML M L NULL;end cas e;wh e n 01 =ca s e min1 iswhen 0000H =MH MHMHMHMHM HM HMHMHMHNULL;e nd casq when 10= c ase h 0 iswhen 0 0 00=H L HLHL HLHLHL H LHL H LHLNU LL ;end c ase;when 11 = c ase h1 i swhen 000 0 = H H HHH H HH H H hh H H HHHHHH NUL L ; end c ase;w hen o the r s =null;end case;end p

25、roces s p 2;en d one;五、端口设定k : b u t ton 2 ,se t : b u t tonl , res et : butt o n0 ;Bel 1 :SW1用于开关蜂鸣器;i启Hum 21- F :/Sludiereri/1 tDA/tigtta Idee. k/Digi talclock - DsgildlLksck -二口in PlanneiJR:|Edr xiQBlgrm irjjjKlg:DM*,REF5*s3 HHr-hmMdnG4MNa油品心routE*j-BlJMiL5 i:drtdrout,最117Bb.生小匕oumt/lnsL&Ui7nuZ.5

26、 B烟台间FMG37njn:泻.一U中EUm.ois才口 TJE2.5 . (drtii-;QlW!FiTJ 31日方W3 加3”3 HHJOLJutFJN B39TBNflL(*idl:Q3 hhH、T.I-再N/197WJNB凡产”:LOC* HH|CLtputm_F157B7_FJEL51. (drtii-:LIO HHC(XkjEkn aii7Bffna2aH用n已Ob训mjas7RU工2,5 -阳WQ :阻力FINJjfi7口”?$ Mrtwiq如邛班E.3饰0TJy1孔海:仇帮jtF7V157日了7.5 -mtwBIJf2J tfeJrJd网78,Jit.E .*小XL4OH;国口

27、;0HFTJJJ77盯虺,y 4 - 1H,:So卜。C7J *177Et NL2.5 - t*七卅: MtInxffHN Ql.lt Idrtdf *?dPIFtHN *31r i7.51.加琳政g 小同FUU_B21SL_U卫凤加,叱4LE判三:OLlpuE小C21B l FHZ.5 1.13 V堀 0判IOj4MjkHN Cl鼻,dMiirNtLB性由蚂44o 口如邛ubpi地r1Bl_Ni7.5 B年彳dH朽c* a:.dmt1BUM2,5- (cfe-dl?:枪W沏ObiMr-.j_;i!,5. tfc-djy47六、顶层电路图七、心得体会此次的数字钟设计重在于按键的控制和各个模块代

28、码的编写,虽然能把键盘 接口和各个模块的代码编写出来,并能正常显示 ,但对于各个模块的优化设计还 有一定的缺陷和不足,比如对按键消抖等细节处并未作出优化。经过此次数字钟的设计,我确实从中学到很多的东西。首先,通过 VHDL硬 件语言的学习,我充分认识到了功能模块如何用语言实现 ,让我初步了解到了一 个数字电路用硬件语言设计的方式和设计思想。其次,也让我深深地体会到实践 的重要性,起初我学V HDL语言的时候,只是学得书本上的知识,经过这次课程设 计,通过对模块的语言实现,对于 VHD L语言我有了更深的认识。而且在程序错 误的发现和改正的过程中,我得到了更多的收获,也确实让我进步了不少。再次, 当我遇到一些问题的时候,请教老师,和同学们一起讨论,令我受益颇多!最后, 这个多功能数字电子钟是自我创造与吸取借鉴共同作用的产物,是自我努力的结果。这让我对数字电路的设计充满了信心。虽然课程设计已经结束,但这并不代 表着我已经真正掌握了 VH DL语言,仍需继续学习!

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报