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