王浩然,秦會斌
(杭州電子科技大學電子信息學院,杭州 310018)
LED點陣顯示屏由于其控制方便,使用壽命長,易于搭建且搭建成本低,廣泛應用于商場,火車站,商業廣告和信號指示牌之中。一定尺寸的LED點陣屏都是由多個顯示單元拼接構成,本文詳細介紹了一種通用的LED點陣屏顯示單元的設計及其驅動控制。
系統原理框圖如圖1所示。由圖1可知, PC機從上位機軟件發送指令和數據,通過串口RS232將數據傳輸到單片機,單片機對行驅動和列驅動發出控制命令,對LED點陣屏進行相應的控制。外部時鐘電路可以用來讀取顯示的時間,外部存期器件用于存儲LED點陣屏的輸出數據,在進行控制操作時,單片機可直接從此讀取數據,可脫機進行顯示控制。通過按鍵不需經過PC機可對LED點陣屏進行簡單的人機交互。

圖1 系統整體方框圖
系統硬件主要劃分為兩大部分:LED點陣屏接口電路,構建顯示單元及其驅動電路;基于單片機mega16的控制系統,用于完成數據接收和控制LED點陣屏。
圖2是8×8 LED點陣顯示屏的內部結構圖,四個8×8點陣可以構成一個16×16的點陣屏,用于顯示漢字。8×8點陣屏顯示原理是利用行列導通其中的LED的而控制64個LED的亮滅。圖2中所示,如果想要行1和列1 的LED亮,只需要行1通高電平,列1低電平即可。 LED顯示屏幕就是依靠這樣的選取行列進行各類圖形文字的變換。

圖2 行共陽8x8LED點陣內部結構圖
圖4 為LED點陣條屏的連接方式,上下半屏8×8點陣的行線各自連接在一起構成一個系統。此系統采用行掃描方式,使用兩個3線-8線譯碼器74HC138來分別驅動點陣的上8行和下8行。在點陣屏幕不大的情況下,一般的單片機可以直接驅動點陣LED的亮滅,但是考慮擴展為大屏幕尺寸時,那么單片機的I/O口不足以提供足夠的驅動電流,如圖 3 所示, 可在74HC138和點陣的行接口接上一個PNP型8550三極管開關電路用來提供足夠的電流,當74HC138發出低電平時,三極管Q導通, LED_H輸出高電平。此時I/O口只需要提供幾毫安的灌入電流即可控制其通斷,如果需要擴展屏幕,只需要將擴展的上下半屏LED點陣的行各自共聯到74HC138即可。

圖3 外接PNP三極管8550圖

圖4 LED點陣接口圖
本系統采用74HC595鎖存器來對列線進行驅動控制,其帶有2級鎖存移位輸出功能。如圖3所示, LED點陣的列線接到74HC595的8位并行輸出口上,由單片機控制數據的輸出,利用74HC595 的鎖存輸出功能,電路共用同一個移位時鐘SCK和數據鎖存時鐘RCK,可級聯多片74HC595以構成更大LED點陣屏的列驅動電路。此結構還可在75HC595的使能端通過PWM波進行灰度調節。
主控制器主要是采用8 bit AVR單片機Mega16及其外圍電路來進行控制,主要器件接口如圖5所示。 Mega16帶有四組32個I/O口,它的時鐘頻率可跑到16 MHz,可滿足系統控制的數據處理速度。控制電路的主要功能就是對LED接口進行掃描控制,發出移位SCK時鐘信號和數據鎖存RCK時鐘信號到74HC595上,依照相應的時序對74HC595發送漢字數據,同時對74HC138進行行選控制。電路外加一個74HC245芯片用以提高單片機對負載的驅動能力。PC機通過串口和Mega16 進行通信,外部存儲器選用 Microchip公司的24C256 串行存儲器, 256 K容量方便以后將漢字庫固化在里面,需要顯示的字只需要查詢存儲器就能提取相應的字模數據。同時加上DS1302時鐘芯片,可以提取2100年前的年月日等時間數值,以提供需要。

圖5 控制器電路圖
程序設計主要包括三部分:主程序,串口中斷程序,顯示子程序。首先進入主程序,初始化單片機,如果串口有數據輸入,則會進入串口中斷程序接收數據。單片機在接收完數據后會進入顯示子程序,輸出相應的數據到LED的行列驅動。圖6為三部分的程序流程圖。

圖6 程序流程圖
圖7中的顯示部分就是10個16×16點陣級聯而成的顯示屏。此結構通用性強,依靠軟件可以實現漢字上下左右移動等功能,而不需在LED顯示單元的硬件上做任何改動。在顯示效果上,可根據需求更改單片機上的控制程序即可,大大加強了系統的穩定性和實用性。經實踐測試,此種結構,用一片8位單片機,在16MHz下,至少能驅動32 ×160個點,沒有抖屏現象。如果程序使用匯編語言,速度將得到很大的提升,能驅動更多點。

圖7 32x80LED點陣屏10字顯示圖
本文以高性能的Mega16芯片為硬件基礎,設計了LED顯示單元的硬件電路和控制電路,實現了對單片機的控制、LED屏幕的顯示等。下一步是完善其漢字的顯示特效,以及上位機與單片機的實時通信等功能。根據此系統的結構還可以進一步擴展成雙色,全彩的LED點陣屏。
[ 1] 周詩虎.單片機控制LED點陣屏[J] .科技信息, 2008, 25.
[ 2] 劉增環,范惠賢.LED顯示屏系統的設計[ J] .微計算機信息,2009, 25(1):32-33.
[ 3] 梁純,王軍.基于MS-51單片機的LED點陣圖文顯示屏設計[ J] .工礦自動化, 2005, 12, (6):90-92.
[ 4] 馬潮.AVR單片機嵌入式系統原理與應用實踐[ M] .航空航天大學出版社, 2007, 9:34-37.
[ 5] 諸昌鈴.LED顯示原理及工程技術[ M] .電子科技大學出版社, 2000, 12:53-115.
[ 6] 王宇.LED顯示屏的掃描算法[ D] :[碩士學位論文] .南京:東南大學信息工程學院, 2005.
[ 7] 萬冬.大型LED顯示系統的設計與實現[ D] :[碩士學位論文] .天津:天津大學電子信息工程學院, 2007.
[ 8] 孫雄勇.VISUAL C++6.0實用教程[ M] .北京:中國鐵道出版社2004:208-225.