用verilog-HDL多功能数字钟.doc

用verilog-HDL多功能数字钟.doc

ID:59519897

大小:728.00 KB

页数:9页

时间:2020-11-06

用verilog-HDL多功能数字钟.doc_第1页
用verilog-HDL多功能数字钟.doc_第2页
用verilog-HDL多功能数字钟.doc_第3页
用verilog-HDL多功能数字钟.doc_第4页
用verilog-HDL多功能数字钟.doc_第5页
资源描述:

《用verilog-HDL多功能数字钟.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VerilogHDL实验报告基于VerilogHDL语言的多功能数字钟设计一、试验目的设计一个有如下功能的数字钟:(1)计时功能:包括时、分、秒。(2)定时与闹钟功能:能在所设定的时间发出铃音。(3)校时功能:对小时、分钟和秒钟进行手动校时。(4)整点报时功能:每到整点能够发出“嘀嘀嘀嘀嘟”四短一长的报时。二、试验原理多功能数字钟端口示意图数字钟设有五个输入端,分别为时钟输入(CLK)、模式(MODE)、产生声音的时钟信号(CLK_1K)、切换(TURN)和调时(CHANGE)键。输出共七个,其中HOUR[7..0]、MIN[7..0]和S

2、EC[7..0]采用BCD计数方式,分别驱动2个数码管。硬件电路原理图如下:三、试验内容1.代码/*信号定义:clk:标准时钟信号,其频率为4Hz;clk_1k:产生闹铃声、报时音的时钟信号,其频率为1024Hz;mode:功能控制信号;为0:计时功能;为1:闹钟功能;为2:手动校时功能;turn:接按键,在手动校时功能时,选择是调整小时还是分钟;若长时间按住改建,还可使秒信号清零,用于精确调时;change:接按键,手动调整时,每按一次,计数器加1;如果长按,则连续快速加1,用于快速调时和定时;hour,min,sec:此三信号分别输出并

3、显示时、分、秒信号,皆采用BCD码计数,分别驱动6个数码管显示时间;alert:输出到扬声器的信号,用于产生闹铃音和报时音;闹铃音为持续20秒的急促的“嘀嘀嘀”音,若按住“change”键,则可屏蔽该音;整点报时音为“嘀嘀嘀嘀嘟”四短一长音;LD_alert:接发光二极管,指示是否设置了闹钟功能;LD_hour:接发光二极管,指示当前调整的是小时信号;LD_min:接发光二极管,指示当前调整的是分钟信号*/moduleclock(clk,clk_1k,mode,change,turn,alert,hour,min,sec,LD_alert,

4、LD_hour,LD_min);inputclk,clk_1k,mode,change,turn;outputalert,LD_alert,LD_hour,LD_min;output[7:0]hour,min,sec;reg[7:0]hour,min,sec,hour1,min1,sec1,ahour,amin;reg[1:0]m,fm,num1,num2,num3,num4;reg[1:0]loop1,loop2,loop3,loop4,sound;regLD_hour,LD_min;regclk_1Hz,clk_2Hz,minclk,h

5、clk;regalert1,alert2,ear;regcount1,count2,counta,countb;wirect1,ct2,cta,ctb,m_clk,h_clk;always@(posedgeclk)beginclk_2Hz<=~clk_2Hz;if(sound==3)beginsound<=0;ear<=1;end//ear信号用于产生或屏蔽声音elsebeginsound<=sound+1;ear<=0;endendalways@(posedgeclk_2Hz)//由4Hz的输入时钟产生1Hz的时基信号clk_1Hz<=~

6、clk_1Hz;always@(posedgemode)//mode信号控制系统在三种功能间转换beginif(m==2)m<=0;elsem<=m+1;endalways@(posedgeturn)fm<=~fm;always//产生count1,count2,counta,countb四个信号begincase(m)2:beginif(fm)begincount1<=change;{LD_min,LD_hour}<=2;endelsebegincounta<=change;{LD_min,LD_hour}<=1;end{count2,c

7、ountb}<=0;end1:beginif(fm)begincount2<=change;{LD_min,LD_hour}<=2;endelsebegincountb<=change;{LD_min,LD_hour}<=1;end{count1,counta}<=2'b00;enddefault:{count1,count2,counta,countb,LD_min,LD_hour}<=0;endcaseendalways@(negedgeclk)//如果长时间按下“change”键,则生成“num1”信号用于连续快速加1if(count

8、2)beginif(loop2==3)num2<=1;elsebeginloop2<=loop2+1;num2<=0;endendelsebeginloop2<=0;num2<=

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

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

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