王浩然,秦會(huì)斌
(杭州電子科技大學(xué)電子信息學(xué)院,杭州 310018)
LED點(diǎn)陣顯示屏由于其控制方便,使用壽命長,易于搭建且搭建成本低,廣泛應(yīng)用于商場,火車站,商業(yè)廣告和信號(hào)指示牌之中。一定尺寸的LED點(diǎn)陣屏都是由多個(gè)顯示單元拼接構(gòu)成,本文詳細(xì)介紹了一種通用的LED點(diǎn)陣屏顯示單元的設(shè)計(jì)及其驅(qū)動(dòng)控制。
系統(tǒng)原理框圖如圖1所示。由圖1可知, PC機(jī)從上位機(jī)軟件發(fā)送指令和數(shù)據(jù),通過串口RS232將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),單片機(jī)對(duì)行驅(qū)動(dòng)和列驅(qū)動(dòng)發(fā)出控制命令,對(duì)LED點(diǎn)陣屏進(jìn)行相應(yīng)的控制。外部時(shí)鐘電路可以用來讀取顯示的時(shí)間,外部存期器件用于存儲(chǔ)LED點(diǎn)陣屏的輸出數(shù)據(jù),在進(jìn)行控制操作時(shí),單片機(jī)可直接從此讀取數(shù)據(jù),可脫機(jī)進(jìn)行顯示控制。通過按鍵不需經(jīng)過PC機(jī)可對(duì)LED點(diǎn)陣屏進(jìn)行簡單的人機(jī)交互。
圖1 系統(tǒng)整體方框圖
系統(tǒng)硬件主要?jiǎng)澐譃閮纱蟛糠郑篖ED點(diǎn)陣屏接口電路,構(gòu)建顯示單元及其驅(qū)動(dòng)電路;基于單片機(jī)mega16的控制系統(tǒng),用于完成數(shù)據(jù)接收和控制LED點(diǎn)陣屏。
圖2是8×8 LED點(diǎn)陣顯示屏的內(nèi)部結(jié)構(gòu)圖,四個(gè)8×8點(diǎn)陣可以構(gòu)成一個(gè)16×16的點(diǎn)陣屏,用于顯示漢字。8×8點(diǎn)陣屏顯示原理是利用行列導(dǎo)通其中的LED的而控制64個(gè)LED的亮滅。圖2中所示,如果想要行1和列1 的LED亮,只需要行1通高電平,列1低電平即可。 LED顯示屏幕就是依靠這樣的選取行列進(jìn)行各類圖形文字的變換。
圖2 行共陽8x8LED點(diǎn)陣內(nèi)部結(jié)構(gòu)圖
圖4 為LED點(diǎn)陣條屏的連接方式,上下半屏8×8點(diǎn)陣的行線各自連接在一起構(gòu)成一個(gè)系統(tǒng)。此系統(tǒng)采用行掃描方式,使用兩個(gè)3線-8線譯碼器74HC138來分別驅(qū)動(dòng)點(diǎn)陣的上8行和下8行。在點(diǎn)陣屏幕不大的情況下,一般的單片機(jī)可以直接驅(qū)動(dòng)點(diǎn)陣LED的亮滅,但是考慮擴(kuò)展為大屏幕尺寸時(shí),那么單片機(jī)的I/O口不足以提供足夠的驅(qū)動(dòng)電流,如圖 3 所示, 可在74HC138和點(diǎn)陣的行接口接上一個(gè)PNP型8550三極管開關(guān)電路用來提供足夠的電流,當(dāng)74HC138發(fā)出低電平時(shí),三極管Q導(dǎo)通, LED_H輸出高電平。此時(shí)I/O口只需要提供幾毫安的灌入電流即可控制其通斷,如果需要擴(kuò)展屏幕,只需要將擴(kuò)展的上下半屏LED點(diǎn)陣的行各自共聯(lián)到74HC138即可。
圖3 外接PNP三極管8550圖
圖4 LED點(diǎn)陣接口圖
本系統(tǒng)采用74HC595鎖存器來對(duì)列線進(jìn)行驅(qū)動(dòng)控制,其帶有2級(jí)鎖存移位輸出功能。如圖3所示, LED點(diǎn)陣的列線接到74HC595的8位并行輸出口上,由單片機(jī)控制數(shù)據(jù)的輸出,利用74HC595 的鎖存輸出功能,電路共用同一個(gè)移位時(shí)鐘SCK和數(shù)據(jù)鎖存時(shí)鐘RCK,可級(jí)聯(lián)多片74HC595以構(gòu)成更大LED點(diǎn)陣屏的列驅(qū)動(dòng)電路。此結(jié)構(gòu)還可在75HC595的使能端通過PWM波進(jìn)行灰度調(diào)節(jié)。
主控制器主要是采用8 bit AVR單片機(jī)Mega16及其外圍電路來進(jìn)行控制,主要器件接口如圖5所示。 Mega16帶有四組32個(gè)I/O口,它的時(shí)鐘頻率可跑到16 MHz,可滿足系統(tǒng)控制的數(shù)據(jù)處理速度??刂齐娐返闹饕δ芫褪菍?duì)LED接口進(jìn)行掃描控制,發(fā)出移位SCK時(shí)鐘信號(hào)和數(shù)據(jù)鎖存RCK時(shí)鐘信號(hào)到74HC595上,依照相應(yīng)的時(shí)序?qū)?4HC595發(fā)送漢字?jǐn)?shù)據(jù),同時(shí)對(duì)74HC138進(jìn)行行選控制。電路外加一個(gè)74HC245芯片用以提高單片機(jī)對(duì)負(fù)載的驅(qū)動(dòng)能力。PC機(jī)通過串口和Mega16 進(jìn)行通信,外部存儲(chǔ)器選用 Microchip公司的24C256 串行存儲(chǔ)器, 256 K容量方便以后將漢字庫固化在里面,需要顯示的字只需要查詢存儲(chǔ)器就能提取相應(yīng)的字模數(shù)據(jù)。同時(shí)加上DS1302時(shí)鐘芯片,可以提取2100年前的年月日等時(shí)間數(shù)值,以提供需要。
圖5 控制器電路圖
程序設(shè)計(jì)主要包括三部分:主程序,串口中斷程序,顯示子程序。首先進(jìn)入主程序,初始化單片機(jī),如果串口有數(shù)據(jù)輸入,則會(huì)進(jìn)入串口中斷程序接收數(shù)據(jù)。單片機(jī)在接收完數(shù)據(jù)后會(huì)進(jìn)入顯示子程序,輸出相應(yīng)的數(shù)據(jù)到LED的行列驅(qū)動(dòng)。圖6為三部分的程序流程圖。
圖6 程序流程圖
圖7中的顯示部分就是10個(gè)16×16點(diǎn)陣級(jí)聯(lián)而成的顯示屏。此結(jié)構(gòu)通用性強(qiáng),依靠軟件可以實(shí)現(xiàn)漢字上下左右移動(dòng)等功能,而不需在LED顯示單元的硬件上做任何改動(dòng)。在顯示效果上,可根據(jù)需求更改單片機(jī)上的控制程序即可,大大加強(qiáng)了系統(tǒng)的穩(wěn)定性和實(shí)用性。經(jīng)實(shí)踐測試,此種結(jié)構(gòu),用一片8位單片機(jī),在16MHz下,至少能驅(qū)動(dòng)32 ×160個(gè)點(diǎn),沒有抖屏現(xiàn)象。如果程序使用匯編語言,速度將得到很大的提升,能驅(qū)動(dòng)更多點(diǎn)。
圖7 32x80LED點(diǎn)陣屏10字顯示圖
本文以高性能的Mega16芯片為硬件基礎(chǔ),設(shè)計(jì)了LED顯示單元的硬件電路和控制電路,實(shí)現(xiàn)了對(duì)單片機(jī)的控制、LED屏幕的顯示等。下一步是完善其漢字的顯示特效,以及上位機(jī)與單片機(jī)的實(shí)時(shí)通信等功能。根據(jù)此系統(tǒng)的結(jié)構(gòu)還可以進(jìn)一步擴(kuò)展成雙色,全彩的LED點(diǎn)陣屏。
[ 1] 周詩虎.單片機(jī)控制LED點(diǎn)陣屏[J] .科技信息, 2008, 25.
[ 2] 劉增環(huán),范惠賢.LED顯示屏系統(tǒng)的設(shè)計(jì)[ J] .微計(jì)算機(jī)信息,2009, 25(1):32-33.
[ 3] 梁純,王軍.基于MS-51單片機(jī)的LED點(diǎn)陣圖文顯示屏設(shè)計(jì)[ J] .工礦自動(dòng)化, 2005, 12, (6):90-92.
[ 4] 馬潮.AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[ M] .航空航天大學(xué)出版社, 2007, 9:34-37.
[ 5] 諸昌鈴.LED顯示原理及工程技術(shù)[ M] .電子科技大學(xué)出版社, 2000, 12:53-115.
[ 6] 王宇.LED顯示屏的掃描算法[ D] :[碩士學(xué)位論文] .南京:東南大學(xué)信息工程學(xué)院, 2005.
[ 7] 萬冬.大型LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[ D] :[碩士學(xué)位論文] .天津:天津大學(xué)電子信息工程學(xué)院, 2007.
[ 8] 孫雄勇.VISUAL C++6.0實(shí)用教程[ M] .北京:中國鐵道出版社2004:208-225.