- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课题名称数字钟(Digital Clock)
PAGE
Zs Page PAGE 18 DATE \@ M/d/yyyy 2/27/2007
课题名称:数字钟(Digital Clock)
摘要
本次实验我选择的是以EPM7128SLC84-15为软件载体,数码管作显示器件,蜂鸣器作提示器件,拥有4个按键的数字钟,可以实现正常计时、手动校时、12/24时制切换和整点报时功能。
在正常计时状态下,用户可以选择12或24小时的计时方式,在12时制时通过数码管的‘A’或‘B’来区分上午和下午;也可以设置或取消整点报时的功能(蜂鸣器作整点报时的提示设备)。同时,数码管会有相应的显示来指示当前电子钟的设置。
当用户通过按键进入校时状态时,闪烁的位数便是当前调节的数;用户可以通过按键2选择要调的位,并用按键3对选择位的数字进行修改。
程序部分主要由VHDL语言编写,编译环境采用的是MAX+plus II。主要分为分频、按键防抖动、模式控制、计时校时、显示输出、myclock六个模块。
关键字:
·时钟状态:即mode,分为正常计时(mode=0)和校时(mode=1)两个状态;
·12/24 hour:即tm,tm=1为12小时制;tm=0为24小时制;
·防抖动模块的基准频率:
·按键操作会产生上升沿,只有当两个上升沿发生在不同的基准周期时才被看作是两次按键;
·正常计时的基准频率:1Hz
·选择位:在校时操作时,用户操作的当前位,可以是时分秒的低位或高位,从硬件显示上看,就是在校时状态下,闪烁的那一位。
程序设计部分
·简要说明:数字闹钟是由振荡器、分频器、计时电路、调时电路等组成的.当数字钟走时出
现误差,可以对数字钟作手动时、分时间校正.
·设计要求:设计并制作一台能显示时、分、秒的数字钟。
(1)可手动校时,能分别进行时、分的校正;
(2)12小时(含上下午显示)、24小时计时制可手动选择;
(3)选做:整点报时。
(4)选做:闹铃功能,当计时计到预定时间时,蜂鸣器发出闹铃信号,闹铃时间为1秒,可提前终止闹铃。
(5)选做:自拟其它功能。
·总体设计思想
1、系统结构框图
防抖动模块
防抖动模块
显示译码模块
用户按键输入
1Mhz
20Hz
1Hz
1KHz
12/24小时转换
时间校正模块
计时模块
分频模块
防抖动处
理后的输入
当前时刻
当前状态
数码管输出
整点报时
2、设计方案
在选择具体如何编写程序上有两种方案,一种是将所有功能设计好,程序结构制定完备后,将代码写入一个或几个文件里。这种方案增大了软件的集成度与专用性,减少了处理过程中的中转信号或变量所占用的空间,但是修改起来较麻烦,适合程序编写熟练者;另一种是将程序模块化,各模块提供相应的接口,一个模块一个文件,改动起来很方便。
由于在最初编写时要考虑到写的程序是否会因为过大,而无法下载到EPM7128SLC84-15的问题, 为了减少在修改过程中的困难,我选择将程序模块化,这样看以来简单明了更易于修改。
3、总体思路
软件功能设计
基本功能——正常计时,手动校时(能分别进行时、分的校正)
基本附加功能——12/24小时制的手动选择,采用12小时制时有上下午标记;
外设说明:
8个数码管
左一指示整点报时是否设置,若已设置则中间的一横会亮,否则不亮;
左二指示12小时制下的上下午,以字母A、P表示
剩下的六个从左向右依次为时分秒的高低位
4个按键
Key1:模式选择按键,使时钟状态在正常计时和校时状态之间变换;
Key2:功能1:校时状态下,选择用户想要操作的位;
功能2:正常计时状态下,设置或取消整点报时共能;
Key3:校时状态下,按一次给当前选择位的数字加一;
Key4:在正常计时状态下,选择12/24小时制;
一个蜂鸣器
在整点报时功能设置的状态下,在整点时刻鸣叫一秒。
4、模块具体功能说明
1)总输入输出:Input:keyx (x=1~4)
Output:时分复用的选择信号SEL[7..0]:选择对哪个数码管进行控制
段选择信号F[7..0]控制某数码管的那些段显亮。
BEE:整点报时所接的蜂鸣器响蜂鸣一秒整点报时
2)分频模块细化:模块(fenpin )分别产生ck_1k,ck_20,ck_1,用于数码管显示、按键防抖和基本计时;
3)防抖动模块细化:在每个按键后加一个防抖动模块(fangdou)(一共4个);
4)时间处理模块细化:模式控制(mode)和计时校时(clk_jishi);
5)显示模块:提供相应接口,输出块选择、段选择信号。
5、状态转移图
Mode/tm/ock
Key1
Key1
000
010
011
100
110
111
校时
011
101
Key2
Key1
Key1
Key1
Key2、3
Key2、3
Key2、3
Key4
原创力文档


文档评论(0)