P87LPC761單片機控制的時間控制器系統(tǒng)
鑒于篇幅,這里只介紹程序整體流程圖,如圖4所示。相關(guān)問題處理
4.1 計時補償
定時器。工作在方式1,而方式1的計數(shù)受到軟件的影響。為了減少計時誤差,在給定時器1恢復(fù)初值(3CBOH)的時候,要把軟件所占用的時間補回來。在中斷中重新賦初值采取如下方式:
通過軟件補償后,在晶振準(zhǔn)確的情況下,能夠給計時帶來誤差的就僅僅只有中斷的響應(yīng)時間了。
4.2 低功耗處理
低功耗是這個設(shè)計所必須處理好的問題。通過交流電檢測電路檢測交流電的存在與否。在程序中是這樣處理的:查詢P1.3口的電平,當(dāng)P1.3口是高電平時,就進入正常狀態(tài)即顯示、鍵盤、所有中斷、串行口都正常工作,一旦P1.3口為低電平,則關(guān)掉顯示、鍵盤、串行口以及T1中斷,即只開放刷新時鐘的TO中斷(這是為了保證在休閑模式下,時鐘仍能運行,數(shù)據(jù)不丟失)進人體閑模式。為了降低系統(tǒng)功耗,還需要關(guān)閉掉電檢測、比較器等,這部分工作在初始化部分完成。
4.3 狀態(tài)指示燈
為了充分利用系統(tǒng)硬件資源.利用七段數(shù)碼管的小數(shù)點來做狀態(tài)指示燈。因為在時鐘顯示里面沒有小數(shù)。我們在程序中是這樣控制小數(shù)點的,在七段代碼表里面把有小數(shù)點的代碼放在無小數(shù)點代碼的后面,相同的數(shù)字有無小數(shù)點的代碼位置相距10,在需要小數(shù)點的時候,把取代碼的指針加上10就可以了。安排了2個指示燈,D10(綠)是開啟時間指示燈,D11(黃)是關(guān)閉時間指示燈。若綠黃兩燈都亮,則表示當(dāng)前這組定時已經(jīng)被禁止了。
評論