基于AT89C2051單片機(jī)制作的廚房定時(shí)器
掃描二維碼
隨時(shí)隨地手機(jī)看文章
該制作以5分鐘為一個(gè)計(jì)時(shí)單位,最多計(jì)時(shí)1小時(shí),3V電池做電源,有蜂鳴器報(bào)警,工作時(shí)功耗為6mA左右(使用AT89C2051),可以使用3V鈕扣電池,具有自動(dòng)關(guān)機(jī)功能,不運(yùn)行時(shí)耗電量可以忽略不計(jì),單鍵操作,簡(jiǎn)單方便。
電路圖
VT1為PNP的9012,當(dāng)電路不工作時(shí)VT1的B極由R4得到高電平,VT1截止,AT89C2051無(wú)法從VT1的E極得到電源。當(dāng)SW1按下時(shí),VT1的B極通過(guò)VD2和SB1接地,由高電平轉(zhuǎn)為低電平,VT1導(dǎo)通。此時(shí)AT89C2051得電,同時(shí)通過(guò)C1,R4復(fù)位。復(fù)位成功后P3.7升為高電平,使得VT2導(dǎo)通,從而使VT1的B極保持低電平狀態(tài),這時(shí)就算松開(kāi)SB1,VT1也不會(huì)截止而導(dǎo)致MCU失電。當(dāng)AT89C2051有關(guān)機(jī)指令時(shí),P3.7引腳會(huì)被拉低,此時(shí)VT2截止,VT1的B極電壓因此升高,VT1也截止,AT89C2051失電。SB1起到了開(kāi)關(guān)電源和設(shè)置的作用。在AT89C2051沒(méi)有得電時(shí),SB1和VD2組成電源啟動(dòng)電路,AT89C2051得電后SB1和VD1組成功能鍵電路。VD1、VD2的作用是防止在3V的VCC接通時(shí)的瞬間電路自動(dòng)開(kāi)機(jī)。R8~R19是LED限流電阻。R6~R7是針對(duì)P1.0、P1.1增加的上拉電阻。C1復(fù)位電容可以選擇4.7~22μF的電解電容。如果不需要自動(dòng)斷電功能,可以去掉VT1、VT2、R2~R5、VD1、VD2,VD2去掉后換成導(dǎo)線,3V的VCC加裝一電源開(kāi)關(guān)連到AT89C2051的VCC引腳。。本文的單片機(jī)代碼使用了時(shí)間觸發(fā)任務(wù)的編程方式,使用單片機(jī)上的定時(shí)器以20ms為時(shí)標(biāo),在每個(gè)時(shí)標(biāo)到達(dá)時(shí)觸發(fā)一次計(jì)時(shí),同時(shí)也用作按鍵讀取和LED顯示。這樣,不但可以使單片機(jī)代碼準(zhǔn)確地實(shí)現(xiàn)計(jì)時(shí)功能,同時(shí)也使其更簡(jiǎn)潔易讀且更方便修改、擴(kuò)展功能。
本制作只有1個(gè)按鈕,12個(gè)LED代表時(shí)鐘的12個(gè)數(shù)字,使用方法極其簡(jiǎn)單,裝上電池后電路處于關(guān)閉狀態(tài)。按鍵一次后,電源開(kāi)啟,再按時(shí)則進(jìn)行定時(shí)設(shè)置,每按一次,LED則跳到下一個(gè)LED,定時(shí)值加5min,停止按鍵幾秒后,會(huì)自動(dòng)進(jìn)入計(jì)時(shí)狀態(tài),LED會(huì)以跑馬燈的形式指示當(dāng)前計(jì)時(shí)及目標(biāo)計(jì)時(shí)等,計(jì)時(shí)完成后,蜂鳴器響20s后自動(dòng)斷電。在計(jì)數(shù)和蜂鳴的時(shí)候,再次按鍵則會(huì)停止工作并斷電。