89C2051實現(xiàn)的電子鐘
一、電路原理
本電路采用89C2051單片機(jī)設(shè)計硬件電路如圖1所示。AT89C2051具有2k字節(jié)閃速可編程可擦除只讀存儲器(FLASH EEPROM)和128bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),可重復(fù)擦寫10000次,數(shù)據(jù)保存時間10年,工作電壓范圍:2.7V~6V,工作頻率:0~24MHz,15根可編程I/0引線,2個16位定時器/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),—個全雙工串行口,一個精密模擬比較器,兩級程序加密,輸出口可直接驅(qū)動LED顯示,低功耗的閑置和調(diào)電保護(hù)工作方式,以及片內(nèi)振蕩器和時鐘電路。本電路的設(shè)計,充分利用了單片機(jī)的硬件資源,結(jié)構(gòu)簡單。
89C2051單片機(jī)端口設(shè)置:Pl口分別接數(shù)碼管的段碼口(a~h);P3.0、P3.1、P3.2、P3.3、分別接LED數(shù)碼管的位驅(qū)動;P3.4接按鍵51,P3.5接按鍵52;P3,7驅(qū)動蜂鳴器。C3、R15構(gòu)成上電復(fù)位電路。Q1~Q4為數(shù)碼管顯示驅(qū)動三極管。電路中沒有畫出電源部分,電路中的電源可以利用手機(jī)萬用充電器作為本電路的供電部分。
圖1 采用89C2051單片機(jī)設(shè)計硬件電路
二、電路功能
本時鐘電路采用24小時制,使用四位LED數(shù)碼管顯示時問,DO、Dl兩位數(shù)碼管顯示分鐘,D2、D3兩位數(shù)碼管顯示小時。電路利用D2,D3兩數(shù)碼管的小數(shù)點位做秒閃爍。
本電路只有兩個操作鍵S1、S2。S2鍵為設(shè)置按鍵,每按一下,實現(xiàn)功能切換。S1鍵為加1鍵,僅在設(shè)置模式時,S1鍵有效,此鍵具有連擊功能。當(dāng)按鍵時問超過1s后能實現(xiàn)自動連加。
電路具有設(shè)置時間分鐘模式,設(shè)置時間小時模式,設(shè)置鬧鐘分鐘模式,設(shè)置鬧鐘小時模式,走時等五個模式。不同的模式采用數(shù)碼管閃爍來區(qū)分:正常走時顯示,D2、D3兩位數(shù)碼管的小數(shù)點閃爍;在設(shè)置時間分鐘模式和設(shè)置小時模式時,相應(yīng)的數(shù)碼管不帶小數(shù)點以0,5s的速度閃爍;在設(shè)置時問分鐘模式和設(shè)置鬧鐘小時模式時,相應(yīng)的數(shù)碼管帶小數(shù)點以0.5s的速度閃爍。
電路不僅具有時鐘顯示功能,還具有整點報時和鬧鐘功能。每到一個整點時間,蜂鳴器以1Hz頻率報時,幾點響幾聲。如:中午12點,蜂鳴器響12聲。當(dāng)走時到了設(shè)定的鬧鐘時間,蜂鳴器以0.5Hz頻率報警,蜂鳴器響24聲停止。
三、程序設(shè)計
主程序流程圖如圖2所示,編程采用C語言編寫。
評論