数字钟verilog

上传人:枫** 文档编号:489951393 上传时间:2023-08-17 格式:DOCX 页数:28 大小:160.44KB
返回 下载 相关 举报
数字钟verilog_第1页
第1页 / 共28页
数字钟verilog_第2页
第2页 / 共28页
数字钟verilog_第3页
第3页 / 共28页
数字钟verilog_第4页
第4页 / 共28页
数字钟verilog_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数字钟verilog》由会员分享,可在线阅读,更多相关《数字钟verilog(28页珍藏版)》请在金锄头文库上搜索。

1、目 录1 设计任务及要求12 总体设计分析13 各模块设计23.1 数字钟主体部分23.1.1小时计数器23.1.2 分、秒计数器33.2 分频部分43.3 秒表模块53.4 闹钟模块53.5 时间设置模块73.6 报时模块73.7 控制显示模块83.8 顶层模块114 总结114.1 本次作业遇到的问题114.2 建议和总结12附件131 设计任务及规定本次大作业的规定为设计一种多功能数字钟,其具体规定如下: 1.有基本的实时数字钟显示功能,即时、分、秒的正常显示模式,并且在此基本上增长上,下午显示。 .手动校准。按动方式键,将电路置于校时状态,则计时电路可用手动方式校准,每按一下校时键,时

2、计数器加1;按动方式键,将电路置于校分状态,以同样方式手动校分。 3整点报时,仿中央人民广播电台整点报时信号,从59分0秒起每隔2秒发出一次低音“嘟”信号(信号鸣叫持续时间,间隙时间)持续5次,达到整点(分0秒时),发一次高音“哒”信号(信号持续时间S)。 .闹时功能,按动方式键,使电路工作于预置状态,此时显示屏与时钟脱开,而与预置计数器相连,运用前面手动校时,校分方式进行预置,预置后回到正常模式。当计时计至预置的时间时,扬声器发出闹铃信号,时间为半分钟,闹铃信号可以用开关“止闹”,按下此开关后,闹铃声立即中断,正常状况下应将此开关释放,否则无闹时作用。.秒表功能。按start键开始计秒,按t

3、p键停止计秒并保持显示数不变,直到复位信号加入。2 总体设计分析 设计的总体部分按照规定可以分为基本的数字时钟显示、手动校准、整点报时、闹钟功能和秒表功能大部分。其总体设计框图如下:秒 表闹 钟手 动 校 准整 点 报 时 数字钟 图1 总体设计框图 其中整点报时跟闹钟部分规定不同频率的声响,因此需要加入分频器模块将输入的的分频产生500Z及的方波信号,其中HZ的信号相应1S的周期,可以用作时钟秒的显示及秒表部分。3 各模块设计 根据总体设计以及各分模块的需要,将分立模块分为7个部分运用veilog D编程来实现。其分别为数字钟主体部分、手动设立、分频、整点报时、闹钟功能、秒表、控制显示和顶层

4、8个模块。下面将对各个模块的设计思想做一具体的简介。3.1 数字钟主体部分数字钟主体小时计数器分计数器秒计数器24进制计数器60进制计数器6进制计数器10进制计数器12(下午) 数字钟主体部分重要由三个计数器构成,涉及1个4进制计数器,作为小时计数器,2个60进制计数器分别作为分计数器和秒计数器。一种60进制计数器由一种6进制计数器和一种1进制计数器构成,由于都是比较简朴的计数器,因此在用erilo设计时作为一种整体部分进行编程实现。同理小时计数器也作为整体部分来编程实现。设计的流程框图如下图2所示。 图2数字钟整体部分设计框图3.1小时计数器 在vei程序设计中,小时计数器为ou_onter

5、模块,其中or_dat0为24进制计数器的低位,即4进制计数器,or_data1则为高位,进制计数器。编程用alays语句实现,并且用clk上升沿触发实现计数。N为使能端,高电平有效。zx为显示早上、下午的标志位,其中不不小于2点之前为早上,zox为0,否则ox输出为1表达下午。其uar仿真波形如下图3所示,由于verilogHDL程序显示不便,均附在附件上,下面各模块相似。 图3 小时计数器仿真 从仿真图中可以看出,当使能信号信号为高电平且始终上升沿到来时计数器开始计时,hour_d0计数为130的计数规律,即进制计数器,同理ur_dta1为2进制计数器,zox信号由图中看出当不不小于12小

6、时的时候输出为,不小于2小时时输出为1,与估计效果相似。.1.2 分、秒计数器由于分、秒计数器均为60进制计数器,因此以分计数器作为示例阐明其编程思想。其中分计数器模块在程序中为inutecot程序段,由上面分析得分计数器由一种十进制计数器与一种六进制计数器构成,程序中有minut_ta0表达分计数器低位即10进制计数器,miute_dta1表达分计数器的高位为一种六进制计数器(秒计数器的低位、高位分别由scod_data、secod_data1表达,其他均与分计数器相似)。其他信号定义与小时计数器相似,为时钟信号,时钟周期为1Z,即1,与小时计数器不同的是,EO为进位信号,即到0后自动进位。

7、Minudaa0、 mnute_daa1、cod_daa、seco_daa位宽均为位eg型变量。仿真示意图如下图4所示。 图 分计数器仿真成果由图中可以看出,当使能端信号端N变为1的时候,计数器开始计时,minuteata0计数规律为034567891当计数到9的时候,minuedata1加1,minte_data1计数规则为0123401当高位inue_d计数到5的时候,进位信号变为1。秒计数器econdcoue模块与分计数器完全同样,这里不再赘述。.2 分频部分分频器的功能重要有三个:一是产生计时用的原则秒脉冲1HZ信号;二是提供仿电台用的1kZ高音频信号和0HZ低音频信号;三是闹钟设立时

8、用的200Z闪烁信号和闹钟响铃用的0H音频信号。所用输入信号为1k的高频信号。根据分析可知,1HZ方波信号通过2分频可以得到500Z方波,通过5分频得到20Z信号,最后将分频得到的00HZ信号作为分频HZ的时钟,通过20分频得到1Z的信号。设计框图如下图5所示。2分频5分频1kHZ信号(clk)500HZ(f500hz)200HZ(f200hz)1HZ(f1hz)200分频 图 分频信号框图在程序设计的过程中,在复位信号rst为高电平时分频器工作,输入信号为1HZ的高频信号,分别通过2分频、5分频、00分频得到f00Z的500HZ信号、f200H的200HZ信号和f1HZ的1H信号。仿真成果如

9、下图6所示。 图6 分频信号成果仿真图从仿真图中可以看到,在rst为高电平时分频过程开始,HZ、f20HZ和fH也与预期的输出成果同样。3. 秒表模块秒表模块实现秒表功能,在实现的过程中,通过变化自动工作模式下的时钟频率来实现秒表的功能。即按动sta键闹钟开始工作,再次按动stat键,闹钟便停止工作。由于秒表模块比较简朴,流程图在此省略。根据分析,在vro HDL实现过程中,lk作为时钟正常工作时候的频率,f0为秒表工作时候的频率,仿真成果如下图7所示。 图7 秒表仿真模块 由图中可以看出,根据start高下电平的变化,时钟在正常工作与秒表之间互相转换。3.4 闹钟模块闹钟模块实现的是闹钟的设

10、立及闹钟所设定的时间到之后的响铃提示。闹钟模块的设立重要思想是由控制键来设立数字钟的闹钟响的时间,通过与目前数字钟实时时间的比较,来决定闹钟提示的时间。设计框图如下图8所示。hour0hour1minute0minute1hour_set0hour_set1minute_set0minute_set1设立时间与目前时间的比较不相等相等con_alarm01闹钟不响alarm=0闹钟响alarm=1 图8 闹钟模块设计框图在erilo H实现的过程中,由SW1、SW2两个调节键来实现,其中SW1为移位控制键,即按W1一次,将移位一次,闪烁显示目前设立为数字,SW2为目前位的闹钟数字设立,每按SW

11、一次,目前数字设立位数字增长1,每一位上数字变化范畴由目前位循环上限决定,不会超过范畴。E为设立使能端,为1有效。r、ho0、minute1和mite0分别为目前时间每个位上显示的数字,hou_et、our_et0、mine_et和minutset0为与目前时间所相应的每一位上设立的时间显示,f20hz为闹钟设立过程中显示闪烁的频率。Cn_alar为闹钟响铃的控制键,其值为时,表达闹钟已设立,并且在闹钟响的时候,如果设立其值为0,则闹钟关闭。Alr为闹钟响铃提示输出,即设定期间届时alm值为1,否则为0。Armclock_sp_sle为闹钟设立中位选信号,为4位eg型变量,其值采用独热编码,为

12、100、0100、00和001分别表达设立过程中hour1、or0、nu1和minute0四个位。其仿真成果如下图所示。 图9 闹钟模块仿真示意图 由于设立波形输入的时候如果调节过多,将不容易看出仿真成果的对的与否,因此图中输入比较简朴,以便可以更好地分析仿真成果。由图中可以看出,通过SW的两次调节,位选信号alarmclcdispsele的值为0,表达此时的设立位为hort0位,SW2键将其值设立为0001,其她位均为000,然后在与目前时钟时间相等的状况下,并且在on_alarm值为1的时候闹钟响,即alarm值输出为1,在目前时间与闹钟时间仍然相等的状况下,将闹钟控制键nlarm值设立为

13、0,闹钟停止,即alarm值为0。较好的完毕了闹钟的功能。. 时间设立模块 时间设立模块实现的功能为通过按键调节可以对目前时间进行手动控制。其重要是在时间设立使能端有效地状况下通过1和W2两个按键对数字钟的小时和分钟数进行调节。Disp_de为设立中的显示控制,即通过W1对位的调节,Dispdrve随之变化。SW2为对每一位上的数字在其范畴内进行加1调节,其调节过程与闹钟模块相似。i_drive取值000、01、0和1分别相应hou、hour0、mie1和mnue0的设立。urtu下仿真成果如图所示。 图10 时间设立模块仿真效果 图中,hor_set、hour_set1、mnute_et0和itest为设立后的时间。可以看到,目前给的our0为0010,o的值001,在SW通过一次高电平之后,dp_drve的值变为0,对hur0进行设立,加1之后hur_se0变为01,SW再按一下,变为0010,在S2两次高电平之后

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号