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