基于51单片机的数字钟设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机的数字钟设计 摘要:该电子钟使用12MHZ晶振与单片机AT89C51相连接,通过软件编程的方法实现了以24小时为一个周期同时显示小时,分钟和秒的要求,并在计时过程中具有报时功能,当时间到达整点进行蜂鸣报时。该电子钟设有三个按键:s1,s2和s3键,使之具备了校定时功能。 关键词:电子钟;51系列单片机;AT89C51;晶振 数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所 以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有.4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外,AT89C51的指令系统和引脚与 8051完全兼容,片内有 128B的 RAM、32条 I/O口线、2个 16位定时计数器、5个中断源 、一个全双工串行口等 。 该电子钟是以单片机AT89C51为核心来完成的,在硬件电路中采用 P0口作为6位LED数码管的驱动接 口,这是由于Po口输 出驱动电路工作处于开漏状态,它的驱动能力强,故只需外接上拉 电阻便可以把LED数码管点亮 。因为共阴的LED数码管它的驱动电流是分开的,在单片机进行动态扫描 的时候不会影响彼此的电流,故该电路中的6位 ED数码管均用共阴极的数码管。在6位ELD显示时,为了简化电路,降低成本,6个LED显示器共用一个 8位的I/O,6位LED数码管的位选线分别由相应的P2.0~P2.5控制,而将其相应的段选线并联在一起,由一个 8位的 I/O口控制,即Po口。在电路 中还设有三个按键 Sl,S2和 S3用来进行定时,选时和调时的选择,他们分别与单片机的P1.2,P1.4,P1.6口相连接。P1.7口与蜂鸣器相连接。 考虑到实用性,在该电子钟的设计中修改定时或调整时间时采用了闪烁,而且可以定时20组闹钟。 在编程上,首先进行 了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的秒,分,时以及 20组定时时间的序号等。在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与位选相互结合的方法来控制调时或定时中的闪烁。时,分,秒的显示则是用了软件译码 (查表)的方式,再用了一段固定的程序段进行进制转化。初始化之后,用中断方式对其计数,计数的同时采用了定时器比较的方法,比较当前计数时间与定时时间是否相等,若相等则将闹铃标志 位置数 。由于定义了20组定时闹钟,在这里采用中断20次,每 中断一次比较一组闹钟,避免了一次比较20组中断时间过长,影响下次中断时间。显示之后查询闹铃标志位是否与前面所置数相等,若相等则响铃。为 了避免响铃影响显示,采用了每显示几屏以后在显示程序中出现脉冲,驱动喇叭,不会影响显示。之后用查询方式对按键进行判断,若有键按下,则进行软件延时消抖,避免了抖动引起的干扰,执行相应的定时,选时或调时程序段。对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下去。程序流程图见图 I所示 硬件电路如图2所示,相关程序附后。 该电子钟设有三个按键 :s1,s2和 s3键 。按 s1键进行校时,可以分别对时及分进行单独校时,使其校正到标准时间,校时时需要校正哪一位哪一位就闪烁。按 s2键是对闪烁位进行加一或返回的操作。按s3键调整定时时间和定时组数,需要调整哪一位哪一位就闪烁 ,该电予钟最多可定时 20组闹钟 。经测试该电子钟在一天的累计误差约为 0.1秒 。该电子钟的误差主要 由晶振 自身的误差所造成,晶振的误差约为0.0001~0.000001。在软件的编程过程中所产生的误差比较小,在重装初值的过程中大概需要约 8个机器周期,但在程序开始对定时器赋初值时,多加了8个机器周期,减小了这方面的误差。另外在中断的过程中,只会在第一次计时时产生时间的偏移,而它所产生累计误差很小,可以忽略。 其程序如下图 结束语 经对试验样机的多次检验,本数字钟的设计合理、结构简单、功能强大、成本相对较低,达到了设计的预期目标并且具有较好的通用性。 参考文献 [1]梅丽凤,王艳秋,等.单片机原理及接1:1技术[M].北京:清华大学出版社,2004. [2]朱定华,刘玉.单片机原理及应用技术学习辅导[M].北京:电子工业出版社,2001. [3]薛钧义.MCS一51/96系列单片微型计算机及其应用[M].西安:西安交通大学出版社,1998 [4]何立民.M

文档评论(0)

14576 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档