今天是: <%response.write formatdatetime(date(),1)%> 电子制作天地网站欢迎您的光临,欢迎提出宝贵意见或建议。本站信息产业部备案: 粤ICP备05114582号
 
AT89C2051单片机制作电子万年历
Using AT89C2051 MCU to make electronic calendar

时间:2010-11-10 21:33:10 来源:互联网 作者:不详 编辑: 【关闭


关键字:AT89C2051单片机制作电子万年历

AT89C2051单片机制作电子万年历
作者:麦连城
很多用AT89C205l制作电子万年历的文章,介绍的都是采用单片机内部定时计数器作定时计时,难免受到停电的影响而需要经常调整,为此,笔者设计制作了用AT89C20Sl+DSl302的电子万年历。
  该万年历的特点是;动态显示、遥控操作;能按多位数码管或多点输出I采用DSl302时钟模块,走时准确、停电能继续计时(精度±5秒/日左右若采用有源晶报,如DS32Hz,走时精度甚至可达到年误差小于2分钟)。
  一、功能
显示年、月、日、星期、时、分。遥控操作、整点报时、定时报时及定时显示、停电自动计时等。
  二、硬件电路设计
  AT89C2051作为数据处理,DSl302作为计时处理及停电继续走时,用13只LED数码管显示年、月、日、星期、时、分。采用1838V为遥控接收,74LS595作为数码管笔画显示选择移位。
  三。工作原理
AT89C2051单片机制作电子万年历
  电路见附图。初始化后,DSl302开始走时。
  AT89C205l读取时间数据并处理后,通过2级8位移位寄存器(74LS595)将数码管的选通数据送至显示驱动,SRCLK是移位脉冲,上升沿有效;RCLK是输出锁存器的锁存信号,其上升沿将移位寄存器的输出锁存到输出锁存器;e是选通信号,只有e为低电平时锁存器的输出才开放。
  所有数码管的同一笔圆是连在一起的,由AT89C205l对DSl302读回的时间数据进行拆分处理,然后转换成要显示的数字代码。再由SER(AT89C205l的P3.5脚)逐位输出到ICl的(14)脚。以完成对需要显示笔画的数码管选择,P1.1对每一个数码管的同一笔画进行扫描。第一笔画点亮延时,继续把第二笔画的代码移位至74LS595进行第二个笔画的扫描,直至七个笔画全部显示完为止。
  例如,要显示的时间为07-02-23,则各数的代码分别为3FH、07H、3FH、5BH、BH、4FH。先通过74LS595把3F、07、3F、5B、5B、4F的DO,即低位右移一位,通过74LS595送至驱动三极管的基极。如果某位为0,则相应的位就不点亮。然后从P1.1输出O,那么该笔画中相应为1的笔画就被点亮。各数桐应代码就变为:3FH-1FF、07H-3H、3FH-1FH、5BH-2DH、5BH-2DH、4FH-27H。
  继续通过74LS595把lF、3、lF、2D、2D、27的最低位送至三极管的基极。然后P1.2输出O,数码管的第二笔画相应的位被点亮。各数代码则变为:FH、1 H、FH、16H、16H、l 3H。重复上面的移位及扫描,直至7个笔画的显示完成。就完成了07-02-03的全部显示。
  这种显示电路的特点是能够同屏显示多位数码管及多他输出。
  图中还可增加秒闪烁和驱动报时蜂呜器等电路功能。
  遥控器采用HA622l系列,遥控接收使用1838V红外接收模块。接AT89C205l的P3.2(外中断0)。当1838V接收到遥控信号时,产生中断。处理遥控数据,处理完后返回。
  电路中用了一块钮扣电池作为停电走时。
  需要注意的是,本电路使用的晶振是4MHz的。如果使用其他频率的晶振,应重新调整遥控解码部分延时的循环次数。另外。遥控器不一样,其键值也需要重新定义。
 

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

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

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