基于AT89C2051单片机制作的厨房定时器
扫描二维码
随时随地手机看文章
该制作以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引脚。。本文的单片机代码使用了时间触发任务的编程方式,使用单片机上的定时器以20ms为时标,在每个时标到达时触发一次计时,同时也用作按键读取和LED显示。这样,不但可以使单片机代码准确地实现计时功能,同时也使其更简洁易读且更方便修改、扩展功能。
本制作只有1个按钮,12个LED代表时钟的12个数字,使用方法极其简单,装上电池后电路处于关闭状态。按键一次后,电源开启,再按时则进行定时设置,每按一次,LED则跳到下一个LED,定时值加5min,停止按键几秒后,会自动进入计时状态,LED会以跑马灯的形式指示当前计时及目标计时等,计时完成后,蜂鸣器响20s后自动断电。在计数和蜂鸣的时候,再次按键则会停止工作并断电。