LED點(diǎn)陣屏顯示單元的設計與驅動(dòng)控制
1 系統整體設計概述
系統原理框圖如圖1所示。由圖1可知, PC 機從上位機軟件發(fā)送指令和數據, 通過(guò)串口RS232將數據傳輸到單片機, 單片機對行驅動(dòng)和列驅動(dòng)發(fā)出控制命令, 對LED點(diǎn)陣屏進(jìn)行相應的控制。外部時(shí)鐘電路可以用來(lái)讀取顯示的時(shí)間, 外部存期器件用于存儲LED點(diǎn)陣屏的輸出數據, 在進(jìn)行控制操作時(shí), 單片機可直接從此讀取數據, 可脫機進(jìn)行顯示控制。通過(guò)按鍵不需經(jīng)過(guò)PC機可對LED點(diǎn)陣屏進(jìn)行簡(jiǎn)單的人機交互。
2 系統硬件電路設計
系統硬件主要劃分為兩大部分: LED點(diǎn)陣屏接口電路, 構建顯示單元及其驅動(dòng)電路; 基于單片機mega16的控制系統, 用于完成數據接收和控制LED點(diǎn)陣屏。
2. 1 LED點(diǎn)陣屏接口電路
圖2是8*8 LED點(diǎn)陣顯示屏的內部結構圖, 四個(gè)8*8點(diǎn)陣可以構成一個(gè)16*16的點(diǎn)陣屏, 用于顯示漢字。8*8點(diǎn)陣屏顯示原理是利用行列導通其中的LED的而控制64個(gè)LED的亮滅。圖2中所示, 如果想要行1和列1 的LED 亮, 只需要行1通高電平, 列1低電平即可。LED 顯示屏幕就是依靠這樣的選取行列進(jìn)行各類(lèi)圖形文字的變換。
圖4為L(cháng)ED點(diǎn)陣條屏的連接方式, 上下半屏8 ??8點(diǎn)陣的行線(xiàn)各自連接在一起構成一個(gè)系統。此系統采用行掃描方式, 使用兩個(gè)3線(xiàn)8線(xiàn)譯碼器74HC138來(lái)分別驅動(dòng)點(diǎn)陣的上8行和下8行。在點(diǎn)陣屏幕不大的情況下, 一般的單片機可以直接驅動(dòng)點(diǎn)陣LED的亮滅,但是考慮擴展為大屏幕尺寸時(shí), 那么單片機的I/O 口不足以提供足夠的驅動(dòng)電流, 如圖3 所示, 可在74HC138和點(diǎn)陣的行接口接上一個(gè)PNP型8550三極管開(kāi)關(guān)電路用來(lái)提供足夠的電流, 當74HC138發(fā)出低電平時(shí), 三極管Q導通, LED_H輸出高電平。此時(shí)I/O口只需要提供幾毫安的灌入電流即可控制其通斷, 如果需要擴展屏幕, 只需要將擴展的上下半屏LED 點(diǎn)陣的行各自共聯(lián)到74HC138即可。
本系統采用74HC595鎖存器來(lái)對列線(xiàn)進(jìn)行驅動(dòng)控制, 其帶有2級鎖存移位輸出功能。如圖3所示, LED 點(diǎn)陣的列線(xiàn)接到74HC595的8位并行輸出口上, 由單片機控制數據的輸出, 利用74HC595 的鎖存輸出功能, 電路共用同一個(gè)移位時(shí)鐘SCK 和數據鎖存時(shí)鐘RCK, 可級聯(lián)多片74HC595以構成更大LED 點(diǎn)陣屏的列驅動(dòng)電路。此結構還可在75HC595的使能端通過(guò)PWM 波進(jìn)行灰度調節。
. 2 Mega16控制電路
主控制器主要是采用8 bitAVR單片機M ega16及其外圍電路來(lái)進(jìn)行控制, 主要器件接口如圖5所示。Mega1帶有四組32個(gè)I/O 口, 它的時(shí)鐘頻率可跑到16MH z, 可滿(mǎn)足系統控制的數據處理速度??刂齐娐返闹饕δ芫褪菍ED 接口進(jìn)行掃描控制, 發(fā)出移位SCK 時(shí)鐘信號和數據鎖存RCK 時(shí)鐘信號到74HC595上, 依照相應的時(shí)序對74HC595發(fā)送漢字數據, 同時(shí)對74HC138進(jìn)行行選控制。電路外加一個(gè)74HC245芯片用以提高單片機對負載的驅動(dòng)能力。PC 機通過(guò)串口和M ega16 進(jìn)行通信, 外部存儲器選用M icrochip公司的24C256 串行存儲器, 256 K 容量方便以后將漢字庫固化在里面, 需要顯示的字只需要查詢(xún)存儲器就能提取相應的字模數據。同時(shí)加上DS1302時(shí)鐘芯片, 可以提取2100年前的年月日等時(shí)間數值, 以提供需要。
3 程序設計
程序設計主要包括三部分: 主程序, 串口中斷程序, 顯示子程序。首先進(jìn)入主程序, 初始化單片機,如果串口有數據輸入, 則會(huì )進(jìn)入串口中斷程序接收數據。單片機在接收完數據后會(huì )進(jìn)入顯示子程序,輸出相應的數據到LED 的行列驅動(dòng)。圖6為三部分的程序流程圖。
4 總結
圖7中的顯示部分就是10個(gè)16*16點(diǎn)陣級聯(lián)而成的顯示屏。此結構通用性強, 依靠軟件可以實(shí)現漢字上下左右移動(dòng)等功能, 而不需在LED 顯示單元的硬件上做任何改動(dòng)。在顯示效果上, 可根據需求更改單片機上的控制程序即可, 大大加強了系統的穩定性和實(shí)用性。經(jīng)實(shí)踐測試, 此種結構, 用一片8位單片機, 在16MH z下, 至少能驅動(dòng)32*160個(gè)點(diǎn), 沒(méi)有抖屏現象。如果程序使用匯編語(yǔ)言, 速度將得到很大的提升, 能驅動(dòng)更多點(diǎn)。
本文以高性能的Mega16芯片為硬件基礎, 設計了LED顯示單元的硬件電路和控制電路, 實(shí)現了對單片機的控制、LED 屏幕的顯示等。下一步是完善其漢字的顯示特效, 以及上位機與單片機的實(shí)時(shí)通信等功能。根據此系統的結構還可以進(jìn)一步擴展成雙色, 全彩的LED點(diǎn)陣屏。
評論