黃 三,張法全,王 焱,劉艷釗
(桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林 541004)
基于4位7段柔性數(shù)碼管的數(shù)字編解碼方案設(shè)計(jì)
黃 三,張法全,王 焱,劉艷釗
(桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林 541004)
為了滿足PDLC型柔性數(shù)碼管顯示器的動(dòng)態(tài)顯示需求,提出一種簡(jiǎn)便的數(shù)字編解碼方案,用于對(duì)4位7段柔性數(shù)碼管顯示內(nèi)容的控制。運(yùn)用對(duì)比研究和軟硬件相結(jié)合的方法,設(shè)計(jì)了以51單片機(jī)為核心、鎖存器和達(dá)林頓管陣列芯片為輔助器件的硬件電路系統(tǒng)以及對(duì)應(yīng)的數(shù)字編碼、解碼方案,用C語言實(shí)現(xiàn)了該編解碼方案的算法,并完成了軟硬件調(diào)試任務(wù)。實(shí)驗(yàn)結(jié)果表明,柔性數(shù)碼管可顯示4位相同數(shù)字和4位不同數(shù)字,顯示的內(nèi)容完整清晰,這套編解碼方案簡(jiǎn)易可行。
PDLC型柔性數(shù)碼管;數(shù)字編碼方案;數(shù)字解碼方案;51單片機(jī);達(dá)林頓管陣列
近年來,與玻璃板具有相同阻擋性能的柔性基板材料成為顯示器制造商青睞的材料,與其他顯示器相比,柔性顯示器具有許多潛在的優(yōu)勢(shì):薄而輕、可彎曲、耐沖擊、低功耗以及清潔環(huán)保等,這些優(yōu)勢(shì)使柔性顯示器具有廣闊的市場(chǎng)前景[1]。目前,國外的三星、LG、英特爾等公司紛紛高調(diào)亮出了各自的柔性顯示產(chǎn)品,如三星聯(lián)合微軟推出的采用Youm柔性屏幕的Windows Phone8原型機(jī),LG推出的柔性塑料電子紙顯示屏等。雖然華為在2014年的MWC大會(huì)上也發(fā)布了采用1.4寸超薄柔性屏的Talk Band手環(huán)[2],但是,國內(nèi)對(duì)柔性顯示技術(shù)的研究仍處于實(shí)驗(yàn)階段,離產(chǎn)品應(yīng)用尚有一定的距離,而且行業(yè)內(nèi)的相關(guān)技術(shù)標(biāo)準(zhǔn)和工藝流程也未統(tǒng)一,仍有許多研究工作要做。PDLC型柔性數(shù)碼管作為柔性顯示器的一種基本類型,是研究大型點(diǎn)陣型柔性顯示器的基礎(chǔ)。在缺乏可利用的參考文獻(xiàn)的情況下,從工程應(yīng)用的實(shí)際出發(fā),針對(duì)應(yīng)用需求和PDLC型柔性數(shù)碼管的特殊性,設(shè)計(jì)了顯示控制電路,并基于該電路設(shè)計(jì)和實(shí)現(xiàn)了具有較強(qiáng)實(shí)用性和較高可靠性的數(shù)字編解碼方案。
與普通的數(shù)碼管相比,PDLC型柔性數(shù)碼管有許多不同之處,主要表現(xiàn)在驅(qū)動(dòng)電壓較高、刷新頻率較快、內(nèi)部結(jié)構(gòu)獨(dú)特以及引腳排列特殊等。因此,在設(shè)計(jì)顯示驅(qū)動(dòng)電路和軟件程序時(shí),必須結(jié)合柔性數(shù)碼管的特殊性設(shè)計(jì)合適的解決方案。普通數(shù)碼管的內(nèi)部結(jié)構(gòu)如圖1所示,PDLC型柔性數(shù)碼管的內(nèi)部結(jié)構(gòu)如圖2所示。
圖1 普通數(shù)碼管的內(nèi)部結(jié)構(gòu)Fig.1 The internal structure of ordinary nixie tube
圖2 柔性數(shù)碼管的內(nèi)部結(jié)構(gòu)Fig.2 The internal structure of flexible nixie tube
比較圖1和圖2可知,普通數(shù)碼管通常只有12個(gè)外接引腳、8個(gè)段選端和4個(gè)位選端,其中,4個(gè)數(shù)碼位共用8個(gè)段選端引腳[3]。在顯示數(shù)據(jù)時(shí),通過控制D0、D1、D2、D3這4個(gè)位選端的電平即可達(dá)到控制各數(shù)碼位亮滅的目的。然而,柔性數(shù)碼管卻不同,它沒有位選端引腳,只有28個(gè)段選端引腳和1個(gè)公共端引腳(圖中沒有標(biāo)出,通常將柔性數(shù)碼管的基板當(dāng)作公共端),并且各段選端不共用外部引腳,所以只能通過控制段選端與公共端之間的電壓差控制各數(shù)碼段的亮滅。對(duì)照?qǐng)D3所標(biāo)注的數(shù)碼段名稱,結(jié)合圖2,柔性數(shù)碼管各數(shù)碼位上數(shù)碼段與外部引腳的對(duì)應(yīng)情況如表1所示。
圖3 單位7段數(shù)碼管Fig.3 Single seven-segment nixie tube
表1 各數(shù)碼段與外部引腳的對(duì)應(yīng)關(guān)系Tab.1 The corresponding relation of each segment and external pins
比較2種數(shù)碼管的顯示原理可知,普通數(shù)碼管動(dòng)態(tài)顯示采用“按位輪尋”的方式,即按數(shù)碼位輪流顯示,利用發(fā)光管的余輝和人眼的視覺暫留效應(yīng),使人感覺好像各位數(shù)碼管同時(shí)在顯示,而實(shí)際上4位數(shù)碼管是輪流顯示的,只是輪流的速度非???人眼無法分辨[4]。然而,柔性數(shù)碼管因其內(nèi)部結(jié)構(gòu)和外部引腳的特殊性,只能采用“按端口掃描”的方式,即對(duì)需要點(diǎn)亮的數(shù)碼段的引腳端口進(jìn)行動(dòng)態(tài)掃描和刷新,控制這些端口的電平翻轉(zhuǎn)才能點(diǎn)亮這些數(shù)碼段。根據(jù)柔性數(shù)碼管的參數(shù)特性可知,當(dāng)電平翻轉(zhuǎn)的頻率為4 k Hz時(shí),顯示效果最佳。
數(shù)字編解碼的硬件電路主要包括單片機(jī)最小系統(tǒng)、鎖存器和電壓通斷控制芯片3部分。單片機(jī)因其高性能、價(jià)格低、體積小、穩(wěn)定可靠,被作為核心部件投入使用[5]。本設(shè)計(jì)它被用作主控系統(tǒng),具有復(fù)位、控制數(shù)碼管顯示內(nèi)容以及控制顯示效果等功能。由于編解碼所處理的數(shù)據(jù)量不大,并且對(duì)單片機(jī)的主頻要求不高,采用較廉價(jià)的51單片機(jī)作為主控制器。鎖存器用于解決單片機(jī)I/O口資源緊張的問題,有助于提高I/O口資源的利用率,從而擴(kuò)展單片機(jī)的功能[6]。本設(shè)計(jì)采用型號(hào)為SN74HC573N的鎖存器芯片,它是一款8路上升沿觸發(fā)型的鎖存器,工作電壓為2~6 V,當(dāng)鎖存控制端LE為高電平時(shí)更新狀態(tài),為低電平時(shí)則進(jìn)入鎖存狀態(tài)。由于柔性數(shù)碼管要求的驅(qū)動(dòng)電壓較高,需借助電壓通斷控制芯片控制高電壓,以確保邏輯電路的安全和穩(wěn)定。比較繼電器、光耦和達(dá)林頓管等器件,本設(shè)計(jì)采用開關(guān)速度快、穩(wěn)定性好且集成度高的達(dá)林頓管陣列芯片ULN2803A,其輸出電壓高達(dá)50 V,輸出電流高達(dá)500 m A,可滿足設(shè)計(jì)的要求[7]。數(shù)碼管顯示控制電路的原理圖如圖4所示。
圖4 數(shù)碼管顯示控制電路Fig.4 The display and control circuit
3.1 編碼方案設(shè)計(jì)
柔性數(shù)碼管的編碼設(shè)計(jì)主要是對(duì)各位數(shù)碼管上數(shù)字0~9的編碼。由于柔性數(shù)碼管的4個(gè)數(shù)碼位不共用段選端,對(duì)于不同數(shù)碼位上顯示相同數(shù)字的情況均需單獨(dú)編碼,整個(gè)編碼方案包含40次編碼計(jì)算。由于本編碼方案最終需利用軟件程序和硬件平臺(tái)實(shí)現(xiàn),在設(shè)計(jì)編碼方案中必須綜合考慮編碼方案的實(shí)用性。4位7段柔性數(shù)碼管共有29個(gè)引腳需控制,且每個(gè)引腳相互獨(dú)立,采用28位以上的編碼方案??紤]程序設(shè)計(jì)中變量長(zhǎng)度的問題,本設(shè)計(jì)采用32位的編碼方案,編碼變量的類型采用無符號(hào)長(zhǎng)整型。編碼時(shí),編碼變量的位序號(hào)與數(shù)碼管的引腳序號(hào)一一對(duì)應(yīng)。具體的編碼步驟為:
1)定義一個(gè)32位的無符號(hào)長(zhǎng)整型編碼變量,規(guī)定從左至右依次為該變量的第1位、第2位……第32位,分別對(duì)應(yīng)數(shù)碼管的引腳1~28(后4位閑置不用,編碼時(shí)均置0);
2)從左起第1位數(shù)碼管開始編碼,按照從數(shù)字0到數(shù)字9的順序依次編碼,對(duì)照?qǐng)D3和表1,結(jié)合要顯示的數(shù)字內(nèi)容找出第1位數(shù)碼管中要被點(diǎn)亮的數(shù)碼段的引腳序號(hào),然后將編碼變量中與此引腳序號(hào)相對(duì)應(yīng)的數(shù)據(jù)位置0;
3)找出第1位數(shù)碼管中不被點(diǎn)亮的數(shù)碼段的引腳序號(hào),并將編碼變量中與此引腳序號(hào)相對(duì)應(yīng)的數(shù)據(jù)位置1;
4)將編碼變量中剩余的位全置0;
5)取編碼值,對(duì)編碼變量從第32位到第1位按照逆序取編碼值,然后將編碼值由二進(jìn)制轉(zhuǎn)換成十進(jìn)制,生成第1位數(shù)碼管顯示某個(gè)數(shù)字時(shí)的編碼值。
后3位數(shù)碼管上的數(shù)字編碼方法與第1位數(shù)碼管的相同,均可仿照以上編碼步驟進(jìn)行編碼,當(dāng)完成第4位數(shù)碼管上數(shù)字9的編碼,即可得到一組完整的編碼值。對(duì)以上編碼值進(jìn)行整理,得到如表2所示的數(shù)碼管編碼表。
表2 數(shù)碼管編碼表Tab.2 The code table of flexible nixie tube
以第1位數(shù)碼管的數(shù)字4為例進(jìn)行編碼演示。1)定義一個(gè)32位的無符號(hào)長(zhǎng)整型編碼變量Duan-Ma1_4,將該變量的位號(hào)依次填入表3;2)對(duì)照?qǐng)D3和表1,找出在第1位數(shù)碼管上顯示數(shù)字4時(shí)要點(diǎn)亮的數(shù)碼段的引腳序號(hào),它們分別是4、6、7、10,按照編碼規(guī)則將編碼變量中與這些引腳序號(hào)相對(duì)應(yīng)的數(shù)據(jù)位置0,即在表3中將位號(hào)為4、6、7、10的項(xiàng)填“0”; 3)找出第1位數(shù)碼管中不被點(diǎn)亮的數(shù)碼段的引腳序號(hào),它們分別是5、8、9,按照編碼規(guī)則將編碼變量中與這些引腳序號(hào)相對(duì)應(yīng)的數(shù)據(jù)位置1,即在表3中將位號(hào)為5、8、9的項(xiàng)填“1”;4)將表3中剩余的項(xiàng)全填“0”;5)逆序取編碼值,從第32位開始,一直取至第1位,得到二進(jìn)制數(shù)值(110010000),轉(zhuǎn)換成十進(jìn)制數(shù)為400,即是第1位數(shù)碼管顯示數(shù)字4時(shí)的編碼值。
表3 第1位數(shù)碼管數(shù)字4的編碼表Tab.3 The code table of the first number four
3.2 解碼方案設(shè)計(jì)
本設(shè)計(jì)的編碼由人工手動(dòng)完成,而解碼則需單片機(jī)和硬件電路完成。解碼方案的工作流程如圖5所示。
圖5 解碼流程圖Fig.5 The flow chart for decoding
具體的解碼過程為:
1)將待顯示的4位數(shù)字的編碼值進(jìn)行位或運(yùn)算,得到一個(gè)新的32位的數(shù)值,并將它賦給變量temp。
2)截取變量temp低8位(位7至位0)上的數(shù)值,并將取得的值賦給單片機(jī)的P0口,開啟第1塊鎖存器芯片的鎖存端,將P0口的值送入鎖存器中(對(duì)應(yīng)數(shù)碼管的1~8號(hào)引腳)。
3)關(guān)閉第1塊鎖存器芯片的鎖存端,將變量temp右移8位后取低8位上的數(shù)值,并將取得的值賦給單片機(jī)的P0口,開啟第2塊鎖存器芯片的鎖存端,將P0口的值送入鎖存器中(對(duì)應(yīng)數(shù)碼管的9~16號(hào)引腳)。
4)關(guān)閉第2塊鎖存器芯片的鎖存端,將變量temp右移16位后取低8位上的數(shù)值,并將取得的值賦給單片機(jī)的P0口,開啟第3塊鎖存器芯片的鎖存端,將P0口的值送入鎖存器中(對(duì)應(yīng)數(shù)碼管的17~ 24號(hào)引腳)。
5)關(guān)閉第3塊鎖存器芯片的鎖存端,將變量temp右移24位后取低8位上的數(shù)值,并將取得的值賦給單片機(jī)的P0口,開啟第4塊鎖存器芯片的鎖存端,將P0口的值送入鎖存器中(對(duì)應(yīng)數(shù)碼管的25~28號(hào)引腳)。
6)關(guān)閉第4塊鎖存器芯片的鎖存端,延時(shí)控制和脈沖翻轉(zhuǎn)。根據(jù)柔性數(shù)碼管的參數(shù)特性可知,當(dāng)脈沖電平的翻轉(zhuǎn)頻率為4 k Hz、占空比為50%時(shí),數(shù)碼管的顯示效果最佳,故需延時(shí)125μs。達(dá)林頓管的邏輯功能等效于邏輯“非”,因此,延時(shí)125μs后將4塊鎖存器芯片的輸出端口全部置為高電平,即可達(dá)到脈沖電壓翻轉(zhuǎn)的目的。
解碼方案的C語言實(shí)現(xiàn)過程如下:
void Display(unsigned char a,unsigned char b, u-nsigned char c,unsigned char d)//a、b、c、d分別
//為各數(shù)碼管上待顯示的數(shù)字
{
unsigned long temp=0;
temp=Duan Ma1[a]|Duan Ma2[b]|Duan-Ma3[c]|Duan Ma4[d];//數(shù)組Duan Ma1[10]、Duan
//Ma2[10]、Duan Ma3[10]、Duan Ma4[10]中
//分別存放了各數(shù)碼位的數(shù)字編碼值
DataPort=temp;
Latch1=1;
Latch1=0;
DataPort=(temp>>8);
Latch2=1;
Latch2=0;
DataPort=(temp>>16);
Latch3=1;
Latch3=0;
DataPort=(temp>>24);
Latch4=1;
Latch4=0;
Delay Us(125);//延時(shí)125μs
DataPort=0xff;
P2=0x0f;
P2=0x00;
Delay Us(125);
}
編解碼方案的驗(yàn)證主要包括可行性驗(yàn)證和正確性驗(yàn)證,在驗(yàn)證的過程中,若數(shù)碼管的數(shù)碼段能正常點(diǎn)亮,且僅有部分?jǐn)?shù)字亂碼,則說明本設(shè)計(jì)方案可行,只需對(duì)部分?jǐn)?shù)字的編碼值進(jìn)行修改即可;若4位數(shù)碼管能準(zhǔn)確地顯示0000~9999內(nèi)的所有數(shù),則說明本設(shè)計(jì)方案正確,所有的編碼值均無錯(cuò)誤。具體的驗(yàn)證工作分為以下2部分:
1)在2位數(shù)碼管上依次顯示0000,1111,…, 9999等10個(gè)數(shù),驗(yàn)證各個(gè)編碼值的正確性。由編解碼方案可知,Display函數(shù)的實(shí)參值應(yīng)分別為(64, 1024,16384,262144),(496,7174,201441280, 27000832),…,(128,2048,32768,524288),將這些編碼值分別寫入程序,通過Keil軟件編譯后下載到單片機(jī)芯片中,上電后觀察實(shí)驗(yàn)效果,數(shù)碼管被成功點(diǎn)亮,并且完整地顯示了上述10個(gè)數(shù),說明各個(gè)編碼值均正確無誤。圖6(a)為數(shù)碼管顯示了2222四個(gè)數(shù)。
2)在數(shù)碼管上顯示4位不同的數(shù)字,驗(yàn)證柔性數(shù)碼管的實(shí)用性。以顯示數(shù)字4567為例,根據(jù)編解碼方案可知,Display函數(shù)的實(shí)參值應(yīng)為(400,2049, 33554432,18612224),將其寫入程序中,編譯下載后觀察顯示效果。圖6(b)為數(shù)碼管顯示了數(shù)字4567,說明柔性數(shù)碼管能顯示4位不同的數(shù)字。
圖6 編解碼方案實(shí)現(xiàn)效果Fig.6 The experimental results of coding and decoding scheme
針對(duì)PDLC型柔性數(shù)碼管的特殊性,設(shè)計(jì)了相應(yīng)的顯示控制電路,并基于該硬件平臺(tái)給出了數(shù)字編解碼方案和實(shí)現(xiàn)方法。實(shí)驗(yàn)結(jié)果表明,基于4位7段柔性數(shù)碼管的數(shù)字編解碼方案具有較強(qiáng)的實(shí)用性,可應(yīng)用于汽車儀表盤、數(shù)字腕表等電子產(chǎn)品。
[1] 田學(xué)敏.基于單片機(jī)控制的柔性顯示系統(tǒng)設(shè)計(jì)[D].武漢:武漢大學(xué),2014:1-5.
[2] 李波.柔性顯示市場(chǎng)迎來大爆發(fā)[N].中國證券報(bào),2014-02-25.
[3] 楊果仁,蔡順燕.從“視覺暫留”看LED數(shù)碼管動(dòng)態(tài)顯示[J].數(shù)字技術(shù)與應(yīng)用,2013(12):79-81.
[4] 郭天祥.新概念51單片機(jī)C語言教程:入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2012:64-65.
[5] 陳旦花.單片機(jī)最小系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].無線互聯(lián)科技,2012(10):103-104.
[6] 謝華燕,潘麗.單片機(jī)系統(tǒng)與控制中鎖存器的應(yīng)用[J].甘肅高師學(xué)報(bào),2014,19(2):63-65.
[7] 萬天才.高壓大電流達(dá)林頓管陣列系列產(chǎn)品及其應(yīng)用[J].國外電子元器件,2001(2):19-21.
編輯:翁史振
Design of digital coding and decoding scheme based on flexible nixie tube with twenty-eight segments
Huang San,Zhang Faquan,Wang Yan,Liu Yanzhao
(School of Information and Communication Engineering,Guilin University of Electronic Technology,Guilin 541004,China)
To satisfy the need for dynamic display of PDLC flexible nixie tube,a simple scheme for digital coding and decoding is proposed to control the seven-segment flexible nixie tube display figures.With the methods of comparison and combining software with hardware,a control system based on 51 MCU is designed,which is combined with latches and Darlington transistor arrays,etc.The corresponding digital coding and decoding scheme based on this hardware platform is designed. Finally,the algorithm of this digital coding and decoding scheme is implemented by using C language,and the task for debugging software and hardware is completed.The results indicate that the flexible digital tube can display figures clearly. This coding and decoding scheme is simple and feasible.
PDLC flexible nixie tube;digital coding scheme;digital decoding scheme;51 MCU;Darlington transistor arrays
TP391.8
:A
:1673-808X(2015)04-0284-06
2014-11-12
桂林電子科技大學(xué)研究生教育創(chuàng)新計(jì)劃(GDYCSZ201461)
張法全(1969―),男,河南林州人,副教授,博士,研究方向?yàn)闄C(jī)器視覺、信息處理與模式識(shí)別。E-mail:zhangfq@guet.edu.cn
黃三,張法全,王焱,等.基于4位7段柔性數(shù)碼管的數(shù)字編解碼方案設(shè)計(jì)[J].桂林電子科技大學(xué)學(xué)報(bào),2015,35(4):284-289.