濟(jì)南職業(yè)學(xué)院 楊清林
計(jì)時(shí)工具自問世至今已經(jīng)有很長一段歷史了,一直以來它都在人們?nèi)粘I钌a(chǎn)中發(fā)揮著十分重要的作用。科學(xué)技術(shù)的不斷發(fā)展為各種新型時(shí)鐘的問世提供了先決條件,數(shù)字時(shí)鐘就是其中之一。數(shù)字時(shí)鐘能夠精確地表示時(shí)、分、秒,至今已經(jīng)普遍應(yīng)用到各類行業(yè)以及公共場所,時(shí)鐘的數(shù)字化更為人們的生活帶來了極大的便利,所以對時(shí)鐘進(jìn)行研究有著十分重要的現(xiàn)實(shí)意義。
通常情況下,數(shù)字時(shí)鐘的硬件部分主要包括數(shù)碼管輸出顯示電路、按鍵輸入電路以及最小系統(tǒng)三大部分。
本次設(shè)計(jì)將Atmel公司生產(chǎn)制造的AT89 C51單片機(jī)作為主要的研究部分之一,該部分往往是整個(gè)控制系統(tǒng)的最關(guān)鍵部件,它不僅能夠用于數(shù)值計(jì)算,同時(shí)還能夠控制整個(gè)系統(tǒng),并能夠?qū)ο到y(tǒng)每一時(shí)刻的輸出量和輸入量進(jìn)行反饋,最終實(shí)現(xiàn)自動控制的目的。
數(shù)碼管顯示電路通常會采用動態(tài)顯示方式。整個(gè)電路采用了三位共陰的數(shù)碼管,也就是將發(fā)光二極管的陰極部分都連接起來,作為它們的公共端,而將發(fā)光二極管的陽極單獨(dú)引出,此時(shí)將陽極與高電平相連后,相應(yīng)的數(shù)碼段就會發(fā)亮。所以要想顯示出不同的數(shù)字,只需通過分別控制各數(shù)碼段的發(fā)光二極管的亮滅狀態(tài)即可。將兩個(gè)三位的共陰數(shù)碼管的a-dp的所有的同名端連接到一起,接到輸出口上,那么每一時(shí)刻數(shù)碼管將僅會顯示相同的字符[1]。
程序的編寫往往都會按照相應(yīng)的流程圖,并且流程圖也會體現(xiàn)出設(shè)計(jì)要求,因此源程序的設(shè)計(jì)與流程圖兩者之間有著緊密的聯(lián)系。軟件設(shè)計(jì)的總體框架為主程序,所以要想使得整個(gè)程序不存在設(shè)計(jì)問題,就必須要保證主程序流程圖的準(zhǔn)確性。
時(shí)間控制子程序中,要借助定時(shí)器TO中斷,第一步要先給TO裝入初值3CBOH,通常情況下產(chǎn)生一次中斷需要50 m/s[2]。當(dāng)TO產(chǎn)生第一次中斷時(shí),PC指針將轉(zhuǎn)到TO中斷入口執(zhí)行中斷程序。要想盡可能地減小程序在兩次中斷間執(zhí)行所產(chǎn)生的時(shí)間誤差,就必須要將重裝的初值限定為3CC2H。隨后便進(jìn)行循環(huán)計(jì)數(shù)環(huán)節(jié)。
整點(diǎn)報(bào)時(shí)子程序在設(shè)計(jì)過程中的第一步就是要檢查分與秒的指向。當(dāng)兩者都是0時(shí),則向輸出口P3.4輸出低電平,以此來使蜂鳴器出聲,并堅(jiān)持1秒鐘[3]。當(dāng)兩者都沒有到整點(diǎn)時(shí),就要返回到主程序繼續(xù)完成下一個(gè)操作。
秒表顯示子程序與時(shí)鐘顯示子程序在設(shè)計(jì)上有很大共同之處,兩者的最大區(qū)別在于前者比后者增加了延時(shí)程序,這樣就能夠保證L E D數(shù)碼管顯示秒表計(jì)時(shí)的數(shù)字,并保持2秒鐘。當(dāng)去掉延時(shí)程序時(shí),秒表計(jì)時(shí)的結(jié)果將不再為固定不動的顯示,而是被覆蓋。因此,延時(shí)程序?qū)τ诿氡盹@示子程序來說有著十分重要的作用。
電路連接部分測試的第一步就是要檢查所有的器件自身可否正常工作,這為之后的調(diào)試工作提供了保證。第二步就是要畫出正確的元器件引腳圖,并按照引腳圖進(jìn)行正確的連接。最后就是要借助萬用表測試所有的導(dǎo)線是否可以正常導(dǎo)通,這樣可以為單片機(jī)之后的工作做好準(zhǔn)備。
數(shù)字時(shí)鐘實(shí)物的調(diào)試主要分為兩大部分,第一部分為軟件部分的調(diào)試,第二部分為實(shí)物調(diào)試。前者指的是在單片機(jī)開發(fā)綜合實(shí)驗(yàn)裝置上做硬件仿真,以此來檢驗(yàn)程序可否按照預(yù)想的運(yùn)行。當(dāng)試運(yùn)行結(jié)束后,就要按照時(shí)鐘的實(shí)際運(yùn)行狀態(tài)作出針對性的修改。當(dāng)進(jìn)行實(shí)物調(diào)試時(shí),需要在確定線路完好后接入5V電源進(jìn)行調(diào)試。若接入5V電源后,出現(xiàn)數(shù)碼管顯示不清晰,并且出現(xiàn)亮度偏低的情況時(shí),就表明單片機(jī)管腳的輸出電流過小,無法驅(qū)動數(shù)碼管。所以,這就需要在P1的各個(gè)端口并聯(lián)一個(gè)1 K的電阻來保證通過數(shù)碼管的電流不至于偏低。
本文將單片機(jī)A T89 C51作為本次研究的核心控制器,其中單片機(jī)的作用主要為保障硬件電路的穩(wěn)定,并最大限度地降低電磁以及其他因素的干擾,以及盡可能地發(fā)揮出軟件編程的巨大優(yōu)勢。
科技的不斷發(fā)展為單片機(jī)數(shù)字時(shí)鐘的發(fā)展提供了一大助力,在未來的時(shí)間里單片機(jī)數(shù)字時(shí)鐘必將得到進(jìn)一步的發(fā)展。
[1]張毅剛,彭喜元,姜守達(dá),喬立巖.新編M CS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱∶哈爾濱上業(yè)大學(xué)出版社,2004.
[2]需思孝,馮育氏.單片機(jī)系統(tǒng)設(shè)計(jì)及上程應(yīng)用[M].陜西∶西安電子科技大學(xué)出版社,2005.
[3]戴勝華,蔣大明,楊世武等單片機(jī)原理與應(yīng)用[M].北京∶清華大學(xué)出版社,北京交通大學(xué)出版社,2006.