简易时钟设计教程方案.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 一、系统总体方案选择与说明 1 二、设计框图与工作原理 2 2.1设计框图 2 2.2工作原理 3 三、各单元硬件设计说明及计算方法 4 四、软件设计与说明 5 4.1程序设计流程图 5 4.2程序设计步骤 7 4.2.1延时程序 7 4.2.2主程序的设计 7 4.2.3中断服务程序的设计 8 4.2.4显示控制子程序的设计 8 4.2.5按键控制程序的设计 8 五、调试结果及说明 8 5.1软件调试 8 5.2硬件调试 9 六、各元件的使用说明 10 6.1AT89C51芯片 10 6.2数码管 11 6.3按键 11 七、总结 11 八、参考文献 12 九、附录 13 附录A 13 附录B 14 系统总体方案选择与说明 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试3个过程。如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。基于单片机设计的数字钟精确度较高, 因为在程序的执行过程中, 任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。另外,程序较为简洁,具有可靠性和较好的可读性。 针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构[7]。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为显示程序调时显示 图一 工作原理: 在整个系统中首先要做的是将要实现功能的软件程序编写好,在程序编写好以后对其进行仿真调试,直到仿真结果和所需结果一致;其次要做的就是焊接出硬件即单片机开发板,在焊接好的开发板中对开发板进行检测看其是否能工作;在开发板能工作后,将软件程序下载到硬件开发板的芯片中,进行调试直到硬件中所示的结果和自己设计所需的结果一致。 各单元硬件设计说明及计算方法 这部分介绍各模块电路的硬件设计方法和成果,主要分为:输入部分、输出部分、复位。对于输入部分有时钟和跑表功能切换键,有对时钟的时、分、秒进行调整的按键;而输出部分则是电路的显示部分,将AT89C51的输出与数码管连接起来就构成了该硬件电路的显示部分。对于硬件个元件的来源,我们先把单片机开发板焊接好,在焊接的过程中初步的了解一下开发板的内部结构以及各元件之间的关系,以便于在后续的下载连线工作中能够正确的、快速的连接好线,以便下载,焊接好开发板后,接下来就是测试开发的好坏,好的话就完成了硬件的设计,坏的话就将其原因查出重新焊接直到开发板能够下载程序,为后续的下载做好准备。下面分别来介绍一下各个部分。 输入部分: 在电子钟的输入部分,设置相应的置数功能,通过外部设备的输入,如按键,实现时间的修改。在选用输入端口时,将P1引脚与按键相连进行输入。设计的输入部分如图二: 图二 输出部分: 在电子钟的输出部分,与数码管相连显示出时、分、秒,在显示中其数字的输出在P0口,数码管有共阳和共阴之分,根据自己的软件程序的编写来选择不同的数码管和数码管的个数,以及正确的连接数码管的驱动电路。设计的输出部分如图三: 图三 硬件的计算是简单的计算,其要计算需要多少个数码管来显示,以及多少个开关来控制该电路,本硬件电路需要五个按键来控制对于时、分、秒的调整以及时钟和跑表的切换功能和复位键,对于数码管则只需要六个来分别显示时时:分分:秒秒或分分:秒秒:毫秒毫秒。 软件设计与说明 程序设计流程图(如图四): 图四 结合电路,程序的总体思路分析: 1、点复位键(即单片机的系统复位键)后,进行时钟时间显示,从0时0分0秒开始。 2、按下SECOND键时进行校时,当SECOND键按下1次对秒位进行调时,此时按下1次对秒位加1; 3、当MINUTE键按下1次时对分位进行调整,此时按下1次对分位加1; 4、当HOUR键按下1次时对时进行调整,此时按下1次久对时位加1; 5、当xuanze键按下时,系统将切换到跑表功能,数码管显示分分:秒秒:毫秒毫秒。 在程序设计时,尽量改进算法,算法的改进可以使相对误差减小,或者可以使占用空间减小。另外,分块的设计思想要贯穿始终,整个程序较为繁杂,某些程序段会反复用到,因此采取的方法是写出多个程序段,通过跳转指令进行调用。 程序设计步骤: 在程序设计过程中,我遇到了很多困难,这部分也是让我学到很多东西的地

文档评论(0)

高考学子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档