电子制作天地网站欢迎您的光临,欢迎提出宝贵意见或建议。本站信息产业部备案: 粤ICP备05114582号
AT89C2051制作八路定时电路
AT89C2051 8 channels timmer

时间:2011-5-3 20:55:55 来源:互联网 作者:不详 编辑: 【关闭


AT89C2051制作八路定时电路,AT89C2051 8 channels timmer

关键字:AT89C2051,74LS374,74HC138,定时器电路

作者:马庆勇
本文介绍用单片机制作的定时自控电路实现八路定时控制,非常适合于学校等单位作为作息控制信号或其他定时控制用,有兴趣的朋友不妨一试。
  该电路由一片AT89C2051单片机、6位LED数码管、6个按键、11.0952NHz晶振等组成,并接了1片74HC374扩展了5个输出口。
  一、硬件设计
电路原理图见图1。整个电路由显示电路、键盘电路、输入输出接口及CPU组成。
AT89C2051制作八路定时电路AT89C2051 8 channels timmer
显示电路由U2、U3、Vl~V7和六位共阳数码管组成(二位一组,分别显示时、分、秒)。其中,U2为BCD-7段译码器CD4511,通过单片机U11的P1.4~P1.7,将要显示的字符BCD码输入至U2。经U2译码后,输出相应的笔段驱动LED数码管。
  LED数码管显示采用动态扫描方式。在某一时刻只有一只数码管点亮。点亮的位置信号由U3(74HCl38)输出。来自单片机U1的3位数码管位置编码信号,通过U3输出为相应的数码管驱动信号,并通过V1~V6放大后,驱动相应的数码管。六位数码管接至端口JP4上。其中,端口的③一⑧脚接各数码管的公共阳极:⑨脚接数码管的时、分、秒的分隔点脚;(16)~(10)脚接各数码管的段显示脚(A、B、C、D、E、F、G)。由于U2只能输出7段笔段码,因而数码管的时、分、秒分隔点是通过V7来驱动的。当需要点亮分隔点时,只要在U1的P1.3输出高电平即可。
  键盘电路也采用扫描方式,并巧妙地利用了显示时的数码管驱动的位置信号。也就是在显示的同时,判断按键的状态。方法是:在显示某一数码管时,判断Ul的P3.7口的状态。如果P3.7为高电平,说明没有按键按下:如果为低电平,则说明相应的按键按下。这时,通过读U1的P3口中P3.3-P3.5口的值。就可判断是哪个键按下。然后调用相应的处理程序进行处理。
  扩展输出口利用显示的间隙,将输出数据通过U4(74HC374)锁存输出。既不影响显示功能,也使输出信号稳定。扩展输出过程如下:首先在P3口输出XX110XXX,U3的⑨脚输出低电平,接着将要输出的数据写到U1的P1.3~P1.7口,然后在P3口输出XXlllXXX,U3的⑨脚输出高电平,这样,输出数据就被锁存在U4的00~04中了。
  二、软件设计
AT89C2051制作八路定时电路AT89C2051 8 channels timmer  
  程序主要包括:定时中断服务程序、时钟显示程序、键盘扫描处理程序、八路时控程序,主程序流程见图2。
  定时中断服务程序为系统提供标准时钟。采用TO中断方式。其流程图见图3。待显示的6位时钟(时、分、秒各两位)以压缩BCD码形式存放在2lH~23H中,低位在前,高位在后。定时中断服务子程序不断刷新2lH~23H中的内容。时钟显示子程序驱动显示标准时钟(电子表),时间显示至秒。
  八路时控程序采用循环调用方式。调用过程中,检测21H~23H的时钟信息,若与设定的定时起控时间相符。则输出至P1口相应管脚。
 AT89C2051制作八路定时电路AT89C2051 8 channels timmer
 


◆相关文章◆
◆ 编辑推荐 ◆
用户:
更多评论
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。60个字以内
留言:
验证码:

免责声明:
●本站所有内容均来自网络,以学习为目的,如果侵犯了您的利益,请来信告知,立即删除,站长邮件为"diy+dzdiy.com",请将"+"变更为"@"
●电子制作存在风险,请注意人身安全,如果您在根据本站电路进行制作过程中发生伤害,本站不负任何责任。

版权所有:www.dzdiy.com ? 2001-2019 本站信息产业部备案: 粤ICP备05114582号