任艳焱
(赤峰学院 计算机与信息工程学院,内蒙古 赤峰 024000)
在实际生活中数字钟的设计方法有许多种,比如说可以用中小规模集成电路设计数字电子钟的方法,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来设计电子钟等等.这些方法都各有各的特点,有些在设计上还增设了附加功能,例如校时功能、测量室内温度与湿度的功能等.其中,利用单片机实现的电子钟具有编程灵活、便于电子钟功能的扩充(即可用该电子钟发出各种控制信号)、精确度高等特点[1].
目前有一种较简单且容易操作的校时电路,它是以一种中小规模的数字芯片74LS162为基础来设计数字电子钟的电路,并且附带设置自校准的时间电路,这种方法的优点是它的时间校准操作不需加入专门的校时脉冲信号.这种校正电路的的基本原理是:先把正在进行工作的计数电路工作暂时中断,再利用人工触发计数的方式或者在所需要校正的计数单元的输入端加入某一频率比较高的方波信号,从而达到人们的预制校正要求,最后再转入到刚开始的正常的计数电路里去.
此设计方法的基本电路的主要构成部分是555定时器和RC多谐振荡器、分频器、计数器、译码显示器、时间校准电路、LED显示器.其中标准时间的“秒”信号发生器由振荡器和分频器组成,基础的计时电路由不同进制的计数器、译码器和显示器组成.计数器对“秒”信号进行累计计数,把累加的结果以时间的基础单位时、分、秒的形式用具体的数字显示出来.“时”显示由24进制计数器、译码器、显示器构成,“分”、“秒”显示分别由60进制计数器、译码器、显示器构成.用译码的方法来代替传统的机械计时方法,用LED显示表示时间的数字代替传统的时针、分针、秒针来指示时间的方法,从而让时间的显示更加精准.在现有的方法下,还可以增加整点报时、预制时间等许多附加功能.另外我们可以增加外围的时间校准电路来校准计时出现的误差[2].
单片机又称微控制器(MCU).其实质就是在芯片内部集成了ROM、RAM、定时/计数器、EEPROM等各种计算机必要的功能模块和I/O口.它具有性能价格比高、体积小、可靠性高、控制功能强、功耗低等许多优点.
数字电子钟的设计电路是一个最小的的单片机应用系统,是一个具体的应用实例.它的电路由89S51单片机、外部输入的脉冲电路、定时/计数电路、外部存储器设计电路、按键开关和 LED显示电路等构成.并采用单片机系统中的定时/计数器和中断技术的编制程序来实现计时和显示时间的功能.其中除了51单片机是集成的IC芯片外,其余部分则须根据实际要求进行自主设计[3].主要包括系统的电路设计、连接各个部件、编写驱动程序和最后的程序调试.
在单片机的设计方法中可以利用MSP430F2xx系列微处理器来设计,这款微处理器是由美国德州仪器公司于2002年推出,是一款运算速度快且体积小的16位RISC微处理芯片.片内集成了8路10位以上的A/D、串行通信接口、看门狗定时器、温度传感器、LCD驱动电路等外围电路,从而降低了应用电路的复杂度、提高了系统的可靠性.该芯片工作于3.3V和2.5V两种电压下并可处于休眠状态,此时的频率只有32768Hz,功耗相当低、环境温度范围-40至+125摄氏度.这些优点非常适合设计便携式,且要求长时间连续工作,环境温度变化范围宽的智能化仪器仪表.数字钟的实现方案很多,以前的多用集成电路来实现,这种方法电路复杂,也有用专用电子钟芯片来实现的,但受其制约,灵活性差[4].
其次还可以利用单片机80C51系列来设计.其中以AT89S51单片机为典型代表.AT89S51单片机是ATMEL公司的标准型单片机,是8位的单片机,其硬件结构主要包括:中央处理器(CPU)、存储器(数据存储器和程序存储器)、可编程I/O口、定时/计数器、串行口等,各个部分通过内部总线相连.8051单片机执行指令的时间长短以及定时器/计数器的频率都与单片机的时钟频率有关.单片机常采用的时钟频率有6MHZ和12MHZ.常采用12MHZ的晶振与外部时钟脉冲的方式来提高波形频率的精度,晶振的两个引脚分别与51单片机的外接晶振引脚XTAL1和XTAL2相连.并且给波形发生器设计能让它正常工作的复位电路.8051系列单片机的内部设有两个16位的可编程定时/计数器T0和T1.它们具有计数和定时两种功能及方式0、方式1、方式2、方式3四种工作方式,其工作方式、定时时间、量程、启动方式等均可由指令确定和改变[5].在波形发生器中,利用它的定时功能,用它来确定波形的两个采样点输出之间的延迟时间.由于方式1采用的是16位定时/计数器,他的最大计数值是65536.当T0或T1开始计数后,从初值的基础上开始累计加1计数,直到其最高位产生溢出时才向CPU申请中断.因此想要精准的计时,首先要计算出定时器的计数初值.单片机的中断系统是为了响应外部的中断事件而设立的,它主要由几个与中断有关的特殊功能寄存器和顺序查询逻辑电路等组成,是单片机不可或缺的重要组成部分.中断是指当中央处理器CPU正在执行主程序时外界发生了紧急事件请求,有必要尽快终止当前程序的执行,而转去执行形影的紧急事件的处理程序.在波形发生器中,只有当定时/计数器达到它的最大计数值从而溢出时才产生中断请求,即在51单片机输出一个波形采样点信号后,启动定时器,在定时器未产生溢出中断之前,51单片机等待工作.直到定时器计时结束后才申请中断请求,此时51单片机转去响应中断请求,接着输出下一个采样点信号,依次循环产生所需要的信号波形.
利用51单片机制作的的数字钟具体应用了单片机的中断技术、定时技术以及LED的显示技术,通过调整键、加1键、减1键、确定键四个按键,用8位数码管设计制作了一个可以调整时间的数字钟,实现了对时间的数字显示[5].基于51系列单片机设计的数字电子钟在设计的时候需要着手解决下面的几个方面的问题:一是LED显示器的直流驱动和编程,二是定时/计数器的选择及使用,三是利用外部中断的方式来实现计时功能和运行模式的相互转化.
解决这几个方面相关的关键技术主要有:a、LED显示器的显示和驱动.主要是设计LED数码管的共阴极或者是共阳极的接线方式、是静态显示方式还是动态显示方式;还需设计单片机的外围接口电路,以及利用单片机对LED数码管进行驱动和显示的操作;在显示方式上,静态显示电路的显示方式操作简单,不需要频繁地扫描显示电路,也不需要加显示延时,但是每一个数码管都需要一片74HC164,在位数较多时,字符更新速度慢,电路比较复杂,成本也比较高,因而在实际应用中常采用动态显示方式.LED动态显示方式的特点是将所有位数数码管的段选线并联在一起,由位选线控制是哪一位数码管有效,选亮数码管采用动态扫描显示,从而大大简化了硬件电路.在单片机的外围接口电路上,由于89S51单片机可以方便地与8255直接相连,不需要加任何外接逻辑电路,故采用8255作为单片机应用系统扩展的I/O口,占用片外数据存储空间.其中A口用作字形输出,C口用作为位选扫描输出,其余作其它用处.采用8段共阴极数码管,字形驱动采用8路三态同相缓冲器74HC244,位选驱动使用ULN2803反向驱动芯.8255应该按硬件设计要求输出相应的字形码和位选扫描电平,所以发光时字形驱动输出1有效,位选驱动输出1有效.工作时,C口6路位选信号每次仅有一路输出是1电平(其余为0),同时A口输出与选通的数码管所对应的的字形码信号,即C口扫描输出位选信号,A口输出字形信号.由于8路段选线同由A口控制,所以每个要显示的字符都会同时加到这6个数码管上,要想让每位显示不同的字符就必须要采用如下的扫描工作方式:分时轮流选通数码管的公共端,使得各个数码管轮流导通,即各数码管是由脉冲电流导电的.当所有数码管依次显示一遍后,软件控制循环,使得每位显示器分时点亮.
b、单片机中定时器的晶振选择、工作方式的选择方法和怎样启动其工作的方法;假设利用T1定时来完成数字时钟的秒、分、时的定时,且选择单片机的晶振为12MHZ,要想达到上述要求,首先要完成1S的定时,在这个基础上,每计满60S,分钟加1,而每计满60min,时钟的时加1,计满24h,时钟清零,从零时开始继续上述循环.因此要完成时钟的设计,首先要解决1s的定时问题.因51单片机在工作方式1下定时时间最长,且其最大定时时间为65.536ms,显然不能满足1s的定时时间要求,所以需要设置一个软件计数器.对分、时的计数同样要通过软件计数来完成.因此需在片内采用4个单元地址分别进行秒、分、时以及24h的计数[6].
c、单片机中断系统的优先级设置、响应中断的时机及其编程技巧.
中断技术方式是CPU等待外部设备请求服务的一种I/O方式,是现代计算机中一项很重要的技术.首先设置满足CPU响应中断的条件即设置中断请求且CPU开中断、申请中断的中断源开中断.其次单片机一旦响应中断,先要置位相应的优先级有效触发器,然后执行一个硬件子程序调用,把断点地址压入堆栈保护,然后将对应的中断入口地址装入程序计数器PC,使程序转向该中断入口地址,以执行中断服务程序.在执行中断返回指令RETI前应恢复现场[7].
本文对现有的数字电子钟的设计方法进行了系统的分析,总结出了各个方法典型特点,可以为其他人设计数字电子钟起到很好的启示作用.
〔1〕黄红飞,陈亦兵.基于74LS162数字钟设计及时间校准研究.电子设计工程,2011,19(11).
〔2〕李瑞,等.基于计数器的数字电子钟的设计.山西电子技术,2011(4).
〔3〕王振宇.电子设计自动化(EDA)[M].北京:电子工业出版社,2007.
〔4〕谭会生,张昌凡.EDA技术及应用[M].西安:西安电子科技大学出版社,2006.
〔5〕张迎新.单片机(微控制器)原理及应用.北京:高等教育出版社,2009.
〔6〕何桥.单片机原理及应用.北京:中国铁道出版社,2009.12.
〔7〕何立民.MSC-51系列单片机应用系统设计.北京:北京航空航天大学出版社,1994.