- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业设计论文-数字闹钟的电子设计
数字设计
数字闹钟的电子设计
班 级: 04通信
学 号:
姓 名:
目 录
1、设计目的…………………………………………………… 3
2、设计选题…………………………………………………… 3
3、设计要求……………………………………………………… 3
4、分析要求和总体设计………………………………………… 3
5、详细设计过程及遇到的困难与解决方法………………… 4
6、顶层设计………………………………………………… 16
7、设计感想………………………………………………… 19
附:参考文献及程序……………………………………… 20
设计目的:
1. 通过设计,掌握电子设计的一般思路,学习电子设计的一般方法.
2. 通过设计,学习掌握MAX-PLUS2的使用方法.
设计选题
通过小组成员讨论,决定做数字钟的设计.
设计要求
设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校准时间,每逢整点,产生报时音报时。
分析要求和总体设计
根据老师所给设计要求规纳有以下需求的功能:
[1].计时功能:这是本数字钟设计的基本功能,每隔一秒钟计时一次,并在显示屏上显示当前时间.
[2].闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出报警声.
[3].校时功能:设置新的时间作为当前时间.
[4].设置闹钟:设置闹钟时间.
[5].整点报时:每逢整点则报时.
根据需求分析,我们采用自顶向下的方法确定数字钟的总体实现思路如下:
要实现以上的功能,经过分析我们设计了四个模块.分别是:计时模块,校时功能模块,闹钟功能模块和选择显示模块.
根据自顶向下的设计方法确定数字钟的设计方案.为完全实现上面的4个功能,我们进一步向下进行功能划分,得到更详细的设计方案如下:
各模块具体实现的功能及彼此之间的数据流流动方向:
[1].计时模块:
计时器的设计采用一般的计数器的设计方法,只是模60的秒计数器满60送进位输出,作为分计数器的CLK时钟信号.同理, 模60的分计数器满60送进位输出,作为时计数器的CLK时钟信号,这样就实现了电子时钟计数的雏形,以上是计时模块内部的数据流流向;由于要显示,所以必须还要有一个输出来表示现在的计数值,这个计数值应该送到选择显示模块进行显示,这是计时模块与外部的数据交换.
[2]. 校时功能模块:
校时电路用来完成对计时时间以及闹钟时间的修改与校正,修改后的时间应该要送到相应的计数模块作为新计数的起始值,所以要有输出端将修改后的数值送到相应的计数模块.
[3]. 闹钟功能模块:
比较当时的时间是否与闹钟设置的时间相等,如果相同则应该发出通知,告诉用户时间到了,有点类似于比较器.因此要能从计时模块获得当时时间,从校时模块获得设置的闹钟时间,要能将结果输出作为提示.
[4]. 选择显示模块
根据所在的状态,选择输出正在设置的新计数时间或新闹钟时间或当前计数时间.
详细设计过程及遇到的困难与解决方法
计时模块的设计
[1].模60的计数器的设计:
(a).实现方案:
采用一般的计数器的设计方法,每来一个CLK时钟信号(T为1秒),计数值加1;如果计数到59,输出一个进位,表示一个周期.
(b).实现过程中的问题及解决方案:
通过以上分析,我做了初步的设计,在机子上输入草稿上的程序后,通过提示,发现以下的几个错误:
对于第一个提示错误,我通过将SIGNAL中的BUFFER去掉即可,由于我输出的Q_OUT中定义的是BUFFER,所以为了省时间直接拷贝,粗心而导致的错误.因为这里不是在定义引脚,而只是内部的连接线定义,但BUFFER是相当于带输出缓冲器并可以回读的引脚,所以肯定是错误的.
上面这个图是我改正了几个小错后才保存的,其它一些错误的提示就没有在上面.
还有两个错误是:
我在定义端口时,定义了输出EN,并且在PROCESS的敏感参数表中列出来了,但在后面却没有用到,所以提示出错.
在PROCESS的敏感参数表中忘记写CLK信号,却写了一个输出引脚,这是致命性的错误.
在输入过程中的手误,将QL=9写成了QL=’9’,提示出错,明显要么写成QL=”1001”.
其它,逻辑上倒没有出错,因为这是参照EDA教材上187页的具有异步复位\同步置数功能的计数器改写的.
仿真图如下,为了便于观察分析,我在这设的END TIME是13微秒.
以上是我在单独设计模60计数器时写下的,但在顶层设计时,发现如果按上面这个设计结果,将无法将新设置的时间作为新的起始计数时间.经分析只要增加一个输入用来接受新的设置值,相
文档评论(0)