資源描述:
《數(shù)字時鐘的設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、題目:數(shù)字時鐘的設(shè)計與實現(xiàn)一.功能要求:1.用單片機和6位LED數(shù)碼管顯示時、分、秒,實現(xiàn)從00時00分00秒----23時59分59秒循環(huán)運行。2.用按鍵實現(xiàn)時、分、秒的調(diào)整。3.整點提醒:0、1、2……23和短蜂鳴。4.省電功能:關(guān)閉顯示。5.定時設(shè)定提醒:時間到時發(fā)出五次蜂鳴聲6.秒表功能:顯示XX分XX秒XX按“復(fù)位”鍵:顯示00分00秒00;按“啟動”鍵:從00分00秒00開始計時按“停止”鍵:顯示實際計時XX分XX秒XX。二.硬件設(shè)計要求:1.用偉福6000實驗裝置上8255的A囗作顯示段碼鎖存器,B囗作位碼鎖存器,利用發(fā)的實驗器材6位LED數(shù)碼管顯示時、分、秒。2.利
2、用偉福6000實驗裝置上8255的B囗的6根位碼輸出線和8255C囗中的PC0作按鍵的輸入囗線,實現(xiàn)最多6個按鍵的識別,作為實現(xiàn)上述功能要求的硬件保證。3.偉福6000實驗裝置上提供給該課題的硬件是:AT89C51單片機(包括P1囗、P3囗)、8位可編程並行I/O囗8255(包括A囗、B囗、C囗)、地址譯碼電路、蜂碼器及直流電源。4.本次設(shè)計提供給各組的器材有:(1)印刷電路板一塊(2)7406集成電路3片(3)LED數(shù)碼管6個(4)1K排阻2個,4.7K電阻一個。(5)40芯IC插座2個、14芯IC插座3個(6)按鍵6個(7)焊錫、導(dǎo)線若干。三.軟件設(shè)計(僅供參考):1.主程序流
3、桯圖2.顯示子程序的設(shè)計:(1)釆用十進制BCD(2)顯示緩沖區(qū)的分配(3)要顯示的數(shù)據(jù)送顯示緩沖區(qū)(4)把顯示的數(shù)據(jù)置換出段碼(5)送段碼和位碼,進行顯示(6)延時3.定時中斷服務(wù)子程序的設(shè)計(1)利用定時器T0定時10毫秒,累計到1秒時秒計數(shù)加1,累計到60秒時分計數(shù)加1,累計到60分時時計數(shù)加1,累計到24小時從頭開始。(2)注意保護現(xiàn)場和恢復(fù)現(xiàn)場(3)注意設(shè)置毫秒、秒、分、時的存放單元四、軟件仿真仿真部分由Protues實現(xiàn)。Protues可以嵌入單片機的二進制代碼,便于程序調(diào)試。本次仿真的電路圖如下所示:其中,按鍵為輸入電路,為行列式設(shè)計,行線接入8255芯片的PC0口,
4、列線分別對應(yīng)接入8255芯片的PB0~PB3口,與數(shù)碼管的位選線共享端口。數(shù)碼管為輸出電路。本次實驗一共要使用6個數(shù)碼管,以動態(tài)顯示方式輪番輸出字符,6個數(shù)碼管的段碼線相互并聯(lián)后接入8255芯片的PA端口,a、b、c、d、e、f、g端口分別連接PA0~PA6端口,在8255芯片引腳和段碼線之間分別一一串聯(lián)7406芯片、并聯(lián)一個排阻以提供激勵,使數(shù)碼管發(fā)亮。位選線則以數(shù)碼管的接地線組成,從時十位、時個位、分十位、分個位、秒十位、秒個位分別接入8255芯片的PB0~PB5端口,其中PB0~PB3這四個端口分別并聯(lián)上四個按鍵。同理,每個引腳和8255芯片之間都一一串聯(lián)上7406芯片和并聯(lián)
5、上排阻。位選線負責選取某一時間片要顯示哪一個數(shù)碼管,顯示間隔由源程序決定。五、焊接本次實驗由于沒有提供8051芯片、8255芯片。上述芯片均由偉福實驗箱提供,焊接的時候需要在萬用板上面預(yù)留PA、PB接線口。另外,萬用板上面同時需要預(yù)留電源的正負極、PC0口接線,共計17個接線口。由于萬用板的大小的限制及芯片引腳定義的影響,實際上的電路圖不會和仿真軟件的電路圖完全一致,不過大體上還是一樣的。還有,本次焊接實際上需要比較多的電線,尤其是數(shù)碼管部分,由于相鄰引腳非常貼近,在焊接的時候要非常留心,謹防相鄰兩點短路。在焊接完成后,由于背板上面線路眾多,需要用膠紙固定整理,防止導(dǎo)線脫落。焊接完
6、成后,萬用板上面已經(jīng)有相應(yīng)的接線,于是進行硬件實現(xiàn)部分。六、硬件實現(xiàn)本次硬件實現(xiàn)部分由偉福Lab6000實驗箱提供8051芯片和8255芯片,分別連接萬用板相應(yīng)的接線。由偉福的Wave6000軟件向?qū)嶒炏渖厦娴?051芯片燒入時鐘的程序。另外,電源的正負極也是由Lab6000提供。電路板中有6個按鍵,不過實際上使用的有4個,就是離PA、PB連接端口較遠的4個起作用,離PA、PB連接端口較近的兩個沒有定義。從遠離端口的按鍵開始依次編號K1、K2、K3、K4,每個按鍵都有如下功能:1)當先按K1的時候,系統(tǒng)就進入調(diào)節(jié)時間狀態(tài),數(shù)碼管上就顯示時鐘。K2、K3、K4的功能依次為選擇調(diào)整的單
7、元(時、分、秒),單元數(shù)值加1,退出調(diào)整狀態(tài),單元數(shù)值減1;2)當先按K2的時候,系統(tǒng)不作出任何反應(yīng),等待用戶按K1、K3、K4;3)當先按K3的時候,系統(tǒng)就進入省電模式,數(shù)碼管熄滅,然后按K1、K2、K3、K4任意一鍵即可點亮數(shù)碼管并還原到上次的顯示狀態(tài);4)當先按K4的時候,系統(tǒng)就進入秒表狀態(tài),數(shù)碼管上面就顯示秒表。K1、K2、K3、K4的功能依次為切換至時鐘、顯示暫停變化(內(nèi)部繼續(xù)計時)或者數(shù)碼管繼續(xù)變化、復(fù)位清零、暫停計時。七、程序所有程序如下所示ORG000