verilog实验十七 数字时钟.docx

上传人:b****7 文档编号:10183706 上传时间:2023-02-09 格式:DOCX 页数:8 大小:182.49KB
下载 相关 举报
verilog实验十七 数字时钟.docx_第1页
第1页 / 共8页
verilog实验十七 数字时钟.docx_第2页
第2页 / 共8页
verilog实验十七 数字时钟.docx_第3页
第3页 / 共8页
verilog实验十七 数字时钟.docx_第4页
第4页 / 共8页
verilog实验十七 数字时钟.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

verilog实验十七 数字时钟.docx

《verilog实验十七 数字时钟.docx》由会员分享,可在线阅读,更多相关《verilog实验十七 数字时钟.docx(8页珍藏版)》请在冰豆网上搜索。

verilog实验十七 数字时钟.docx

verilog实验十七数字时钟

实验十七数字时钟

一、实验目的

设计一个可以计时的数字时钟,其显示时间范围是00:

00:

00~23:

59:

59,且该时钟具有暂停计时、清零等功能。

二、实验器材

1、SOPC实验箱

2、计算机(装有QuartusII7.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、启动QuartusII建立一个空白工程并命名。

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

并生成图形符号文件。

代码:

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

inputCLK,RST,EN,S1,S2;

output[3:

0]HOURH,HOURL,MINH,MINL,SECH,SECL;

reg[3:

0]SECL,SECH,MINL,MINH,HOURL,HOURH;

always@(posedgeCLKornegedgeRST)

if(!

RST)beginSECL<=0;SECH<=0;MINL<=0;MINH<=0;HOURL<=0;HOURH<=0;

end//系统复位

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

begin

if(!

S1)//调节小时

begin

if(HOURL==9)

beginHOURL<=0;HOURH<=HOURH+1;

end

else

begin

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

begin

HOURL<=0;HOURH<=0;

end

elseHOURL<=HOURL+1;

end

end

elseif(!

S2)//调节分钟

begin

if(MINL==9)

begin

MINL<=0;

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

elseMINH<=MINH+1;

end

elseMINL<=MINL+1;

end

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

begin

SECL<=0;

if(SECH==5)

beginSECH<=0;

if(MINL==9)

begin

MINL<=0;

if(MINH==5)

begin

MINH<=0;

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

elseif(HOURH==2&&HOURL==3)beginHOURL<=0;HOURH<=0;end

elseHOURL<=HOURL+1;

end

elseMINH<=MINH+1;

end

elseMINL<=MINL+1;

end

elseSECH<=SECH+1;

end

elseSECL<=SECL+1;

end

else

begin

HOURH<=HOURH;

HOURL<=HOURL;

MINH<=MINH;

MINL<=MINL;

SECH<=SECH;

SECL<=SECL;

end

endmodule

3、波形仿真验证。

正常计数

正常调时调分

末尾正常跳转

清零

暂停

六、实验小结

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

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

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1