轻、价格便宜, 为学习、应用和开发提供了便利条件。世纪跨越了三个“电” 的时代, 即电气时代、电子时代和现已进人的电脑时代。不过, 这里的电脑, 通常是指个人计算机, 简称机。它由主机、键盘、显示器等组成。还有一类计算机, 大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机。顾名思义, 这种计算机的最小系统只用了一片集成电路, 即可进行简单运算和控制。因为它体积小, 通常都藏在被控机械的“肚子”里。它在整个装置中, 起着有如人类头脑的作用, 它出了毛病, 整个装置就瘫痪了。现在, 这种单片机的使用领域已十分广泛, 如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机, 就能起到使产品升级换代的功效, 常在产品名称前冠以形容词—“智能型” , 如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品, 不是电路太复杂, 就是功能太简单且极易被仿制。究其原因, 可能就卡在产品未使用单片机或其它可编程逻辑器件上。
单片机应用系统因其优异的性能、高可靠性以及成本低廉被广泛应用于航空航天、工业测控、机器人感觉、数字信号处理、通信等各个技术领域, 然而在比较特殊的应用系统中, 我们不仅希望单片机系统能够完成数据的采集处理, 而且同时还想知道产生这些数据的时刻, 以便于更详细地了解和掌握现场情况, 因此为单片机系统增加数字时钟将是不可回避的一项新型的工程技术。
数字电子时钟,自从它发明的那天起,就成为人类的朋友,是人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、航站、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
1.3课题基本概况
本设计基于单片机原理,以单片机AT89C52芯片、DS1302时钟芯片及LED数码管为核心,通过硬件电路的制作以及软件程序的编制,设计制作出一个电子钟系统。该时钟系统主要由时钟模块、显示模块、控制模块组成。它的计时周期为24小时,显满刻度为“23时59分59秒”。能够准确显示时间,可随时进行时间调整,可设置闹钟,有秒表功能。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分能通过软件编程来实现,,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。
- 3 -
第2章 总体方案设计
2.1方案原理
使用串行接口时钟芯片DS1302设计时钟电路。该设计方案以MCS-51单片机为主控芯片,以串行时钟芯片DS1302为核心计时芯片,然后再通过一个74LS164缓冲器驱动两组数码管组(每个数码管组由四个数码管连在一起组成)组成数字时钟电路。更重要的是,DS1302时钟芯片的加入大大提高了数字钟时间的准确性,而且该电路在断电后不丢失时间和数据信息时也使得该方案的研究与提升更具有开发的意义。其功能如下:
1.电子时钟用8位数码管静态显示;
2.时间显示格式:XX-XX-XX,分别为时、分、秒。
3.可以通过按键切换显示日历,格式:XX-XX-XX,分别为年、月、日。 4.具有秒表和校时功能。
2.2 硬件选择
2.2.1 DS1302简介
为了能够较精确的计时,选择了DS1302时钟芯片。
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。时钟可工作在24小时格式或12小时(AM/PM)格式。 DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。DS1302的引脚功能如表2.1所示,外形及内部结构如图2.1所示。
- 4 -
引脚号 1 2、3 4 5 6 7 8
表2.1 DS1302引脚功能表 引脚名功能 称 VCC2 主电源 X1、X2 振荡源,外接32768Hz晶振 GND 地线 RST 复位/片选线 I/O 串行数据输入/输出端(双向) SCLK 串行时钟输入端 VCC1 后备电源
图2.1 DS1302管脚图及内部结构图
2.2.2单片机
本次设计选择的单片机为AT89C52。
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
- 5 -
图2.2 AT89C52单片机
图2.3 AT89C52单片机引脚
2.2.3显示方案
根据设计要求,本次设计采用LED数码管静态显示。
所谓静态显示,就是把多个LED显示器的每一段与一个独立的并行口连接起来,而公共端则根据数码管的种类确定连接VCC或GND。当显示器显示某一字符时,相应的发光二极管恒定的导通或截止,直至新的时钟信号到来。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。因此,通过移位寄存器74LS164可以减少所需的I/O口,可以用并行口的口线。通过移位寄存器74LS164将相应的数据发送到相应的数码管上。
74LS164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。当清除段(clear)为低电平时,输出端均为低电平。数据通过两个输入端(A或B)之一串行输入;任意一个输出端为低电平,禁止新数据输入;在时钟端(clock)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在clock
- 6 -