基于LED數(shù)碼管的通用型智能數(shù)字顯示面板的設(shè)計
在狀態(tài)1下,按下按鍵4不釋放,再將按鍵2按下,此時將為獨立的顯示單元使用狀態(tài),該狀態(tài)為狀態(tài)3。同樣,為了提醒是進入狀態(tài)3,綠色發(fā)光二極管會閃爍三次予以提示。若需狀態(tài)3返回狀態(tài)1,只要在正常巡檢情況下,將按鍵2按下即可。
(2)系統(tǒng)初始化
系統(tǒng)初始化主要包括按鍵、LED數(shù)碼管以及發(fā)光二極管的初始狀態(tài)設(shè)定。本面板右邊四個按鍵對應(yīng)P0口初始狀態(tài)值為0xf0;LED數(shù)碼管對應(yīng)的P1、P2口的初始狀態(tài)值可先設(shè)置為0x00、0x00,經(jīng)過一段時間延遲后再設(shè)置為0xff,0xff,這樣,在程序開始執(zhí)行時就可以檢查數(shù)碼管是否能正常工作;發(fā)光二極管對應(yīng)的P3口的P3.0、P3.1、P3.6、P3.7的初始狀態(tài)設(shè)置與LED數(shù)碼管相同。
(3)定時器初始化
定時器的初始化包括定時器工作方式的設(shè)定和定時初值的設(shè)置。
本文的LED數(shù)碼管采用動態(tài)(掃描)驅(qū)動顯示方法,設(shè)計時要注意掃描時間的設(shè)置。該時間要既能保證LED數(shù)碼管的亮度,又不會使人眼感覺到閃爍。
定時器的工作模式為方式1。此模式下的計數(shù)脈沖頻率為fcont=fosc/12,計數(shù)初值x可以通過公式設(shè)定:
X=M-計數(shù)值=M-t/T=M-fosct/12
其中,fosc為振蕩器的振蕩頻率,t為要定時的時間。M為定時器的最大定時時間。
根據(jù)視覺暫留特性。人眼睛對動態(tài)頻次的分辨率一般為1/16~1/24s,因此,可以將LED數(shù)碼管輪流顯示的時間設(shè)定為小于這個分辨率的任何一個時間。本文在設(shè)計時,經(jīng)過多次試驗發(fā)現(xiàn),將定時器的初值設(shè)定為EC00H(2.78ms)比較合適,此時,在狀態(tài)1、3下,對于LED數(shù)碼管的閃爍,人眼幾乎不可識別。
(4)按鍵功能的實現(xiàn)
在狀態(tài)1及狀態(tài)3下,按鍵的功能比較容易理解,這里來對狀態(tài)2下的按鍵功能進行說明,圖3所示依次為1、2、3、4鍵。其中按鍵1可進入設(shè)定狀態(tài),上面一行顯示參數(shù)的值,下面一行顯示當前是第幾個參數(shù);按鍵2用于對當前閃爍數(shù)據(jù)位進行加1操作,可依次從0增加到9,當增加到10時,又自動變?yōu)?;按鍵3用于改變設(shè)定的位,每按下一次,閃爍數(shù)據(jù)位向后移動一位,當移動到第四位再按下此鍵時,閃爍位變?yōu)榈谝晃?按鍵4用于確認參數(shù)的設(shè)定和保存。
(5)發(fā)光二極管功能的實現(xiàn)
當測量值到達測量上下限、或者按鍵進行操作時,將相應(yīng)單片機引腳置1,即可使發(fā)光二極管點亮,從而實現(xiàn)報警提示功能。
圖4所示是本系統(tǒng)的主程序流程圖。
評論