通用型智能數(shù)字顯示面板的設(shè)計(jì)方法
0 引言
目前,控制儀表經(jīng)常使用的顯示面板主要有LCD和LED兩種類(lèi)型,其中LCD比較美觀,省電,顯示方式靈活,但是價(jià)格比較昂貴,最重要的是它的醒目程度較低,可視角度也比較小;而LED數(shù)碼管雖然功耗較大,但它亮度高,用作工業(yè)現(xiàn)場(chǎng)指示時(shí)更醒目,而且價(jià)格低。因此,用LED作為工業(yè)現(xiàn)場(chǎng)的指示器,具有更好的性價(jià)比。
本文介紹一種采用LED數(shù)碼管作為顯示元件的通用型智能數(shù)字顯示面板的設(shè)計(jì)方法。該面板根據(jù)80×160 ×160標(biāo)準(zhǔn)儀表機(jī)箱設(shè)計(jì),采用AT98C5X單片機(jī)作為控制器。它既可作為其他儀表的顯示單元,也可作為獨(dú)立的現(xiàn)場(chǎng)顯示器使用。
1 LED顯示面板的功能
本文的LED通用智能型顯示面板如圖l所示。該面板中央為兩排LED數(shù)碼管,每排4位。上排為紅色,下排為綠色。面板左邊為四個(gè)發(fā)光二極管,右邊為四個(gè)按鍵開(kāi)關(guān)。其顯示和開(kāi)關(guān)可根據(jù)不同應(yīng)用定義。
該面板作為調(diào)節(jié)儀表的顯示器時(shí),上排LED可顯示測(cè)量值,下排LED可顯示閥位反饋值。左邊的發(fā)光二極管用做工作狀態(tài)指示,從上到下,依次為高報(bào)警、低報(bào)警、自動(dòng)(亮)/手動(dòng)、以及儀表通信狀態(tài)指示。右邊的按鍵用于參數(shù)設(shè)定與查詢等操作。為方便描述,其按鍵從上到下分別稱(chēng)為按鍵1~4。
在調(diào)節(jié)儀表正常工作狀態(tài)下,按鍵1按下時(shí),報(bào)警上限值顯示;按鍵2按下時(shí),報(bào)警下限值顯示;按鍵3為閥門(mén)開(kāi)度手動(dòng)/自動(dòng)切換。當(dāng)設(shè)為手動(dòng)狀態(tài)時(shí),按鍵1和按鍵2用于遙調(diào)閥門(mén)開(kāi)度,每按一次,閥位反饋值(綠色LED最后一位)±1。按鍵4為功能切換按鍵。
在儀表參數(shù)設(shè)定狀態(tài)下,按鍵1為循環(huán)方式選擇參數(shù),紅色LED顯示當(dāng)前設(shè)定值,綠色LED顯示被設(shè)置參數(shù)的序號(hào);按鍵2為設(shè)置位參數(shù)值
加1;按鍵3可以右循環(huán)方式選擇設(shè)置參數(shù)的當(dāng)前位,當(dāng)前設(shè)置的數(shù)據(jù)位用閃爍表示;按鍵4為確認(rèn)參數(shù)設(shè)置,連按兩次按鍵4可進(jìn)行功能切換。
作為獨(dú)立的顯示器單元時(shí),本顯示面板可作為多路巡回顯示報(bào)警器。正常巡檢時(shí),上排LED顯示測(cè)量值,下排LED顯示巡檢回路號(hào)。左邊的發(fā)光二極管顯示回路工作狀態(tài),從上到下依次為高報(bào)警、低報(bào)警、回路中斷、巡檢(亮)/停止?fàn)顟B(tài)。當(dāng)某回路參數(shù)越限時(shí),對(duì)應(yīng)的報(bào)警指示二極管發(fā)亮。
右邊的按鍵可用于設(shè)定參數(shù)與查詢等操作。正常工作(巡檢)時(shí),按鍵2為功能切換,按鍵4為顯示方式切換。按鍵4按下一次,停止巡檢,保持當(dāng)前顯示狀態(tài)。在此狀態(tài)下,按下按鍵1和按鍵2,可分別顯示該回路上、下限報(bào)警設(shè)定值。按鍵3用于循環(huán)選擇顯示回路號(hào),每按一次,回路號(hào)加一。按下按鍵4一次。系統(tǒng)又將進(jìn)入正常巡檢狀態(tài)。
2 硬件部分設(shè)計(jì)
2.1 LED數(shù)碼管顯示電路
LED數(shù)碼管是由若干個(gè)發(fā)光二極管按一定的規(guī)律排列而成的,當(dāng)某個(gè)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的段就會(huì)被點(diǎn)亮。根據(jù)內(nèi)部發(fā)光二極管連接方式的不同,LED數(shù)碼管可以分為共陽(yáng)極和共陰極兩類(lèi)。本文采用共陽(yáng)極顯示方式,段碼值從0到9依次為:Ox0C0、OxF9、Ox0A4、Ox0BO、0x9 9、0x92、0x82、0x0F8、Ox80、0x90。
數(shù)碼管顯示驅(qū)動(dòng)方式可以分為動(dòng)態(tài)(掃描)驅(qū)動(dòng)和靜態(tài)驅(qū)動(dòng),以下是三種設(shè)計(jì)方案:
(1)靜態(tài)驅(qū)動(dòng)方式
該方式中,各個(gè)LED數(shù)碼管同時(shí)顯示各自的字符,并維持不變,直到顯示下一個(gè)字符為止。這種方式下,每一個(gè)數(shù)碼管要對(duì)應(yīng)一個(gè)8位驅(qū)動(dòng)存儲(chǔ)器,8個(gè)數(shù)碼管共需64根驅(qū)動(dòng)線,因而需要較多芯片,顯示面板面積較大。
(2)采用8根位選線的動(dòng)態(tài)驅(qū)動(dòng)顯示
這是將所有數(shù)碼管相同的段選線并聯(lián),各數(shù)碼管位選線輪流選通,分時(shí)多路復(fù)用。這種方案在任一時(shí)刻只有一位數(shù)碼管被選中發(fā)光,然后利用人眼的視覺(jué)暫留特點(diǎn)實(shí)現(xiàn)同時(shí)顯示的效果。本顯示面板有8個(gè)數(shù)碼管,只需要8個(gè)位驅(qū)動(dòng)線和8個(gè)段驅(qū)動(dòng)線。但8位循環(huán)顯示時(shí),每一位數(shù)碼管的發(fā)光時(shí)間只占1/8循環(huán)時(shí)間,可能導(dǎo)致數(shù)碼管顯示閃爍。
(3)采用4位分組動(dòng)態(tài)驅(qū)動(dòng)顯示
這是將兩個(gè)LED數(shù)碼管共用一根位選線。這種方案相對(duì)于方案2少用一個(gè)8位驅(qū)動(dòng)器,每一位發(fā)光時(shí)間有1/4循環(huán),因而比較容易保證數(shù)碼管顯示不閃爍。
本設(shè)計(jì)選用4位分組動(dòng)態(tài)驅(qū)動(dòng)顯示方式。顯示面板采用AT89C5X單片機(jī)作為L(zhǎng)ED控制驅(qū)動(dòng)器。單片機(jī)的P1和P2口分別與兩個(gè)LED數(shù)碼管的段選線相連,P0口的P0.0、PO.1、P0.2、P0.3分別是兩個(gè)LED數(shù)碼管的位選線,主要用來(lái)控制兩個(gè)數(shù)碼管的相同位。
2.2 發(fā)光二極管電路
發(fā)光二極管電路的設(shè)計(jì)比較簡(jiǎn)單??蓪纹瑱C(jī)P3口的P3.0、P3.1、P3.6、P3.7分別與四個(gè)發(fā)光二極管的陽(yáng)極相連,以便控制四個(gè)發(fā)光二極管的工作。[!--empirenews.page--]
2.3 通信接口電路
此顯示面板既可作為智能調(diào)節(jié)儀表的顯示器使用,也可作為獨(dú)立顯示器使用。但是,無(wú)論何種應(yīng)用,都需數(shù)字通信。
AT89C5X單片機(jī)有一個(gè)內(nèi)置的串行通信接口。在作為智能調(diào)節(jié)儀表的顯示器使用時(shí),考慮到智能調(diào)節(jié)儀表與上位機(jī)通信要占用儀表的串行
通信接口,因此,顯示面板與調(diào)節(jié)儀表的通信就不能使用此接口。為此,本顯示面板自定義了與調(diào)節(jié)儀表的通信接口電路,即將單片機(jī)的P3. 2、P3.3、P3.4、P3.5作為與調(diào)節(jié)儀表的數(shù)字通信接口。通信時(shí),可將兩個(gè)單片機(jī)的P3.2、P3.3交叉相連作為握手信號(hào),P3.4、P3.5互聯(lián)作為數(shù)據(jù)傳輸線。P3.2、P3.3具有外部中斷功能,故可設(shè)計(jì)采用外部中斷方式來(lái)進(jìn)行通信,以提高數(shù)據(jù)的傳輸速度。
若作為獨(dú)立顯示器使用時(shí),可使用顯示面板內(nèi)部的串行通信接口。該方式只需要對(duì)連接串口引腳的發(fā)光二極管進(jìn)行調(diào)整即可。
2.4 按鍵
通常根據(jù)按鍵數(shù)量的多少,可將按鍵的設(shè)計(jì)分為矩陣式鍵盤(pán)和獨(dú)立式鍵盤(pán)。
矩陣式鍵盤(pán)常用在按鍵數(shù)量較多的系統(tǒng)中,這種鍵盤(pán)由行線和列線組成,按鍵設(shè)置在行、列結(jié)構(gòu)的交叉點(diǎn)上。行列線分別連在按鍵開(kāi)關(guān)的兩端。
獨(dú)立式鍵盤(pán)通常用在按鍵較少的系統(tǒng)中,每個(gè)按鍵單獨(dú)占有一根I/O口線,各鍵的工作狀態(tài)相互獨(dú)立,互不影響。由于本文的顯示面板的調(diào)節(jié)按鍵只有4個(gè),因此,設(shè)計(jì)使用獨(dú)立式按鍵接法。其鍵盤(pán)接口電路如圖2所示。
圖2中,單片機(jī)P0口的P0.4、P0.5、P0.6、P0.7分別與按鍵1、2、3、4相連,以對(duì)按鍵操作進(jìn)行控制。在按鍵處理時(shí),通常要考慮按鍵去抖問(wèn)題,經(jīng)常使用的硬件去抖方法有濾波消抖電路和雙穩(wěn)態(tài)消抖電路,也可以采用軟件去抖。本文在設(shè)計(jì)時(shí),考慮到LED顯示面板大小的限制,故采用軟件去抖方法。
3 軟件設(shè)計(jì)
本LED顯示面板的功能可用C51語(yǔ)言實(shí)現(xiàn)。軟件功能包括正常運(yùn)行和儀表參數(shù)設(shè)定。
3.1 主程序
本設(shè)計(jì)的主程序主要完成顯示面板功能的確定、系統(tǒng)初始化、定時(shí)器初始化、按鍵功能的實(shí)現(xiàn)以及二極管的功能實(shí)現(xiàn)等。
(1)顯示面板功能的確定
這里采用組合鍵操作來(lái)進(jìn)行顯示面板的功能切換。
初始狀態(tài)下,若作為調(diào)節(jié)儀表的顯示器使用,則其正常工作狀態(tài),為狀態(tài)1。
在狀態(tài)1情況下,按下按鍵4不釋放,再將按鍵1按下,此時(shí)仍可作為調(diào)節(jié)儀表的顯示器使用,但系統(tǒng)會(huì)進(jìn)入?yún)?shù)設(shè)定狀態(tài),此為狀態(tài)2。為了提醒進(jìn)入狀態(tài)2,紅色發(fā)光二極管會(huì)閃爍三次以提示參數(shù)設(shè)定完畢,連按兩次按鍵4,即可返回狀態(tài)1。[!--empirenews.page--]
在狀態(tài)1下,按下按鍵4不釋放,再將按鍵2按下,此時(shí)將為獨(dú)立的顯示單元使用狀態(tài),該狀態(tài)為狀態(tài)3。同樣,為了提醒是進(jìn)入狀態(tài)3,綠色發(fā)光二極管會(huì)閃爍三次予以提示。若需狀態(tài)3返回狀態(tài)1,只要在正常巡檢情況下,將按鍵2按下即可。
(2)系統(tǒng)初始化
系統(tǒng)初始化主要包括按鍵、LED數(shù)碼管以及發(fā)光二極管的初始狀態(tài)設(shè)定。本面板右邊四個(gè)按鍵對(duì)應(yīng)P0口初始狀態(tài)值為0xf0;LED數(shù)碼管對(duì)應(yīng)的P1、P2口的初始狀態(tài)值可先設(shè)置為0x00、0x00,經(jīng)過(guò)一段時(shí)間延遲后再設(shè)置為0xff,0xff,這樣,在程序開(kāi)始執(zhí)行時(shí)就可以檢查數(shù)碼管是否能正常工作;發(fā)光二極管對(duì)應(yīng)的P3口的P3.0、P3.1、P3.6、P3.7的初始狀態(tài)設(shè)置與LED數(shù)碼管相同。
(3)定時(shí)器初始化
定時(shí)器的初始化包括定時(shí)器工作方式的設(shè)定和定時(shí)初值的設(shè)置。
本文的LED數(shù)碼管采用動(dòng)態(tài)(掃描)驅(qū)動(dòng)顯示方法,設(shè)計(jì)時(shí)要注意掃描時(shí)間的設(shè)置。該時(shí)間要既能保證LED數(shù)碼管的亮度,又不會(huì)使人眼感覺(jué)到閃爍。
定時(shí)器的工作模式為方式1。此模式下的計(jì)數(shù)脈沖頻率為fcont=fosc/12,計(jì)數(shù)初值x可以通過(guò)公式設(shè)定:
X=M-計(jì)數(shù)值=M-t/T=M-fosct/12
其中,fosc為振蕩器的振蕩頻率,t為要定時(shí)的時(shí)間。M為定時(shí)器的最大定時(shí)時(shí)間。
根據(jù)視覺(jué)暫留特性。人眼睛對(duì)動(dòng)態(tài)頻次的分辨率一般為1/16~1/24s,因此,可以將LED數(shù)碼管輪流顯示的時(shí)間設(shè)定為小于這個(gè)分辨率的任何一個(gè)時(shí)間。本文在設(shè)計(jì)時(shí),經(jīng)過(guò)多次試驗(yàn)發(fā)現(xiàn),將定時(shí)器的初值設(shè)定為EC00H(2.78ms)比較合適,此時(shí),在狀態(tài)1、3下,對(duì)于LED數(shù)碼管的閃爍,人眼幾乎不可識(shí)別。
(4)按鍵功能的實(shí)現(xiàn)
在狀態(tài)1及狀態(tài)3下,按鍵的功能比較容易理解,這里來(lái)對(duì)狀態(tài)2下的按鍵功能進(jìn)行說(shuō)明,圖3所示依次為1、2、3、4鍵。其中按鍵1可進(jìn)入設(shè)定狀態(tài),上面一行顯示參數(shù)的值,下面一行顯示當(dāng)前是第幾個(gè)參數(shù);按鍵2用于對(duì)當(dāng)前閃爍數(shù)據(jù)位進(jìn)行加1操作,可依次從0增加到9,當(dāng)增加到10時(shí),又自動(dòng)變?yōu)?;按鍵3用于改變?cè)O(shè)定的位,每按下一次,閃爍數(shù)據(jù)位向后移動(dòng)一位,當(dāng)移動(dòng)到第四位再按下此鍵時(shí),閃爍位變?yōu)榈谝晃?按鍵4用于確認(rèn)參數(shù)的設(shè)定和保存。
(5)發(fā)光二極管功能的實(shí)現(xiàn)
當(dāng)測(cè)量值到達(dá)測(cè)量上下限、或者按鍵進(jìn)行操作時(shí),將相應(yīng)單片機(jī)引腳置1,即可使發(fā)光二極管點(diǎn)亮,從而實(shí)現(xiàn)報(bào)警提示功能。
圖4所示是本系統(tǒng)的主程序流程圖。
[!--empirenews.page--]
3.2 中斷程序
在狀態(tài)1及狀態(tài)3下,中斷程序功能是在定時(shí)時(shí)間到時(shí),將段碼值賦給相應(yīng)的數(shù)碼管,并將時(shí)間初值裝入相應(yīng)的寄存器。
在狀態(tài)2下,參數(shù)設(shè)定時(shí),設(shè)定位要實(shí)現(xiàn)閃爍,以確定正在被設(shè)置的數(shù)據(jù)位。實(shí)現(xiàn)閃爍的基本思想是每隔500 ms,當(dāng)前閃爍數(shù)據(jù)位的段碼值就由數(shù)據(jù)狀態(tài)變?yōu)榭沾a狀態(tài),下一個(gè)500 ms再由空碼狀態(tài)變?yōu)閿?shù)據(jù)狀態(tài),并不斷循環(huán)執(zhí)行此操作(共陽(yáng)極顯示方式下空碼值為0XFF)。這樣,從用戶角度看,當(dāng)前被設(shè)定的數(shù)據(jù)位就是閃爍的。這里可通過(guò)設(shè)定一個(gè)計(jì)數(shù)器來(lái)確定轉(zhuǎn)換時(shí)間,當(dāng)計(jì)數(shù)值達(dá)到500/2.78(約為180)時(shí),當(dāng)前閃爍數(shù)據(jù)位就進(jìn)行段碼值轉(zhuǎn)換。本系統(tǒng)的中斷程序流程圖如圖5所示。
4 結(jié)束語(yǔ)
本文是配合智能調(diào)節(jié)儀表設(shè)計(jì)的一種智能LED顯示面板。為了擴(kuò)大其應(yīng)用范圍,在該面板硬件電路不變的情況下,通過(guò)軟件調(diào)整可使其成為巡檢報(bào)警器。目前,該顯示面板在功能性和靈活性方面都有了很大提高。