基于.verilog数字钟设计报告

基于.verilog数字钟设计报告

ID:21588355

大小:93.50 KB

页数:20页

时间:2018-10-23

基于.verilog数字钟设计报告_第1页
基于.verilog数字钟设计报告_第2页
基于.verilog数字钟设计报告_第3页
基于.verilog数字钟设计报告_第4页
基于.verilog数字钟设计报告_第5页
资源描述:

《基于.verilog数字钟设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、专业技术资料分享一、课程设计目标1.熟悉并掌握verilog硬件描述语言2.熟悉quartus软件开发环境3.学会设计大中规模的数字电路,并领会其中的设计思想二、课程设计实现的功能(1)设计一个数码管实时显示时、分、秒的数字时钟(24小时显示模式);(2)可以调节小时,分钟。(3)能够进行24小时和12小时的显示切换。(4)可以设置任意时刻闹钟,并且有开关闹钟功能。(5)有整点报时功能,几点钟LED灯闪亮几下。(6)有复位按键,复位后时间从零开始计时,但闹钟设置时间不变。三、设计原理:1、总原理框图:译码显示模块切换12进制显示复位分钟校正小时校正分频模

2、块计数模块是输出整点报时信号到达整点输出闹钟信号是否到闹钟时间设置闹钟分钟设置闹钟小时模式选择模块是2、各个子模块设计:WORD文档下载可编辑专业技术资料分享(1)、分频模块:分频模块的作用主要是要获得各种频率的时钟信号。输入信号为50MHZ的信号,要想获得1HZ的信号作为秒脉冲计时,则要对50MHZ信号分频。通过计数的方式,当计数从0开始到24999999时,1HZ信号取反一次,计数又从0开始,如此循环,就可以得到1HZ脉冲信号。对于其他信号也是如此,只是计数值不一样,得到的分频信号不同。部分代码如下:always@(posedge_50MHZorne

3、gedgenCR)beginif(~nCR)beginQ1<=32'd0;endelseif(Q1>=32'd24999999)beginQ1<=32'd0;_1HZ=~_1HZ;endelsebeginQ1<=Q1+1'd1;end(2)、计数模块:秒计数:在1HZ脉冲下进行秒计时,当计时达到59秒后,在下一个脉冲来临变0,并发出一个脉冲信号,可供下面分钟计数作为输入脉冲信号计时。分钟计数:在输入脉冲下,分钟开始计时,当计时达到59后,在下一个脉冲来临变0,并发出一个脉冲,供小时计数的输入脉冲新号。小时计数:脉冲信号来临时,计数加1,达到23后在下一个

4、脉冲的作用下清零,从新计时。如果有复位信号,则时分秒全部清零。部分代码如下:modulesecond(cp,reset,mode_flag,BT2,SH,SL,co);inputcp,reset,BT2;input[3:0]mode_flag;outputco=1'b0;//输出脉冲信号regco;output[3:0]SL,SH;//输出秒计时的十位、各位reg[3:0]SH,SL;reg[7:0]cnt;always@(posedgecpornegedgereset)beginif(!reset)begin//有复位,清零cnt<=8'd0;WORD

5、文档下载可编辑专业技术资料分享SH<=4'd0;SL<=4'd0;endelseif((mode_flag==4'b0010)&&(!BT2))begin//如果分钟调节,秒清零cnt<=8'd0;SH<=4'd0;SL<=4'd0;endif(cnt==8'd59)//计时达到59,下一个脉冲下从新计时begincnt<=8'd0;SH<=4'd0;SL<=4'd0;co<=1'b1;endelsebeginco=1'b0;cnt=cnt+8'd1;SL<=cnt%10;//秒十位SH<=cnt/10;//秒各位endendendendmodule分计

6、时和小时计时代码和上述类似,不再举出。secondu4(_1HZ,reset,mode_flag,Keydone2,SH24,SL24,co1);minuteu5(co11,reset,MH24,ML24,co2);houru6(co22,reset,HH24,HL24);(2)、模式选择模块:同过一个模式档按键MODE,按一下产生对应一种模式mode_flag,并且可以循环。在不同的模式下可以进行不同的操作。其中mode_flag=4'0000为正常显示计时,mode_flag=4'0001为小时调钟模式,mode_flag=4'00010为分钟调钟模

7、,mode_flag=4'0011为闹钟小时设置模式,mode_flag=4'0100为闹钟分钟设置模式。模式产生:modulemode(MODE,mode_flag);inputMODE;output[3:0]mode_flag;reg[3:0]mode_flag;always@(negedgeMODE)begin//如果检测到有按键按下mode_flag=mode_flag+4'b1;//模式值加1if(mode_flag==4'b0101)//到最后一个模式后返回第一的模式mode_flag=2'b0;ndEndmoduleWORD文档下载可编辑专

8、业技术资料分享模式选择:modulemode_choose(mode_flag,

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

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

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