基于单片机的时钟控制电路1
基于单片机的多功能时钟控制电路
0.引言
在日常生活、生产中,很多单位都需要一款灵活、稳定而又功能强大的自动定时控制系统,以规范本单位的作息时间或定时控制一些设备。现下,市面上出现的一些时控设备或功能单一,或使用烦琐,或价格昂贵,总有一些不尽如人意的地方。本时控系统可以控制八路(可由程序定制)执行设备,每路执行设备的起控时间可多时任意设定,完全能够满足人们所需要的时控要求。
1.方案总体设计
本系统主要包括:单片机主控电路、数码管显示电路、键盘电路、功能端口扩展电路、电源与复位电路等。系统框图如图一:
图一:系统框图 主控电路选用美国ATMEL公司生产的与MCS—51系列单片机完全兼容的AT89C2051芯片作为电路核心。它是ATMEL微控制器家族中中廉价的成员,内部集成了2K字节的Flash闪存,不需外扩程序存储器,大大简化了电路结构。
电路采用六位共阳LED数码管作为系统的显示器件。每两位分别用来显示时钟的时、分、秒。 键盘电路由六个按键组成,分别用来进行系统复位、时间调整等。
由于AT89C2051端口资源较少(仅有P1、P3口),为了增加控制通道,本设计利用1片74HC374扩展了5个输出端口。
单片机时钟信号采用11.0592M晶振产生。电源电路由三端集成稳压块LM7805提供稳定的+5V电压。
2.系统硬件设计
基本电路的硬件原理图见附图二。整个电路由:主控电路、显示电路、键盘电路、接口电路、电源电路等组成。
图二:系统硬件原理图。
2.1.主控电路
U1、C1、C2、Y1、C3、R9、S6构成主控电路的最小系统。C1、C2、Y1是单片机时钟源产生电路,Y1选用11.0592M的晶振。C3、R9是系统上电复位电路。S6为电路硬复位按钮。
2.2.显示电路
显示电路由U2、U3、Q1—Q7和六位“共阳”数码管组成(二位一组分别显示时、分、秒)。其中U2为BCD-7段译码器(CD4511),通过单片机U1的P1.4—P1.7将要显示字符的BCD码输入至U2的四个输入端,经U2译码后,输出相应的笔段驱动LED数码管。LED数码管显示采用扫描方式显示,即:在某一时刻,只有一个数码管被点亮。由于扫描速度很快,看上去就象所有数码管同时点亮。采用扫描显示方式的优点是减少器件端口的数量。点亮数码管的位置信号由U3(74HC138)输出,U3为3一8译码器,来自单片机U1的3位数码管位置编码信号,通过U3输
出为相应的数码管驱动信号,并通过V1—V6放大,最后驱动相应的数码管,使之发光。六位数码管接至端口JP4上,其中:端口的3—8脚接六位数码管的公共阳极;9脚接数码管的时、分、秒分隔点脚;16—10脚接六位数码管的段位(A、B、C、D、E、F、G)显示脚。由于U2只能输出7段笔段码,而数码管除了七段笔段外,还有一时、分、秒分隔点,因此,分隔点必须有另外的驱动电路来完成,在这里,通过V7来驱动分隔点。当需要点亮分隔点时,在U1的P1.3输出高电平就可以了。
2.3.键盘电路
键盘电路跟显示电路一样,采用扫描方式,并巧妙利用显示时的数码管驱动的位置信号,也就是在显示的同时,判断相应按键的状态。判断的方法是在显示某一数码管时,判断U1的P3.7的状态,如果P3.7为高电平,说明没有按键按下,如果P3.7为低电平,则说明相应的按键按下,这时,通过读回U1的P3口中P3.3—P3.5的值,就可判断是那个按键按下,然后调用相应的处理程序进行处理。
2.4.接口电路
JP2为电路控制输出端口,输出口除利用了P1.0-P1.2外,还通过一片74HC374扩展了5个输出端。扩展输出口利用显示的间隙,将输出数据通过扩展芯片U4(74HC374)锁存输出,从而既不影响显示功能,也使输出信号稳定。扩展输出过程如下:首先在P3口输出XX110XXX,U3的9脚输出低电平,然后将要输出的数据写到U1的P1.3—P1.7,然后在P3口输出XX111XXX,U3的9脚输出高电平,这样,输出数据就被锁存在U4的Q0—Q4中。
2.5.电源电路
电源电路由三端集成稳压块LM7805提供稳定的+5V电压。电源电路原理图如图三。
图三:电源电路原理图
系统控制电路可作在8cm×10cm的双面印刷电路板上。(见附图四)。
图四:硬件印刷电路
3.软件设计
软件系统主要包括:定时中断服务程序、时钟显示程序、键般扫描处理程序、时控程序。下面结合利用本设计制作的一款“学校多功能作息时间控制器”为例,介绍程序设计的方法。
3.1.系统主程序流程图如下图五:
图五:主程序流程图
3.2.中断服务程序。
定时中断服务程序为系统控制提供标准时钟,采用T0中断方式。定时中断服务子程序设计见附图六。待显示的6位时钟(时、分、秒各两位)以压缩BCD码形式存放在21H~23H三个存储单元中,低位在前,高位在后。定时中断服务子程序按照时钟规律不断涮新21H—23H三个单元的内容。
图六:中断服务子程序
3.3.显示子程序。
时钟显示子程序用来驱动显示标准时钟(电子表),时间显示至秒。时钟显示采用扫描方式,即:六只数码管从低位到高位依次被点亮。由于扫描速度很快,看上去就象所有数码管同时点亮。
3.4.键盘扫描处理程序
键盘扫描处理程序也采用扫描方式工作,具体设计方法见上文。
3.5.八路时控程序
八路时控程序采用循环调用方式。调用过程中,检测21H—23H三个单元的时钟信息,若与设定的定时起控时间相符则输出至P1口相应管脚。
4.结论:
本系统的软、硬件部分均通过了实际制作与调试,用本系统做成的校园作息时间多功能控制器试用1年多,运行正常。本系统还可应用于其它时控场合。
参考文献:
[1] 杨文龙.《单片机原理及应用学习指导》. 西安电子科技大学出版社。1997.1
[2] 郑学坚.《微型计算机原理及应用》. 清华大学大学出版社。1998.4
[3] 李广第.《单片机基础》. 北京航空航天大学出版社。2001.3
[4] 夏继强.《单片机实验与实践教程》. 北京航空航天大学出版社。2001.10
[5] 李刚等.《51系列单片机系统设计与应用技巧》. 北京航空航天大学出版社。2002.1
[6] 余永权.《ATMEL89系列单片机应用技术》. 北京航空航天大学出版社。2002.4
[7] 江思敏等.《PROTEL电路设计教程》. 清华大学出版社。2002.9
[8] 肖洪兵. 《跟我学用单片机》. 北京航空航天大学出版社。2002.9
[M][M][M][M][M][M][M][M]