新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AT89C2051組成的時鐘電路原理圖

AT89C2051組成的時鐘電路原理圖

作者: 時間:2010-03-15 來源:網(wǎng)絡(luò) 收藏

我們以一個實際的來說明定時器的軟件編程方法,就是我們最為常見的顯示時、分、秒為單位的計時工具,它是典型的應(yīng)用代表。

的最小計時單位是秒,但使用單片機定時器來進行計時,若使用6.0MHz的晶振,即使按工作方式1工作,最大的計時時間也只能到131ms,所以我們可把每個定時時間取125ms,這樣定時器溢出8次(125msw8=1000ms)就得到最小的計時單位秒。而要實現(xiàn)8次計數(shù)用軟件方法實現(xiàn)是輕而易舉的。

我們使用定時器1,以工作方式1工作,定時器進行125ms定時。采用中斷方法進行溢出次數(shù)的累計,當(dāng)計滿8次即得到1秒的計時。

一個時鐘的計時累加,要實現(xiàn)分、時的進位,要用到多種進制,秒、分、時中的進位是十進制,秒向分進位和分想時進位卻是六十進制,而每天又有十二小時制或二十四小時制,它們分別又是十二進制和二十四進制。從秒到分和從分到小時可以通過軟件累加和數(shù)值比較方法實現(xiàn)。

在單片機的內(nèi)部RAM中,需要設(shè)置顯示緩沖區(qū),顯示的時、分、秒值是從顯示緩沖區(qū)中取出的,在RAM中設(shè)置四個單元作為顯示緩沖區(qū),分別是7AH、7BH、7CH。為使敘述方便,我們這里不顯示秒值,秒的進位我們通過閃爍分值實現(xiàn)。這樣我們一共有四位LED分別顯示時和分值。同時時鐘都需要校準的。在程序中還需設(shè)置顯示碼表,要顯示的數(shù)值通過查表指令將顯示用的真正碼值送到LED上。我們用單片機的PP3.4和P3.5兩個I/O口外接微動開關(guān)來實現(xiàn)時和分的校正,每按一次小時或分值加1,連續(xù)按下數(shù)值累計下去,實現(xiàn)時鐘的校準。

中我們還設(shè)置了一個蜂鳴器,用作簡單報時用,如可設(shè)早上7:30分起床,中午1點30分再有起床報時,每次響時1分鐘,響1秒,停2秒的方式,而不是連續(xù)響鈴。這個程序我們采用12小時制,為此,要在程序中設(shè)置相應(yīng)的標志,以利于主程序識別。同樣計時程序中還會有幾個相關(guān)的標志,主要是控制程序流的轉(zhuǎn)向。程序中我們都作了較詳細的注釋,這里不再贅述。

硬件電路,我們還是以低價的單片機為微處理單元,這個芯片兼容C51指令系統(tǒng),在C51上編寫的程序,無需任何修改即可方便地移植到這個芯片上來。我們以P0口作為LED的字段位驅(qū)動輸出,秒的“進位”采用分值閃爍提示,亮0.5秒,熄0.5秒。,P3.1―P3.3用于位驅(qū)動,使用動態(tài)掃描方式顯示,每位LED的顯示時間10―25ms之間均可,掃描頻率不能太高,否則每位LED顯示的時間過短,亮度太低,不易于觀看,以肉眼不感覺到LED閃爍為宜。為了直觀,我們的驅(qū)動輸出沒有采用集成電路,而是使用了分立元件―三極管,但工作卻是一致的。

本文引用地址:http://m.butianyuan.cn/article/173432.htm
電路原理圖
這個電路結(jié)構(gòu)決定LED采用共陽極的數(shù)碼管,可以采用LQ5101BS普通的發(fā)光二極管,驅(qū)動三極管可采用易得的2SA1015和2SC1815等型號,當(dāng)然也可使用象S9012,S9013,S9014,2N5401,2N5555等小功率三極管,其它器件沒有特殊要求。為便于實驗,單片機可采用DIP20P插座,程序編制好后,調(diào)試無錯,即可燒寫到AT89C2051中,值得一提的是,AT89C2051是Flash程序存儲器,程序可反復(fù)擦寫,對于做實驗是非常方便的。

DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY




關(guān)鍵詞: 原理 電路 時鐘 組成 AT89C2051

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉