LED點(diǎn)陣顯示屏是一種簡(jiǎn)單的漢字顯示器,具有價(jià)廉、易于控制、使用壽命長(cháng)等特點(diǎn),可廣泛應用于各種公共場(chǎng)合,如車(chē)站、碼頭、銀行、學(xué)校、火車(chē)、公共汽車(chē)顯示等。本文詳細介紹了一種低廉的16x64點(diǎn)陣LED顯示屏的設計過(guò)程。 1 硬件系統設計 本系統采用AT89C52單片機作控制器,整個(gè)電路主要由單片機控制及其接口電路、驅動(dòng)顯示電路、電源電路等部分組成。為了簡(jiǎn)化顯示屏電路,降低成本,本系統在單片機部分不加字庫存儲器。而在PC機上編輯漢字和字符顯示信息,并將其轉換為相應的點(diǎn)陣顯示數據,然后通過(guò)串口(采用RS-232通信標準)送給單片機存儲并進(jìn)行顯示處理。圖1所示為其硬件系統原理圖。 1.1 單片機控制電路 本系統由AT89C52構成單片機最小應用系統.同時(shí)配有11.0592 MHz晶振和按鍵復位電路等。系統外擴的一片Flash存儲器29F040為數據存儲器,可用來(lái)存儲由PC機串口送來(lái)的點(diǎn)陣信息(通過(guò)軟件將圖像或文字轉換成與LED顯示屏的像素相對應的點(diǎn)陣信息)。該Flash存儲器是一種非易失性存儲器,它在供電電源關(guān)閉后仍能保持片內信息。由于29F040的容量為512 KB(該芯片內部由8個(gè)64 Kbyte的讀寫(xiě)塊組成,可分塊進(jìn)行讀、寫(xiě)和擦除等操作),而AT89C52只能管理64KB的數據空間,所以,需將29F040分成8頁(yè),每頁(yè)64KB。其頁(yè)碼可由單片機的P3.2"P3.4來(lái)選擇。另外,采用MAX232可完成RS232與TTL電平的轉換,以便使PC機與單片機交換信息。 1.2 16x64點(diǎn)陣顯示器的設計 圖2是一種8x8的LED點(diǎn)陣單色行共陽(yáng)模塊的內部結構圖,其單點(diǎn)工作電壓Uf為1.8 V,正向電流IF為8"10 mA。當某一行線(xiàn)為高電平而某一列線(xiàn)為低時(shí),其行列交叉的點(diǎn)就被點(diǎn)亮;而當其某一列線(xiàn)為高時(shí),其行列交叉的點(diǎn)為暗;當某一行線(xiàn)為低電平時(shí),無(wú)論列線(xiàn)如何,對應這一行的點(diǎn)全部為暗。 用四個(gè)8x8點(diǎn)陣顯示可構成16x16點(diǎn)陣顯示器,其連接方法如圖3所示。圖中,將(A)和(B)的8列、(C)和(D)的8列分別對應相連,同時(shí)將(A)和(C)的8行、 (B)和(D)的8行分別對應相連。即可形成一個(gè)16行(每一行有16個(gè)LED)、16列(每一列也有16個(gè)LED)的16x16點(diǎn)陣顯示器,可將這256個(gè)點(diǎn)稱(chēng)為一頁(yè),這樣,顯示字符時(shí)。只要對一頁(yè)中對應的亮滅進(jìn)行控制即可。 如果需要,也可以把4個(gè)16x16點(diǎn)陣顯示器相連從而構成16x64的點(diǎn)陣顯示器。 2 LED點(diǎn)陣顯示器的掃描驅動(dòng) LED顯示屏驅動(dòng)電路的設計應與所用控制系統相配合。驅動(dòng)通常分為動(dòng)態(tài)掃描型及靜態(tài)鎖存型驅動(dòng)二大類(lèi)。本文以動(dòng)態(tài)掃描型驅動(dòng)電路的設計為例來(lái)進(jìn)行分析。動(dòng)態(tài)掃描型驅動(dòng)方式是指顯示屏上的16行發(fā)光二極管共用一組列驅動(dòng)寄存器,然后通過(guò)行驅動(dòng)管的分時(shí)工作,來(lái)使每行LED的點(diǎn)亮時(shí)間占總時(shí)間的1/16。只要每行的刷新速率大于50 Hz,利用人眼的視覺(jué)暫留效應,人們就可以看到一幅完整的文字或畫(huà)面。 AT89S52單片機有四個(gè)I/O口(P0、P1、P2、P3),每個(gè)I/O口有8位,如果都采用并行輸出,顯然不能滿(mǎn)足要求,因此,本設計中的行掃描驅動(dòng)采用并口輸出,而場(chǎng)掃描驅動(dòng)采用串口輸出。 2.1 行掃描驅動(dòng) 由于16x64點(diǎn)陣顯示器有16行,為充分利用單片機的接口,本電路中加入了一個(gè)4-16線(xiàn)譯碼器74LS154,其輸入是一個(gè)16進(jìn)制碼,解碼輸出為低態(tài)掃描信號,它們的管腳示意圖如圖4所示。把74LS154的G1和G2引腳接地,然后以A、B、C、D四腳為輸入端。就會(huì )形成16種不同的輸入狀態(tài),分別為0000~1111,然后使每種狀態(tài)只控制一路輸出,即會(huì )有16路輸出。 如果一行64點(diǎn)全部點(diǎn)亮,則通過(guò)74LS154的電流將達640 mA,而實(shí)際上,74LS154譯碼器提供不了足夠的吸收電流來(lái)同時(shí)驅動(dòng)64個(gè)LED同時(shí)點(diǎn)亮,因此,應在74LS154每一路輸出端與16x64點(diǎn)陣顯示器對應的每一行之間用一個(gè)三極管來(lái)將電流信號放大,本文選用的是達林頓三極管TIP127。這樣,74LS154某一輸出腳為低電平時(shí),對應的三極管發(fā)射極為高電平,從而使點(diǎn)陣顯示器的對應行也為高電平。 2.2 場(chǎng)掃描驅動(dòng) 本系統場(chǎng)掃描驅動(dòng)電路的設計可用串入并出的通用集成電路74HC595來(lái)作為數據鎖存。74HC595是一個(gè)八位串行輸入三態(tài)并行輸出的移位寄存器,其管腳見(jiàn)圖4所示,其中SI是串行數據的輸入端,RCK是存儲寄存器的輸入時(shí)鐘,SCK是移位寄存器的輸入時(shí)鐘,Q'H是串人數據的輸出,G是對輸人數據的輸出使能控制,QA~QH為串入數據的并行輸出。從SI口輸入的數據可在移位寄存器的SCK腳上升沿的作用下輸入到74HC595中。并在RCK腳的上升沿作用下將輸入的數據鎖存在74HC595中,這樣,當G為低電平時(shí),數據便可并行輸出。為了避免與PC機串口輸入的數據相互干擾,也可使用模擬串口P1.4"P1.7來(lái)分別輸出串行數據、移位時(shí)鐘SCK、存儲信號RCK和并行輸出的使能信號G。 為了消除電源電壓的波動(dòng)及行掃描管壓降(第一行點(diǎn)亮的點(diǎn)數不同,將引起管壓降的變化,從而影響通過(guò)LED管的電流)的變化對LED顯示屏亮度的影響,設計時(shí)可采用列恒流驅動(dòng)電路,可選用三極管8550和外圍元件構成列恒流驅動(dòng)電路,并通過(guò)調整100 kΩ可調電阻使三極管處于放大狀態(tài),同時(shí)將集電極電流調整為10 mA,從而使點(diǎn)亮對應點(diǎn)陣時(shí)通過(guò)LED的電流不變。 2.3 掃描顯示工作過(guò)程 將8片74HC595進(jìn)行級連,可共用一個(gè)移位時(shí)鐘SCK及數據鎖存信號RCK。這樣,當第一行需要顯示的數據經(jīng)過(guò)8x8=64個(gè)SCK時(shí)鐘后便可將其全部移入74HC595中,此時(shí)還將產(chǎn)生一個(gè)數據鎖存信號RCK將數據鎖存在74HC595中,并在使能信號G的作用下,使串入數據并行輸出,從而使與各輸出位對應的場(chǎng)驅動(dòng)管處于放大或截止狀態(tài);同時(shí)由行掃描控制電路產(chǎn)生信號使第一行掃描管導通,相當于第一行LED的正端都接高,顯然,第一行LED管的亮滅就取決于74HC595中的鎖存信號;此外,在第一行LED管點(diǎn)亮的同時(shí),再在74HC595中移入第二行需要顯示的數據,隨后將其鎖存,同時(shí)由行掃描控制電路將第一行掃描管關(guān)閉而接通第二行,使第二行LED管點(diǎn)亮,以此類(lèi)推,當第十六行掃描過(guò)后再回到第一行,這樣,只要掃描速度足夠高,就可形成一幅完整的文字或圖像。 3 軟件系統設計 本系統的軟件設計流程圖如圖5所示,該顯示程序以常用的左移為例來(lái)進(jìn)行設計。 4 結束語(yǔ) 經(jīng)過(guò)實(shí)際應用證明,本顯示屏可以作為信息顯示裝置。用于公共場(chǎng)所來(lái)進(jìn)行信息顯示,而且具有工作穩定、字符清晰、亮度適中等特點(diǎn)。若所顯示的信息較為簡(jiǎn)單,也可直接將信息代碼拷入單片機中,還可以通過(guò)外擴儲存器的方式來(lái)增加顯示的信息量。 |