关键字:AT89C2051,定时器电路图
作者 温正伟
在家经常做饭,有许多东西需要有个时间限制,如腌个肉吧,十几分钟;煲个简单的汤吧,文火1小时等,这些都不需要精确的定时,只要大约知道时间就可,但一定需要提醒,市场上五花八门的厨房定时器应运而生,小巧精致而且实用。
市售的各类厨房定时器
作为电子爱好者,笔者热衷制作,用单片机做一个简单有趣的厨房定时器,既解决了实际的问题,又满足了爱好实践的愿望,于是就有了本文的这个制作。这个电路十分简单,可以使用洞洞板直接焊接电路,制作用不了半天,无需调节,非常适合初学者练手制作。
该制作以5分钟为一个计时单位,最多计时1小时,3V电池做电源,有蜂鸣器报警,工作时功耗为6mA左右(使用AT89C2051),可以使用3V钮扣电池,具有自动关机功能,不运行时耗电量可以忽略不计,单键操作,简单方便。
电路图
各种元件
简单规划元件排布和走线
焊接正面图
焊接背面图
制作完成后的定时器
VT1为PNP的9012,当电路不工作时VT1的B极由R4得到高电平,VT1截止,AT89C2051无法从VT1的E极得到电源。当SW1按下时,VT1的B极通过VD2和SB1接地,由高电平转为低电平,VT1导通。此时AT89C2051得电,同时通过C1,R4复位。复位成功后P3.7升为高电平,使得VT2导通,从而使VT1的B极保持低电平状态,这时就算松开SB1,VT1也不会截止而导致MCU失电。当AT89C2051有关机指令时,P3.7引脚会被拉低,此时VT2截止,VT1的B极电压因此升高,VT1也截止,AT89C2051失电。SB1起到了开关电源和设置的作用。在AT89C2051没有得电时,SB1和VD2组成电源启动电路,AT89C2051得电后SB1和VD1组成功能键电路。VD1、VD2的作用是防止在3V 的VCC接通时的瞬间电路自动开机。 R8~R19是LED限流电阻。R6~R7是针对P1.0、P1.1增加的上拉电阻。C1复位电容可以选择4.7~22μF的电解电容。如果不需要自动断电功能,可以去掉VT1、VT2、R2~R5、VD1、VD2,VD2去掉后换成导线,3V 的VCC加装一电源开关连到AT89C2051的VCC引脚。本文所附源代码为C语言编写,读者可以到本刊网站(www.radio.com.cn)上下载,根据需要自行修改原文件的功能。更新的源码和演示视频可以在以下地址下载、观看(http://www.cdle.net/web/alldata/CDLE/cdle090001.htm)。\本文的单片机代码使用了时间触发任务的编程方式,使用单片机上的定时器以20ms为时标,在每个时标到达时触发一次计时,同时也用作按键读取和LED显示。这样,不但可以使单片机代码准确地实现计时功能,同时也使其更简洁易读且更方便修改、扩展功能。
本制作只有1个按钮,12个LED代表时钟的12个数字,使用方法极其简单,装上电池后电路处于关闭状态。按键一次后,电源开启,再按时则进行定时设置,每按一次,LED则跳到下一个LED,定时值加5min,停止按键几秒后,会自动进入计时状态,LED会以跑马灯的形式指示当前计时及目标计时等,计时完成后,蜂鸣器响20s后自动断电。在计数和蜂鸣的时候,再次按键则会停止工作并断电。
|