- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
一、 设计目的 1
二、 设计任务及要求 2
三、 设计方案 2
四、 数字钟组成框图 3
五、 数字钟的工作原理图 3
六、 数字钟子模块的设计 4
1、分频器的实现 4
2、秒计数器的实现 5
3、分计数器的实现 7
4、时计数器的实现 9
5、D触发器的实现 10
6、分时扫描加译码显示模块的实现 11
七、 引脚锁定图 13
八、 实验结果 13
九、 总结感想 15
十、 参考文献 16
数字钟设计
摘要:数字钟已成为人们日常生活不可或缺的用品,它广泛应用于家庭及车站、码头、剧场、办公室等公共场所,给人们的生活,学习,工作,娱乐带来了极大的方便,由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确,性能稳定,携带方便等特点,它还用于计时,自动报时及自动控制等各个领域。数字钟一般由振荡器,分频器,译码器,显示器等部分组成。尽管目前市场上有现成的数字钟集成电路芯片,价格便宜,但这些都是数字电路系统中最基本的、应用最广的电路。数字中是将“时”,“分”,“秒”显示于人的视觉器官的计时装置。本文介绍的数字钟的周期是12小时,显示满刻度为11小时59分59秒,另外还有校时功能。
关键词: 数字钟 计时器 VHDL语言 CPLD
一、 设计目的
1、掌握十进制、六进制、十二进制的设计方法;
2、掌握多位计数器相连的方法;
3、掌握多位共阳极显示数码管的驱动及编码;
4、掌握CPLD层次化设计结构方法;
二、 设计任务及要求
⑴ 有时、分、秒的功能,分别由6个数码管显示12小时、60分钟、60秒钟的计数器显示,具有时间设定功能。
⑵ 按下switch1键能够全部清零,显示00-00-00。
⑶ 按下switch2键能够使计时器数字增加,按11小时循环,计满11小时后回到00,可以进行时钟校正。
⑷ 按下switch3键能够使计分器数字增加,按59分钟循环,计满59分钟后回到00,可以进行分钟校正。
三、 设计方案
采用模块化设计方法,该计数时钟系统由模60秒计数模块,模60分计数模块,模12小时计数模块、分/时设定模块及输出显示模块构成。秒计数模块的进位输出为分计数模块的进位输入,分计数模块的进位输出为小时计数模块的进位输入。
该数字钟可以实现2个功能:计时功能、和重置时间功能,因此有2个子模块:计时、重置时间(S1、S2、S3)。其中计时模块有3部分构成:秒计时器、分计时器和时计时器。
四、 数字钟组成框图
五、 数字钟的工作原理图
原理图说明:1MHZ的信号经过第一个f1000分频得到1000HZ的信号送往扫描分时模块,1000HZ的信号在经过一个f1000分频得到1HZ的信号送给秒计数器,秒计数器的输出进位为分计数器的输入,分计数器的进位输出为时计数器的输入,最后三个模块的输出全部送给分时扫描模块处理输出到数码管显示,1000HZ的信号保证了人眼看数码管显示同时亮,而实际情况是依次点亮的。
六、 数字钟子模块的设计
1、分频器的实现:通过两个f1000的分频得到1HZ的频率信号
分频器原理图
b)、分频程序:
library ieee;
use ieee.std_logic_1164.all;
entity f1000 is
port(clk:in std_logic; 时钟信号的输入;
q1000:out std_logic);
end f1000;
architecture one of f1000 is
signal x:std_logic;
begin
process(clk)
variable cnt:integer range 0 to 499;
begin
if clkevent and clk=1then
if cnt499 then
cnt:=cnt+1;
else
cnt:=0;
x=not x;
end if;
end if;
q1000=x;
end process;
end one;
c)、分频器仿真波形:
2、秒计数器的实现:通过一个十位和六位计数器组成六十进制的计数器
a)、秒个位计数器原理图:
秒个位程序:由十进制计数器构成
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clk: in std_logic; 1HZ的时钟信号;
ena: in std_logic; 清零信号;
cq:out std_logic_vect
文档评论(0)