基于單片機的多用途定時器的設計與實現
由于AT89 C51的內部計數器是16位的,即便采用2MHz的時鐘,計滿一次為32767.5μs,因此通過Intel 8253外擴了計數器,并且用AT89 C51的ALE輸出作為8253的時鐘脈沖,這樣就大大地擴展了量程范圍。
通過Intel8279外擴了鍵盤/顯示器,由于Intel8279內部自帶按鍵消抖電路和鍵值自動掃描電路,故無須再進行編程,這樣既提高了可靠性,同時也減少了整個程序的代碼量。
鍵盤為4×4物理鍵陣(部分鍵是復用的),除了0~9數字鍵外,還有計時鍵、修改鍵、確認鍵、設置鍵/復位↑、↓等功能鍵,鍵位排布情況見圖1。因為選用了塑膜按鍵(定做的),所以既防塵又美觀。
顯示器選用5位高紅LED管,分別表示時、分、秒。之所以沒有選用液晶,主要是從廣泛的實用環境來考慮的,比如球賽,大多是在戶外進行的,LCD就顯得亮度不夠了。另外用了4個發光二極管作為時與分、分與秒之間的分界符,如圖2所示。
達到預定時間,聲光同時報警,采用高亮度LED和所需語音(時間到,請停止 )。CPU對8279的監視采用了查詢方式,故8279的中斷請求信號IRQ懸空未用。
系統有直流(4節1號干電池)和交流(220V市電)兩種供電方式。整流電源是與系統配裝在一起
3 軟件結構
8253的工作時鐘是ALE,輸出為1MHz。它有三個計數器,為了能夠最大限度地擴大計時量程,三個計數器采用了“套用”方式,即計數器0的輸出作為計數器1的輸入脈沖,計數器1的輸出作為計數器2的輸入脈沖,最后計數器2的輸出才輸入到的。整個系統的結構如圖3所示。
AT89 C51的T0進行計數,一個“硬件計時周期”就能定時71min1.41s,這已能滿足一般的賽事定時需要。從更廣的范圍考慮,編制了不同“軟定時”延遲程序,可用嵌套的形式啟動“硬件計時周期”,以達到更長的定時需要,但是顯示器的位數已定,最長能夠定時10h,這已足夠長了。
系統軟件分為三大模塊,即初始化模塊,鍵盤掃描/顯示模塊,時間延遲(脈沖計數)模塊。關鍵技術為延遲時間的計算和對8279編程,工作期間要動態地顯示倒計時時間,結構框圖如圖4所示。
4 結束語
本文所介紹的多用途定時器設計巧妙,體積小,造價低,功能強,計時范圍大,用途廣泛,操作攜帶方便,是一種較理想的定時工具,經多次試用改進后已基本定型。該系統市場前景廣闊,具有較明顯的經濟效益。
參 考 文 獻
2 李華.MCS-51系列單片機實用接口技術.北京:北京航空航天大學出版社,1993
3 李秉操等.單片機接口技術及其在工業控制中的應用.陜西:陜西電子編輯部,1991
4 陳鍵鐸.8098單片機原理及應用技術.北京:電子工業出版社,1995
評論