- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字钟的设计正文,数字钟的设计,数字钟的设计与制作,基于fpga的数字钟设计,多功能数字钟的设计,基于vhdl的数字钟设计,单片机的数字钟设计,fpga数字钟的设计,功能数字钟的电路设计,数字钟课程设计
目录
1 前言 1
2 总体方案 2
3 模块设计 3
3.1分频模块的设计 3
3.2计数器的设计 4
3.2.1 秒计数器的设计 4
3.2.2分计数器的设计 5
3.3.2 时计数器的设计 6
3.3 校时电路的设计 7
3.4 报时闹钟 9
3.5 显示模块 13
4 功能仿真 15
4.1 分频模块 15
4.2秒计数器模块 15
4.3 分计数器模块 16
4.4 时计数器模块 17
4.5 校时模块 17
4.6报时闹钟模块 18
4.7显示模块 19
5 总结 20
6 参考资料 21
附录一:整体原理图 22
附录二:硬件电路图 23
1 前言
伴随着电子技术和计算机技术的发展,在现代数字系统设计中,EDA技术已经成为一种普遍的工具,电子系统的设计理念和设计方法也发生了深刻的变化,从电子CAD、电子CAE到电子设计自动化(EDA,Electronic Design Automation )技术,EDA技术的发展和推广应用极大地推动了电子信息产业的发展。
本次设计就是关于EDA技术的一个数字钟课程设计,数字钟被广泛用于个人家庭,车站,办公室等公共场所,已经成为人们日常生活中的必需品,钟表的数字化给人们生存生活带来了极大的方便,而且 也扩展了原先的报时功能。例如定时广播、自动启闭路灯,定时自动报警,甚至各种定时电气的自动启动等,所有的这些都是基于钟表数字化的为基础的,EDA技术的应用广泛,现已涉及各行各业,EDA水平不断提高,设计工具不断趋于完善。
此次数字钟的内容就是掌握多位计数器相连的方法,掌握10进制、6进制、24进制计数器设计的方法掌握用VHDL语言的设计思想以及整个数字系统的设计,同时要掌握FPGA、CPLD技术的层次设计方法。
2 总体方案
数字时钟由振荡器、分频器、计数器、报时电路、译码器、显示器、校时电路等几部分组成。其组成框图如下图所示。
图2.1 数字钟的组成框图
3 模块设计
3.1分频模块的设计
振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。它的选频特性好,只有某一点的信号才可以通过它而其它频率段的信号将会被它衰减。一般来说,振荡器的频率计越高,计时器精度越高。然后在利用分频电路,将振荡电路输出的信号转变为秒信号。分频器的功能主要有两个:一是产生标准秒脉冲信号;二是提供报时电路所需的信号。晶体振荡器电路给数字钟提供了一个频率3kHz的方波,其输出至分频。
图3.1分频原理图
分频模块的程序如下所示:module fdiv(
clk,
f200hz,
f60hz,
f1hz
);
output f200hz,f60hz,f1hz;
input clk; //3KHz input
reg f200hz,f60hz,f1hz;
integer CNT1=0,CNT2=0,CNT3=0;
always @(posedge clk)
begin
if(CNT1 4)
begin
CNT1 = CNT1 + 1;
f200hz = 1b0;
end
else
begin
CNT1 = 0;
f200hz = 1b1;
end
end
always @( posedge f200hz)
begin
if(CNT2 2)
begin
CNT2 = CNT2 + 1;
f60hz = 1b0;
end
else
begin
CNT2 = 0;
f60hz = 1b1;
end
end
always @(posedge f200hz)
begin
if(CNT3 199)
begin
CNT3 = CNT3 + 1;
f1hz = 1b0;
end
else
begin
CNT3 = 0;
f1hz = 1b1;
end
end
end modul
3.2计数器的设计
3.2.1 秒计数器的设计
秒、分计数器都是模M=60的计数器,其计数规律为00-01=…-58-59-00…。都是60进制的,由一级10进制计数器和一级6进制计数器连接构成的。CLK作为秒脉冲,接按键,当秒计数记到59秒后产生分脉冲,秒计数又重新从0开始计数。
图3.2 秒计数器原理图
秒计数器的程序如下:module
second_ counter(EN,clk,second_data1,second_data0,EO);
output [3:0] second_data1,second_data0;
output EO;
input clk, EN;
reg [3:
文档评论(0)