找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7019|回復(fù): 0
收起左側(cè)

模擬電子鐘(由80C51定時器產(chǎn)生秒時基)

[復(fù)制鏈接]
ID:111634 發(fā)表于 2016-5-11 17:29 | 顯示全部樓層 |閱讀模式

實(shí)例94 模擬電子鐘(由80C51定時器產(chǎn)生秒時基)

摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

實(shí)例90實(shí)例93時鐘采用了專用的實(shí)時時鐘芯片DS1302,由80C51讀出其時鐘數(shù)據(jù)并驅(qū)動顯示。本例由80C51定時器產(chǎn)生秒時基,再計數(shù)生成時分秒數(shù)據(jù),與74LS595組成模擬電子鐘。

電路設(shè)計

設(shè)計模擬電子鐘電路如7-13所示,由80C51 RXD端與控制時十位輸出顯示的74HC595DS端連接,595串行輸出端QS與下一片595串行輸入端DS端連接,595并行輸出端Q0Q7與數(shù)碼管筆段ag、Dp端連接,依次輸出6位時分秒數(shù)據(jù);80C51 TXD端與6595 CLK端連接      ,串行輸出時鐘脈沖,控制595串行移位;80C51P1.66595 RCK端連接,控制輸出觸發(fā)595片內(nèi)緩沖寄存器中數(shù)據(jù)進(jìn)入輸出寄存器的正脈沖;80C51P1.5P1.4、P1.3分別與時、分、秒595輸出允許端端連接,控制6595輸出顯示;80C51P1.72組發(fā)光二極管(共4個)連接   ,控制秒閃爍;80C51 P1.2P1.0K0K2連接,控制時鐘時分秒校正。

圖7-13.jpg









74HC595特性已在實(shí)例44中介紹,此處不再贅述。

程序設(shè)計

設(shè)fOSC=6MHz,按7-13電路,要求開機(jī)顯示000秒,隨后開始計時運(yùn)行,2組發(fā)光二極管秒閃爍(亮暗各500ms。同時要求K0K1K2具有時鐘校正功能,其控制過程為:按下K0(帶鎖),進(jìn)入時鐘修正;首先,時數(shù)據(jù)(包括時十位、時個位)快速閃爍(亮暗各131ms);按一次K1(不帶鎖),被修正數(shù)據(jù)(快速閃爍)按時、分、秒(同時包括十位、個位)次序右移(循環(huán)往復(fù));按一次K2(不帶鎖),被修正數(shù)據(jù)整體加1(最大值不超過時鐘規(guī)定值,超過復(fù)0);時鐘修正期間,計時繼續(xù)運(yùn)行;釋放K0,退出時鐘修正。

秒時基產(chǎn)生:fOSC=6MHz時,由T0定時器方式2定時500ms。對500ms計數(shù)2000次,可得到1s時基;再對1s計數(shù)60次,可得1分;對1分計數(shù)60次,可得1小時;對1小時計數(shù)24次,可得1天。

T0初值=28 -500ms/2ms=256–250=6。因此,TH0 =TL0 = 06H。

時鐘修正位閃爍控制:由T1定時器方式1,不需設(shè)置和重裝定時初值,最大定時可達(dá)131ms,正好用于時鐘修正位閃爍。

disp6.jpg
key.jpg

t0t1.jpg



Keil調(diào)試

本題Keil調(diào)試同上例。因涉及串行口外圍元件,在Keil軟件調(diào)試中無法得到外圍元件的有效信號。因此,僅在Keil中,按實(shí)例1所述步驟,編譯鏈接,語法糾錯,自動生成Hex文件。

Proteus仿真

實(shí)例23所述Proteus仿真步驟,打開Proteus ISIS軟件,按7-7選擇和放置元器件,并連接線路,畫出Proteus仿真電路如7-14所示。


表7-7.jpg


圖7-14.jpg





鼠標(biāo)左鍵雙擊Proteus ISIS仿真電路中AT89C51,裝入Keil調(diào)試后自動生成的Hex文件。

全速運(yùn)行后,6LED顯示00:00:00,然后計時運(yùn)行,4個發(fā)光二極管秒閃爍。

按下K0(鎖定),進(jìn)入時鐘修正。

需要說明的是,本例選用的BUTTON按鍵有兩種運(yùn)行功能:有鎖運(yùn)行和無鎖運(yùn)行。作有鎖運(yùn)行時,鼠標(biāo)左鍵單擊按鍵圖形中小紅圓點(diǎn),單擊第一次閉鎖,第二次開鎖。作無鎖運(yùn)行時,鼠標(biāo)左鍵單擊按鍵圖形中鍵蓋帽“   ”,單擊一次,鍵閉合后彈開一次,不閉鎖。

首先2位時數(shù)據(jù)快速閃爍,表示時數(shù)據(jù)允許修正。此時每按一次K2(鼠標(biāo)左鍵單擊鍵圖形中鍵蓋帽“    ”,單擊一次,鍵閉合后彈開一次,不閉鎖),時顯示數(shù)加1,但不超過最大值23,超過時復(fù)0。

若按一次K1(不閉鎖,方法同K2),被修正位(快速閃爍)移至分?jǐn)?shù)據(jù)位,每按一次K2,分顯示數(shù)加1,但不超過最大值59,超過時復(fù)位0。

再按一次K1(不閉鎖,方法同K2),被修正位(快速閃爍)移至秒數(shù)據(jù)位,每按一次K2,秒顯示數(shù)加1,但不超過最大值59,超過時復(fù)位0。

再按一次K1,回復(fù)到時數(shù)據(jù)修正(繼續(xù)按K1,重復(fù)上述①~③過程)。

釋放K0,退出時鐘修正,恢復(fù)正常計時顯示。

終止程序運(yùn)行,可按停止按鈕。

思考與練習(xí)

秒時基是怎樣產(chǎn)生的?
實(shí)例94 模擬電子鐘(由80C51定時器產(chǎn)生秒時基).rar (43.05 KB, 下載次數(shù): 33)






評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100

查看全部評分

相關(guān)帖子

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表