您好,欢迎来到世旅网。
搜索
您的当前位置:首页verilog实验十七 数字时钟

verilog实验十七 数字时钟

来源:世旅网


实验十七 数字时钟

一、实验目的

设计一个可以计时的数字时钟,其显示时间范围是00:00:00~23:59:59,且该时钟具有暂停计时、清零等功能。

二、实验器材

1、SOPC实验箱

2、计算机(装有Quartus II 7.0软件)

三、实验预习

1、了解时钟设计原理和各主要模块的设计方法。

2、提前预习,编写好主模块的verilog程序。

四、实验原理

一个完整的时钟应由 4部分组成:秒脉冲发生电路、计数部分、译码显示部分和时钟调整部分。

1、秒脉冲发生:一个时钟的准确与否主要取决秒脉冲的精确度。可以设计分频电路对系统时钟50MHz进行50000000分频从而得到稳定的1Hz基准信号。定义一个50000000

进制的计数器,将系统时钟作为时钟输入引脚clk,进位输出即为分频后的1Hz信号。

2、计数部分:应设计1个60进制秒计数器、1个60进制分计数器、1个24进制时计数器用于计时。秒计数器应定义clk(时钟输入)、rst(复位)两个输入引脚,Q3~Q0(秒位)、Q7~Q4(十秒位)、Co(进位位)9个输出引脚。分、时计数器类似。如需要设置时间可再增加置数控制引脚Set和置数输入引脚d0~d7。

3、译码显示部分:此模块应定义控制时钟输入、时分秒计数数据输入共25个输入引脚。

8位显示码输出(XQ7-XQ0)、6位数码管选通信号(DIG0-DIG5)共12个输出引脚。在时钟信号的控制下轮流选择对时分秒输入信号进行译码输出至XQ7-XQ0,并通过DIG0-DIG5输出相应的选通信号选择数码管。每位显示时间控制在1ms左右。时钟信号可由分频电路引出。

五、实验内容

1、启动Quartus II建立一个空白工程并命名。

2、新建VHDL 源程序文件,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。并生成图形符号文件。

代码:

module shizhong(CLK,RST,EN,S1,S2,HOURH,HOURL,MINH,MINL,SECH,SECL);

input CLK,RST,EN,S1,S2;

output[3:0] HOURH,HOURL,MINH,MINL,SECH,SECL;

reg[3:0] SECL,SECH,MINL,MINH,HOURL,HOURH;

always @(posedge CLK or negedge RST)

if(!RST) begin

SECL<=0;SECH<=0;MINL<=0;MINH<=0;HOURL<=0;HOURH<=0;

end//系统复位

else if(EN) //EN为低电平时时钟暂停

begin

if(!S1) //调节小时

begin

if(HOURL==9)

begin HOURL<=0; HOURH<=HOURH+1;

end

else

begin

if(HOURH==2&&HOURL==3)

begin

HOURL<=0;HOURH<=0;

end

else HOURL<=HOURL+1;

end

end

else if(!S2) //调节分钟

begin

if(MINL==9)

begin

MINL<=0;

if(MINH==5) MINH<=0;

else MINH<=MINH+1;

end

else MINL<=MINL+1;

end

else if(SECL==9) //时钟正常跳动状态

begin

SECL<=0;

if(SECH==5)

begin SECH<=0;

if(MINL==9)

begin

MINL<=0;

if(MINH==5)

begin

MINH<=0;

if(HOURL==9) begin HOURL<=0;HOURH<=HOURH+1;end

else if(HOURH==2&&HOURL==3) begin HOURL<=0; HOURH<=0;end

else HOURL<=HOURL+1;

end

else MINH<=MINH+1;

end

else MINL<=MINL+1;

end

else SECH<=SECH+1;

end

else SECL<=SECL+1;

end

else

begin

HOURH<=HOURH;

HOURL<=HOURL;

MINH<=MINH;

MINL<=MINL;

SECH<=SECH;

SECL<=SECL;

end

endmodule

3、波形仿真验证。

正常计数

正常调时调分

末尾正常跳转

清零

暂停

六、实验小结

1、在做实验前应该先充分理解实验原理,并根据原理编写语言。

2、编写语言时要在注意语法错误的同时注意逻辑错误。

3、实验波形中存在毛刺,是因为存在竞争冒险现象。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- esig.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务