89C2051单片机数码管时钟的设计

  • 格式:doc
  • 大小:1.54 MB
  • 文档页数:30

毕业设计(论文)课题数码管时钟类别 毕业设计说明 毕业设计论文系科电子工程系专业 应用电子技术 应用电子技术/应用英语电气自动化技术 电气自动化技术/市场营销计算机应用技术 计算机应用技术/广告设计与策划班级电气061D 姓名完成日期指导教师基于89C2051单片机数码管时钟的设计摘要本设计论文介绍了选用AT89C2051单片机来控制数码管时钟的硬件结构与软件设计,给出了汇编源程序。

此数码管时钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,时、分调整可通过触摸按键来实现。

电路由LED 数码管、时钟电路、复位电路等部分组成。

用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。

根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个12进制(时)的计数器。

构成秒、分、时的计数,实现计时的功能。

显示器件选用LED七段共阳极数码管,在9012输出的驱动下,显示出清晰、直观的数字符号。

针对数字钟会产生走时误差的现象,在电路中就设计有校准时间功能的电路。

关键词:LED数码管;AT89C2051;时钟电路;复位电路Design of Nixie Tube Clock Based on AT89C2051AbstractThe paper mainly presents the hardware and software design of the digital clock using AT89C2051.The source program using assemble language is given. This digital clock is a time-device , which can display “hour”,” minute”,“second”. Its time period is 24 hours and the full scale of the display is 23 hours, 59miutes,59 seconds and it has the function of time adjustment . The circuit const ants of the clock pula’s generator, the clock counter, decoding drive circuit, digital display circuit and the time adjustment circuit. It generates time standard signal using crystal oscillator, here is the quartz crystal oscillator. Because 60 seconds is 1 minute, 60 minute is 1 hour and 24 hours is 1 day. We uses two counters of 60 parts and counter of 60 parts and a counter of 24 parts separately to constitute the count of percentage of second , second, minute , and hour .So it can realize time function . Display comport selects six-segment numerical tube LED. Driven by decoding output circuit, it can display showing clear and intuitive figures. Due to walking error of digital clock, we design time calibration circuit in the system.Key word: Nixie Tube Clock; AT89C2051; Clock display circuit; Reset circuit目录摘要 (I)Abstract (II)引言 (1)1 数字钟的功能实现与设计方案 (2)1.1数字钟的设计要求及功能 (2)1.2 方案的确定 (2)2 数字硬件系统设计 (3)2.1数字钟的硬件电路的设计 (3)2.1.1 系统时钟电路的设计 (3)2.1.2 系统复位电路的设计 (3)2.1.3 按键与按钮电路设计 (4)2.1.4数字钟的显示电路设计 (4)2.2 数码管的结构 (5)2.2.1 数码管的内部结构 (5)2.2.2 数码管的外部结构 (5)3系统主要程序的设计 (6)3.1 主程序 (6)3.2 显示子程序 (7)3.3 定时器T0中断服务程序 (7)3.4定时器T1中断服务程序 (8)3.5调时功能程序 (9)4 硬件电路的焊接 (9)4.1 电烙铁使用 (9)4.2 对焊接点的基本要求 (9)4.3 焊接过程 (9)4.4 在调试中遇到的问题 (10)5软件电路的调试 (10)5.1软件电路调试 (10)5.2 系统程序调试 (13)总结 (15)参考文献...................................................................... - 1 - 致谢.......................................................................... - 2 - 附录1 ........................................................................ - 3 - 附录2 (作品成品照片)........................................................ - 4 - 附录3(软件程序清单)......................................................... - 5 -引言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对于我们每个人来说都是很宝贵的,市场上出现的各式个样的钟表都很受消费者的欢迎和喜爱,钟表的数字化给人们生产生活带来了极大的方便,满足大家的需求,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等,所有这些,都是以钟表数字化为基础的。

本设计克服了机械式钟表的诸多缺点,而且在常规电子式钟表的功能上加上了省电模式;其次,利用单片机的精确计数功能,可对时、分、秒进行精确的计数。

1 数字钟的功能实现与设计方案1.1数字钟的设计要求及功能利用AT89C2051 来实现六位LED数码管的时钟,可以24h(小时)计时方式,分别显示时、分、秒,时分调整可通过触摸按键来实现。

数码管时钟电路,秒表/时钟计时器采用AT89C2051单片机最小化应用设计,采用共阳七段LED显示器,利用P3.7口的S1来对显示的时、分、秒进行调整。

在操作键时,其一对触点闭合或断开,将引起电压的变化。

此时,单片机可根据电压的变化来判断键的通断状态。

采用12MHz晶振可有利于提高秒计时的精确性。

1.2 方案的确定LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示。

该电路采用AT89C2051单片机,使用3V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。

为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等硬件,接口复杂一些,考虑时钟显示只有六位,且系统没有其它复杂的处理任务,所以决定采用动态扫描法实现LED的显示。

单片机采用易购的AT89C2051系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能,如考虑到要使用电池供电的话可采用LV系列单片机。

秒表/时钟计时器电路系统的总体设计框架如图1 所示。

图1 硬件系统的总体设计框架图3系统时钟电路2.1.2 系统复位电路的设计电路中C3、R15组成复位电路,该电路采用的是上电复位,即整个系统从新开始工作。

复位电路有很多种,分别可由不同的元件组成,可靠性也各有不同,本设计采用简单的上电复位。

如图4所示。

图4复位电路2.1.3 按键与按钮电路设计本设计中只使用一个按键开关SET,来对时、分、秒进行调整。

SET还作为复位按钮,也可以进入省电(不显示LED数码管)和正常显示三种状态。

图5所示为按钮电路。

图5 按钮电路2.1.4数字钟的显示电路设计驱动数码管采用动态显示。

动态驱动是将所有的数码管的8个显示笔画“a,b,c,d,e,f,g,dp”的同名端连在一起,另外每个数码管中的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控制显示。

R1-R8是P1口的上拉电阻,P端口必须外接上拉电阻才能正常输出“0”和“1”电平,保证P1端口所接的LED数码管能够正常显示数字,和软件相配合来驱动数码管显示时、分、秒。

该显示电路如图6所示。

图6显示电路2.2 数码管的结构2.2.1 数码管的内部结构数码管的结构有单个数码管和集成数码管(即一个封装内至少有两个数码管集成在一起)两种,结构图如图7 所示,其中(a)为数码管的引脚图,有共阴极和共阳极两种。

本设计采用共阳极数码管,其内部结构图如图(b)所示。

它们都是由基本的7个条状的发光二极管(LED)排列而成的,可实现数字“0-9”及少量字符的显示。

另外,为了显示小数点,增加了1个点状的发光二极管,因此数码管就由8个LED组成,把这些发光二极管命名为“a、b、c、d、e、f、g、DP”,对应引脚如图7 所示。

图7 数码管的内部结构与引脚图2.2.2 数码管的外部结构数码管的外部结构图,如图8 所示。

图 83系统主要程序的设计3.1 主程序本设计中计时采用定时器T0中断完成,其余状态循环调用显示子程序,当P3.7端口开关按下时,转入调时功能程序。

其主程序执行流程见图9 所示。

Array图9 主程序流程图3.2 显示子程序数码管显示的数据存放在内存单元70H—75H中,其中70H—71H存放秒数据,72H —73H存放分数据,74H—75H存放时数据,每一地址单元内均为十进制BCD码。