毕业设计(论文)单片机万年历设计.docVIP

毕业设计(论文)单片机万年历设计.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
万年历显示模块设计 1使用硬件和软件简介 1.1 51单片机简介 本次单片机课程设计需要使用的是上课时学习的51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机即是基础入门的一个单片机,还是应用最广泛的一种。Protues在两次课程设计中都有用到,可见学校对其应用的总是程度。Protues软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等在编译方面,它支持IAR、Keil和MPLAB等多种编译支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。 提供软件调试功能 丰富的外围接口器件及其仿真 RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。这样很接近实际。具有强大的原理图绘制功能单片机中除必要的硬件外,同样离不开软件,的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的来说是十分必要的,如果使用C语言编程,那么Keil几乎就是即使不使用C语言而仅用汇编语言编程,方便易用的集成环境、强大的软件仿真调试工具也会事半功倍 图2.1 设计流程图 2.2 keil编程 根据上述的电路图,可知显示部分采用8位7段数码管的分时显示,利用人眼的视觉暂留现象,在数码管上显示出连续的明显数值。 其中8位数码管的各位开关信号16进制编码如下表: 点亮第几位(从左记) 1 2 3 4 5 6 7 8 相应的16进制编码 0xfe 0xfd 0xfb 0xf7 0xef 0xbf 0xbf 0x7f 图2.2 8位数码管开关位编码 相应的2进制数输出转化位7段数码管显示十进制的编码表如下: 显示十进制 0 1 2 3 4 5 6 7 8 9 16进制输出 0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0x6f 图2.3 7段数码管显示编码 根据以上数据和单片机的各端口功能分布,可以大略得出程序的流程图。程序开始前,可以先进行一些预处理,使编程过程简化。 2.2.1 程序预处理 首先,讲头文件中包含的单片机的各对应引脚定义为较容易书写的格式,同时定义十进制到7段数码管显示对应的8位2进制数转化的数组序列。 然后,定义全局变量(同时初始化初值),方便在各函数间调用和改变年月日时分秒的具体数值,避免使用指针带来的语言复杂性。 最后,对要用到的函数进行统一声明(也可以直接先写函数),防止编程时不合理的调用函数。 2.2.2 主函数流程 最重要的主函数流程可归纳如下: 先将2输出端置零,使得显示屏清空。后建立一永久循环H,表示程序一直运行。循环的开始再建立一设定好次数的循环J,用来做单片机分频用,其中调用键盘扫描程序,看是否有键按下,以此判定下一步动作。由于日历的要求控制键不多,课程设计的要求为可切换显示,故最少应有2个控制键来切换日期和时间的显示。 若按下的为显示日期/时间,则对日

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档