路士兵
【摘要】 多功能數(shù)字鐘有多種設(shè)計(jì)方法,本設(shè)計(jì)是由AT89S52單片機(jī)、鎖存器等組成,采用中斷的方式定時(shí),利用6段數(shù)碼管能穩(wěn)定的顯示時(shí)、分、秒,并且當(dāng)計(jì)時(shí)出現(xiàn)偏差時(shí),能糾正誤差,還能發(fā)出設(shè)定好的音樂(lè)及提示音。
【關(guān)鍵字】 AT89S52單片機(jī) 中斷 數(shù)碼管
一、引言
數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于車站,值班門崗,碼頭等等公共場(chǎng)所,成為人們?nèi)粘I钪械谋匦杵?。諸如按時(shí)自動(dòng)打鈴、自動(dòng)報(bào)警、定時(shí)程序自動(dòng)控制、自動(dòng)起閉路燈、定時(shí)廣播、通斷動(dòng)力設(shè)備、定時(shí)開(kāi)關(guān)烘箱、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以多功能數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。
二、工作原理
數(shù)字鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。可整體構(gòu)想:標(biāo)準(zhǔn)頻率可由振蕩電路產(chǎn)生,更精確時(shí),可由石英晶體產(chǎn)生。計(jì)數(shù),可由2個(gè)60進(jìn)制計(jì)數(shù)器,分別作為秒、分計(jì)數(shù)單元,一個(gè)24進(jìn)制,作為時(shí)計(jì)數(shù)單元。計(jì)數(shù)單元同樣可采用中斷定時(shí)方式,這就需要由軟件來(lái)實(shí)現(xiàn)。對(duì)于校時(shí)部分,一般都是手動(dòng)進(jìn)行,通過(guò)按鍵來(lái)控制時(shí)、分、秒的快速校準(zhǔn)。系統(tǒng)由AT89S52單片機(jī)、鎖存器74HC573、LED 數(shù)碼管、按鍵、發(fā)光二極管等部分構(gòu)成,采用中斷的方式定時(shí),能實(shí)現(xiàn)比較精確的走時(shí)、時(shí)間的調(diào)整等功能。秒信號(hào)是由單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生,通過(guò)軟件計(jì)數(shù)和軟件的譯碼,以動(dòng)態(tài)掃描的方式將時(shí)間顯示在數(shù)碼管上面。通過(guò)按鍵的檢測(cè)可以控制單片機(jī)相應(yīng)的動(dòng)作,來(lái)達(dá)到調(diào)時(shí)的目的。
三、多功能數(shù)字鐘的設(shè)計(jì)
3.1 AT89S52單片機(jī)
AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。
3.2 鎖存器74HC573
74HC573包含八路D 型透明鎖存器,每個(gè)鎖存器具有獨(dú)立的D 型輸入,以及適用于面向總線的應(yīng)用的三態(tài)輸出。所有鎖存器共用一個(gè)鎖存使能(LE)端和一個(gè)輸出使能(OE)端。Dn:第n路輸入數(shù)據(jù); On:第n路輸出數(shù)據(jù);當(dāng)LE為高時(shí),數(shù)據(jù)從Dn輸入到鎖存器,在此條件下,鎖存器進(jìn)入透明模式。
3.3 數(shù)碼管顯示電路
要同時(shí)使得6個(gè)數(shù)碼管點(diǎn)亮,所需的I\O口是很多的。為了節(jié)省單片機(jī)的I\O口,通常采用動(dòng)態(tài)掃描的顯示方法,將每個(gè)數(shù)碼管的同名段連在一起,分6次向數(shù)碼管寫數(shù)據(jù),每次對(duì)6個(gè)數(shù)碼管寫相同的數(shù)據(jù),每次選通一個(gè)數(shù)碼管,完成掃描,通過(guò)調(diào)整、縮短掃描的時(shí)間,由于人眼的視覺(jué)暫留作用,使得人們看起來(lái)就像同時(shí)顯示一樣,以達(dá)到動(dòng)態(tài)顯示的目的。
3.4 輸入輸出口的連接
P0口:當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。本文設(shè)計(jì)使用P0口的P0.0~P0.2來(lái)分別控制調(diào)時(shí)中的時(shí)、分、秒。
P1口:P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 本次設(shè)計(jì)P1口分別接段選74HC573的2~9引腳,鎖存控制數(shù)碼管的點(diǎn)亮。
P2口:當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。本次設(shè)計(jì)使用P2口的P2.0~P2.5分別接位選74HC573的2~7腳,控制數(shù)碼管輪流點(diǎn)亮。此外,我們同樣用P2.7口控制蜂鳴器的報(bào)時(shí)。
P3口:當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。本次使用了P3的P3.1~P3.2分別控制段選和位選。
四、總結(jié)
多功能數(shù)字鐘在我們?nèi)粘I钪袘?yīng)用非常廣泛,本文采用AT89C52單片機(jī)和6位數(shù)碼管,設(shè)計(jì)了一個(gè)多功能數(shù)字鐘,它不僅具有報(bào)時(shí)的功能,還可以擴(kuò)展成音樂(lè)鬧鐘、蜂鳴器。使用單片機(jī)制作的數(shù)字時(shí)鐘具有設(shè)計(jì)簡(jiǎn)單,易于開(kāi)發(fā),成本較低,安全可靠,操作方便等特點(diǎn)。
參 考 文 獻(xiàn)
[1]張自紅等.C51單片機(jī)基礎(chǔ)及編程應(yīng)用[M].中國(guó)電力出版社,2012,10
[2]趙其娟.淺析數(shù)字時(shí)鐘的設(shè)計(jì)與發(fā)展[J].科技風(fēng),2015.11
[3]吳建寧.實(shí)用教學(xué)數(shù)字電路時(shí)鐘設(shè)計(jì)與制作[J].電子制作,2015.9
[4]譚浩強(qiáng).C++程序設(shè)計(jì)[M].清華大學(xué)出版社,2011,8