数字万年历课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数字万年历》 课程设计报告 专 业: 自 动 化 班 级: ***** 姓 名: ***** 指导老师: ***** 二 零 一 一 年 六 月 摘 要 在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都被时间影响着,我们必须对时间有个度量,因此设计万年历来记录时间,本设计采用AT89C51和DS1302实时时钟芯片进行万年历电路设计和软件设计,该万年历能实现能够实现年、月、日、时、分的显示,也可以人为校正时间,初始时间:2000 01 01 12.00。 本次设计以12MHZ晶振与AT89C51相连,通过编程实现以24小时为一周期,利用单片机的定时器和计数器产生定时效果,通过编程产生数字时钟效果,然后用数码管动态扫描显示内部处理的数据。通过端口读入当前外部控制状态来改变程序的不同状态从而实现不同功能。 本次万年历设计以单片机为核心软硬件结合,使硬件部分大为简化,也提高了系统的稳定性。 关键词:万年历 单片机 DS1302 目 录 一、方案的确定…………………………………………………………3 1.1单片机芯片的选择方案…………………………………………………3 1.2显示方案………………………………………………………………3 1.3时钟芯片的选择方案…………………………………………………5 二、系统的硬件设计与实现………………………………………6 2.1电路设计框图………………………………………………………6 2.2主要单元电路的设计………………………………………………7 2.2.1单片机主控制模块的设计……………………………………………7 2.2.2时钟电路模块的设计………………………………………………8 三、系统的软件设计……………………………………………9 3.1程序流程框图……………………………………………………9 3.1.1电子时钟计算程序图…………………………………………10 3.1.2调整流程图…………………………………………………11 3.2程序设计………………………………………………………12 四、致谢词……………………………………………………15 参考文献………………………………………………………15 附录:proteus仿真图……………………………………………16 一.方案的确定 1.1单片机芯片的选择方案 方案1:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,实验室学生用的较多的也较为熟悉的处理单元。 方案2:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,但AT89S52性价比不高。 所以选择采用89C51作为主控制系统。 1.2显示方案 方案一: 硬件方案:采用51单片机作为控制单元,显示器采用6位LED数码管(共阳),可分别显示时间或日期;(通过KB键可切换),显示器的驱动采用动态扫描电路形式。所需的驱动电流比静态驱动时要大,因此要增加驱动电路。可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码。 软件方案:“时钟”基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到“秒”,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。一般来说,基准时间越短,越有利于提高时钟运行的精确度。本实验定时5ms乘以一个整数200得到1秒,用一个计数器(R4)对定时中断的次数进行计数,从而可以实现“秒”定时,同理可以实现“分”定时和“时”定时,甚至于“日”、“月”、“年”定时。设计电路图如下图所示: 方案二: 硬件方案:同样采用51单片机作为核心控制单元,采用7SEG-MPX6对时间进行显示,同时为了节省I/O口线采用MAX7221, 软件方案:由于此方案也是采用51单片机作为控制单元,软件方案同方案一。方案二设计的电路图如下图所示: 从电路图可以看出显示方案二比方案一要简单得多,看起来直观,硬件连接也相对容易,出错的几率也小得多。因此采用方案二作为显示模块。 1.3时钟芯片的选择方案 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年

文档评论(0)

smdh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档