通用型智能LED顯示面板設計
2.3 通信接口電路
此顯示面板既可作為智能調節儀表的顯示器使用,也可作為獨立顯示器使用。但是,無論何種應用,都需數字通信。
AT89C5X單片機有一個內置的串行通信接口。在作為智能調節儀表的顯示器使用時,考慮到智能調節儀表與上位機通信要占用儀表的串行
通信接口,因此,顯示面板與調節儀表的通信就不能使用此接口。為此,本顯示面板自定義了與調節儀表的通信接口電路,即將單片機的P3. 2、P3.3、P3.4、P3.5作為與調節儀表的數字通信接口。通信時,可將兩個單片機的P3.2、P3.3交叉相連作為握手信號,P3.4、P3.5互聯作為數據傳輸線。P3.2、P3.3具有外部中斷功能,故可設計采用外部中斷方式來進行通信,以提高數據的傳輸速度。
若作為獨立顯示器使用時,可使用顯示面板內部的串行通信接口。該方式只需要對連接串口引腳的發光二極管進行調整即可。
2.4 按鍵
通常根據按鍵數量的多少,可將按鍵的設計分為矩陣式鍵盤和獨立式鍵盤。
矩陣式鍵盤常用在按鍵數量較多的系統中,這種鍵盤由行線和列線組成,按鍵設置在行、列結構的交叉點上。行列線分別連在按鍵開關的兩端。
獨立式鍵盤通常用在按鍵較少的系統中,每個按鍵單獨占有一根I/O口線,各鍵的工作狀態相互獨立,互不影響。由于本文的顯示面板的調節按鍵只有4個,因此,設計使用獨立式按鍵接法。其鍵盤接口電路如圖2所示。本文引用地址:http://www.104case.com/article/187722.htm
圖2中,單片機P0口的P0.4、P0.5、P0.6、P0.7分別與按鍵1、2、3、4相連,以對按鍵操作進行控制。在按鍵處理時,通常要考慮按鍵去抖問題,經常使用的硬件去抖方法有濾波消抖電路和雙穩態消抖電路,也可以采用軟件去抖。本文在設計時,考慮到LED顯示面板大小的限制,故采用軟件去抖方法。
3 軟件設計
本LED顯示面板的功能可用C51語言實現。軟件功能包括正常運行和儀表參數設定。
3.1 主程序
本設計的主程序主要完成顯示面板功能的確定、系統初始化、定時器初始化、按鍵功能的實現以及二極管的功能實現等。
(1)顯示面板功能的確定
這里采用組合鍵操作來進行顯示面板的功能切換。
初始狀態下,若作為調節儀表的顯示器使用,則其正常工作狀態,為狀態1。
在狀態1情況下,按下按鍵4不釋放,再將按鍵1按下,此時仍可作為調節儀表的顯示器使用,但系統會進入參數設定狀態,此為狀態2。為了提醒進入狀態2,紅色發光二極管會閃爍三次以提示參數設定完畢,連按兩次按鍵4,即可返回狀態1。
在狀態1下,按下按鍵4不釋放,再將按鍵2按下,此時將為獨立的顯示單元使用狀態,該狀態為狀態3。同樣,為了提醒是進入狀態3,綠色發光二極管會閃爍三次予以提示。若需狀態3返回狀態1,只要在正常巡檢情況下,將按鍵2按下即可。
(2)系統初始化
系統初始化主要包括按鍵、LED數碼管以及發光二極管的初始狀態設定。本面板右邊四個按鍵對應P0口初始狀態值為0xf0;LED數碼管對應的P1、P2口的初始狀態值可先設置為0x00、0x00,經過一段時間延遲后再設置為0xff,0xff,這樣,在程序開始執行時就可以檢查數碼管是否能正常工作;發光二極管對應的P3口的P3.0、P3.1、P3.6、P3.7的初始狀態設置與LED數碼管相同。
(3)定時器初始化
定時器的初始化包括定時器工作方式的設定和定時初值的設置。
本文的LED數碼管采用動態(掃描)驅動顯示方法,設計時要注意掃描時間的設置。該時間要既能保證LED數碼管的亮度,又不會使人眼感覺到閃爍。
定時器的工作模式為方式1。此模式下的計數脈沖頻率為fcont=fosc/12,計數初值x可以通過公式設定:
X=M-計數值=M-t/T=M-fosct/12
其中,fosc為振蕩器的振蕩頻率,t為要定時的時間。M為定時器的最大定時時間。
根據視覺暫留特性。人眼睛對動態頻次的分辨率一般為1/16~1/24s,因此,可以將LED數碼管輪流顯示的時間設定為小于這個分辨率的任何一個時間。本文在設計時,經過多次試驗發現,將定時器的初值設定為EC00H(2.78ms)比較合適,此時,在狀態1、3下,對于LED數碼管的閃爍,人眼幾乎不可識別。
(4)按鍵功能的實現
在狀態1及狀態3下,按鍵的功能比較容易理解,這里來對狀態2下的按鍵功能進行說明,圖3所示依次為1、2、3、4鍵。其中按鍵1可進入設定狀態,上面一行顯示參數的值,下面一行顯示當前是第幾個參數;按鍵2用于對當前閃爍數據位進行加1操作,可依次從0增加到9,當增加到10時,又自動變為0;按鍵3用于改變設定的位,每按下一次,閃爍數據位向后移動一位,當移動到第四位再按下此鍵時,閃爍位變為第一位;按鍵4用于確認參數的設定和保存。
評論