《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 由89C2051設(shè)計的電子鐘
由89C2051設(shè)計的電子鐘
摘要: 本電路的設(shè)計,充分利用了單片機(jī)的硬件資源,結(jié)構(gòu)簡單。本時鐘電路采用24小時制,使用四位LED數(shù)碼管顯示時問,DO、Dl兩位數(shù)碼管顯示分鐘,D2、D3兩位數(shù)碼管顯示小時。電路利用D2,D3兩數(shù)碼管的小數(shù)點(diǎn)位做秒閃爍。
Abstract:
Key words :

  一、電路原理

  本電路采用89C20單片機(jī)" title="51單片機(jī)" target="_blank">51單片機(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ī)萬用充電器作為本電路的供電部分。

 

  采用89C2051單片機(jī)設(shè)計硬件電路

  圖1 采用89C2051單片機(jī)設(shè)計硬件電路

 

  二、電路功能

 

  本時鐘電路采用24小時制,使用四位LED數(shù)碼管顯示時問,DO、Dl兩位數(shù)碼管顯示分鐘,D2、D3兩位數(shù)碼管顯示小時。電路利用D2,D3兩數(shù)碼管的小數(shù)點(diǎn)位做秒閃爍。

  本電路只有兩個操作鍵S1、S2。S2鍵為設(shè)置按鍵,每按一下,實(shí)現(xiàn)功能切換。S1鍵為加1鍵,僅在設(shè)置模式時,S1鍵有效,此鍵具有連擊功能。當(dāng)按鍵時問超過1s后能實(shí)現(xiàn)自動連加。

  電路具有設(shè)置時間分鐘模式,設(shè)置時間小時模式,設(shè)置鬧鐘分鐘模式,設(shè)置鬧鐘小時模式,走時等五個模式。不同的模式采用數(shù)碼管閃爍來區(qū)分:正常走時顯示,D2、D3兩位數(shù)碼管的小數(shù)點(diǎn)閃爍;在設(shè)置時間分鐘模式和設(shè)置小時模式時,相應(yīng)的數(shù)碼管不帶小數(shù)點(diǎn)以0,5s的速度閃爍;在設(shè)置時問分鐘模式和設(shè)置鬧鐘小時模式時,相應(yīng)的數(shù)碼管帶小數(shù)點(diǎn)以0.5s的速度閃爍。

  電路不僅具有時鐘顯示功能,還具有整點(diǎn)報時和鬧鐘功能。每到一個整點(diǎn)時間,蜂鳴器以1Hz頻率報時,幾點(diǎn)響幾聲。如:中午12點(diǎn),蜂鳴器響12聲。當(dāng)走時到了設(shè)定的鬧鐘時間,蜂鳴器以0.5Hz頻率報警,蜂鳴器響24聲停止。

 

  三、程序設(shè)計

 

  主程序流程圖如圖2所示,編程采用C語言編寫。

 

  流程圖

  圖2 流程圖

 

  程序由主程序、定時中斷子程序,鍵盤子程序組成。定時中斷子程序要產(chǎn)生Imo日刂鐘標(biāo)志位,用于數(shù)碼管掃描髖示;20ms時鐘標(biāo)志位,用于鍵盤掃描、消抖;0,5s的時鐘佶號,用于鬧鐘報瞥;1s時鐘標(biāo)志位,用于時間更新;1s的時鐘信號,用于整點(diǎn)報時;及報騖時更新蜂鳴器鳴響次數(shù),以下是該電子鐘的部分程序。

  主程序如下:

 

  程序

 

  四、安裝和調(diào)試

  PCB板大小為68mm×78mm,采用單面板設(shè)計,細(xì)線為頂層跳線,D2數(shù)碼管應(yīng)當(dāng)反裝,以使小數(shù)點(diǎn)位和前一位小數(shù)點(diǎn)位交叉。安裝時請先按照先低后高的原則,首先安裝頂層跳線,數(shù)碼管安裝高度要適當(dāng)高于三極管和集成電路,以便于加裝外殼。測試前用編程器將C程序編譯成目標(biāo)文件即(hex文件),用專用的編程器寫人89C2051中。單片機(jī)安裝在DIP20的腳插座上。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。