版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 單片機(jī)原理與應(yīng)用課程設(shè)計報告課程設(shè)計名稱: LED點(diǎn)陣廣告牌的設(shè)計 專業(yè)班級: 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 設(shè)計時間: 成 績: 信 電 工 程 學(xué) 院 摘要LED的特色之處一是節(jié)能(直接功耗,間接耗能),二是基本無電離輻射,三提高空間利用率。而這些特色又恰好解決了上述的三種問題。LED點(diǎn)陣顯示屏之所以受到廣泛重視而得到迅速發(fā)展,是與LED顯示屏本身所具有的優(yōu)點(diǎn)分不開的。組合型led點(diǎn)陣顯示器以發(fā)光二極體為圖素,它用高亮度LED晶粒進(jìn)行陣列組合后,再透過環(huán)氧樹脂和塑模封裝而成。具有高亮度、功耗低、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。LED點(diǎn)陣顯示系統(tǒng)中各模組的顯示方式有
2、靜態(tài)和動態(tài)顯示兩種。靜態(tài)顯示原理簡單、控制方便,但硬體接線復(fù)雜,在實(shí)際應(yīng)用中一般採用動態(tài)顯示方式,動態(tài)顯示採用掃描的方式工作,由峰值較大的窄脈沖驅(qū)動,從上到下逐次不斷地對顯示幕的各行進(jìn)行選通,同時又向各列送出表示圖形或文字資訊的脈沖信號,反復(fù)迴圈以上操作,就可顯示各種圖形或文字資訊。LED點(diǎn)陣顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。關(guān)鍵詞 單片機(jī) LED 點(diǎn)陣目 錄1緒論.11.1 LED點(diǎn)陣顯示屏的設(shè)計背景及意義.1顯示原理及控制方式分析.31.2.1 LED點(diǎn)陣模塊結(jié)構(gòu).3 LED 動態(tài)顯示原理.41.2.3 L
3、ED常見的控制方式.41.3 設(shè)計目標(biāo)及采取的方案.51.3.1 本設(shè)計的目標(biāo).51.3.2 本設(shè)計采取的方案.52系統(tǒng)硬件設(shè)計.5 AT89C51芯片的介紹.62.2 74LS154芯片的介紹.62.3 點(diǎn)陣式漢字LED顯示屏設(shè)計.72.3.1 16*16點(diǎn)陣LED原理及應(yīng)用.72.3.2 LED點(diǎn)陣的顯示文字圖形原理.8.103.1 字模簡介.103.2 LED顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù).103.3 字模存儲技術(shù)簡介.114 系統(tǒng)軟件設(shè).114.1 程序設(shè)計.115 調(diào)試與仿真.125.1 仿真效果.125.2 調(diào)試中出現(xiàn)的問題.12結(jié)論.12參考文獻(xiàn).14附錄.14附錄1 16*16的點(diǎn)陣圖
4、文顯示屏的硬件原理圖.14附錄2 完整程序.141 緒論1.1 LED點(diǎn)陣顯示屏的設(shè)計背景及意義LED電子顯示屏(Light Emitting Diode Panel)是由幾百-幾十萬個半導(dǎo)體發(fā)光二極管構(gòu)成的像素點(diǎn),按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩的LED像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色LED的開發(fā)已經(jīng)達(dá)到了實(shí)用階段。 LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的亮度的方式,來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。 LED顯示屏分為圖文顯示屏和條幅顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計算機(jī)同步顯示漢字、英文
5、文本和圖形;而條幅顯示屏則適用于小容量的字符信息顯示。LED顯示屏因?yàn)槠湎袼貑卧侵鲃影l(fā)光的,具有亮度高,視角廣、工作電壓低、功耗小、壽命長、耐沖擊和性能穩(wěn)定等優(yōu)點(diǎn)。因而被廣泛應(yīng)用于車站、碼頭、機(jī)場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。 LED顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。LED點(diǎn)陣設(shè)計主要應(yīng)用于LED點(diǎn)陣顯示屏,它是利用發(fā)光二極管點(diǎn)陣模塊組成的平面式顯示屏幕。由于它具有發(fā)光效率高、使用壽命長、節(jié)能、組態(tài)靈活、色彩豐富、顯示方式變化多樣以及無電離輻射等優(yōu)點(diǎn),在國
6、內(nèi)外得到了極為廣泛的應(yīng)用。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。1.2.1 LED點(diǎn)陣模塊結(jié)構(gòu)八十年代以來出現(xiàn)了組合型LED點(diǎn)陣顯示器模塊,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。這種一體化封裝的點(diǎn)陣LED模塊,具有高亮度、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。LED點(diǎn)陣規(guī)模常見的有44、48、57、58、88、1616等等。根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、圖象等內(nèi)容的顏色也不同。單色點(diǎn)陣只能顯示固定色彩如紅、綠、黃等單
7、色,雙基色和三基色點(diǎn)陣顯示內(nèi)容的顏色由像素內(nèi)不同顏色發(fā)光二極管點(diǎn)亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯示黃色,如果按照脈沖方式控制二極管的點(diǎn)亮?xí)r間,則可實(shí)現(xiàn)256或更高級灰度顯示,即可實(shí)現(xiàn)真彩色顯示。LED點(diǎn)陣顯示器單塊使用時,既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號如5x7點(diǎn)陣顯示器用于顯示西文字母58點(diǎn)陣顯示器用于顯示中西文,8x8點(diǎn)陣可以用于顯示簡單的中文文字,也可用于簡單圖形顯示。用多塊點(diǎn)陣顯示器組合則可構(gòu)成大屏幕顯示器,但這類實(shí)用裝置常通過PC機(jī)或單片機(jī)控制驅(qū)動。1.2.2 LED 動態(tài)顯示原理LED點(diǎn)陣顯示系統(tǒng)中各模塊的顯示方式: 有靜態(tài)和動態(tài)顯示兩種。靜態(tài)顯示原理簡單、控制方
8、便,但硬件接線復(fù)雜,在實(shí)際應(yīng)用中一般采用動態(tài)顯示方式,動態(tài)顯示采用掃描的方式工作,由峰值較大的窄脈沖電壓驅(qū)動,從上到下逐次不斷地對顯示屏的各行進(jìn)行選通,同時又向各列送出表示圖形或文字信息的列數(shù)據(jù)信號,反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。點(diǎn)陣式LED漢字廣告屏絕大部分是采用動態(tài)掃描顯示方式,這種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高速的循環(huán)顯示,只要幀速率高于24幀/秒,人眼看起來就是一個完整的,相對靜止的畫面。在電子領(lǐng)域中,因?yàn)檫@種動態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號線數(shù)量,因此在LED顯示技術(shù)中被廣泛使用。以88點(diǎn)陣模塊為例,說明一下其使用方法及控制過程。
9、圖2.1中,紅色水平線Y0、Y1Y7叫做行線,接內(nèi)部發(fā)光二極管的陽極,每一行8個LED的陽極都接在本行的行線上。相鄰兩行線間絕緣。同樣,藍(lán)色豎直線X0、X1X7叫做列線,接內(nèi)部每列8個LED的陰極,相鄰兩列線間絕緣。在這種形式的LED點(diǎn)陣模塊中,若在某行線上施加高電平(用“1”表示),在某列線上施加低電平(用“0”表示)。則行線和列線的交叉點(diǎn)處的LED就會有電流流過而發(fā)光。比如,Y7為1,X0為0,則右下角的LED點(diǎn)亮。再如Y0為1,X0到X7均為0,則最上面一行8個LED全點(diǎn)亮。1.2.3 LED常見的控制方式目前常見的是并行傳輸方式(見附錄1.1),通過8位鎖存器將8位總線上的列數(shù)據(jù)進(jìn)行鎖
10、存顯示,各8位鎖存器的片選信號由譯碼器提供。此種方式的優(yōu)點(diǎn)是傳輸速度快,對微控制器(MCU)的通信速度要求較低。但是這種方案最大的缺點(diǎn)是不便于隨意擴(kuò)展顯示單元的數(shù)目。每增加一個1616點(diǎn)陣的全角漢字顯示單元,就需要在之前的電路上多增加兩根地址線,這就要求在PCB布線的時候要留有充足的地址線冗余量。再一個缺點(diǎn)是,每個單元的PCB隨著安放位置的不同,布線結(jié)構(gòu)也不相同,不利于廠家批量生產(chǎn)。并行傳輸需要的芯片較多,因此市場上已經(jīng)出現(xiàn)用FPGA,CPLD等高密度可編程邏輯器件(PLD)來取代傳統(tǒng)鎖存器IC的方案。成本有所下降,但可擴(kuò)展性仍舊較差。因此,并行傳輸方式適用于顯示單元數(shù)目確定的條屏。一以傳統(tǒng)8
11、051單片機(jī)為控制器的LED顯示屏。因受到單片機(jī)運(yùn)算速度及通信速率的限制,LED動態(tài)顯示的刷新率不可能做得太高。對顯示效果和移動算法的處理也比較吃力,在實(shí)際顯示效果上有比較明顯的閃爍感。除此之外,傳統(tǒng)8051單片機(jī)的內(nèi)部資源貧乏,僅128字節(jié)的數(shù)據(jù)存儲器,幾K字節(jié)的程序存儲器,無E2PROM,SPI。這就需要對單片機(jī)擴(kuò)展外設(shè),無疑增加了硬件成本。因此,8051控制的條屏只能用于顯示內(nèi)容及其簡單,不需要經(jīng)常更改顯示內(nèi)容的場合。二以PIC單片機(jī)為控制器的LED顯示屏。因PIC單片機(jī)是RISC架構(gòu)的工業(yè)專用單片機(jī),處理指令的速度有所增加,抗干擾能力優(yōu)秀,型號種類繁多。作為條屏的控制器,可以明顯的改善
12、顯示效果,同時PIC單片機(jī)內(nèi)部的資源較豐富,可節(jié)省外部電路設(shè)計難度,同時降低了硬件成本。因此,以PIC單片機(jī)為控制器的條屏目前仍是單色條屏市場的主流。三以FPGA(復(fù)雜可編程邏輯門陣列)為控制器的LED顯示屏。FPGA以高速、并行著稱。是近年來新興的可編程邏輯器件。用他作為LED顯示屏的控制器,能夠高速的處理色階PWM信號、高速的完成動態(tài)掃描邏輯、高速的完成字符移動算法。因此被運(yùn)用于雙基色、三基色的顯示系統(tǒng)。但是其成本較高,開發(fā)難度較大。 設(shè)計目標(biāo)及采取的方案1.3.1 本設(shè)計的目標(biāo)本設(shè)計的理論基礎(chǔ)是單片機(jī)原理與應(yīng)用,模電和數(shù)電。比如AT89C51芯片的一些工作原理是在MCS51的基礎(chǔ)上通過改
13、進(jìn)完成的。74LS154的工作原理數(shù)電里也學(xué)習(xí)過。本設(shè)計完成了16*16LED點(diǎn)陣動態(tài)顯示兩個以上漢字,并可以利用按鍵控制其左右移動。通過本設(shè)計不僅可以復(fù)習(xí)之前學(xué)過的知識,而且可以通過查閱課外資料學(xué)到書本上沒有的知識,還鍛煉了我們的動手能力。通過這次課程設(shè)計把我們在學(xué)校學(xué)習(xí)的理論知識和實(shí)際應(yīng)用有機(jī)地結(jié)合起來,把理論跟實(shí)踐相結(jié)合,培養(yǎng)了我們的專研精神。 1.3.2 本設(shè)計采取的方案(1)根據(jù)實(shí)驗(yàn)指導(dǎo)書的要求確定系統(tǒng)應(yīng)該具有的功能(2)按照系統(tǒng)功能將系統(tǒng)分模塊組合起來(3)根據(jù)系統(tǒng)功能與結(jié)構(gòu)編寫實(shí)驗(yàn)程序,并通過keil軟件進(jìn)行編譯并找出程序中的錯誤,改正這些錯誤(4)確定所需的元器件,然后利用pr
14、oteus軟件畫出系統(tǒng)電路圖并進(jìn)行仿真(5)仿真成功后根據(jù)仿真圖制作實(shí)際硬件圖(6)最終能在LED電路板上顯示實(shí)驗(yàn)指導(dǎo)書上所要求的漢字顯示形式。2 系統(tǒng)硬件設(shè)計本設(shè)計采用以AT89C51單片機(jī)為核心芯片的電路來實(shí)現(xiàn),主要由AT89C52芯片、時鐘電路、列掃描驅(qū)動電路(74LS154)、16*16 LED點(diǎn)陣5部分組成。2.1 AT89C52芯片的介紹因?yàn)樵诔绦蛑?,所使用的?nèi)部存儲器的空間較大,對于51系列單片機(jī),高128B被特殊功能寄存器占用,對于52系列單片機(jī),高128B與特殊功能寄存器有相同的地址,而物理上是分開的,故使用了AT891C52芯片。 AT89C52是一種帶8kB閃爍可編程可擦
15、除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,F(xiàn)PEROM)的低電壓、高性能CMOS型8位微處理器,俗稱單片機(jī)。該器件采用ATMEL公司高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠進(jìn)行1 000次寫擦循環(huán),數(shù)據(jù)保留時間為10年。它是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。因此,在智能化電子設(shè)計與制作過程中經(jīng)常用到AT89C52芯片。 AT89C52是一個低功耗高性能的單片機(jī),共有40個引腳,32個外部雙向輸入/
16、輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器和1個全雙工串行通信口,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。2.2 74LS154芯片的介紹(1)54/74154 為 4 線16 線譯碼器,當(dāng)選通端(G1、G2)均為低電平時,可將地址端(ABCD)的二進(jìn)制編碼在一個對應(yīng)的輸出端,以低電平譯出。 如果將G1和G2中的一個作為數(shù)據(jù)輸入端,由ABCD對輸出尋址,74LS154還可作1線-16線數(shù)據(jù)分配器,見圖2-1。圖2-1 74LS154芯片(2) 引腳功
17、能介紹A、B、C、D 譯碼地址輸入端(低電平有效)G1、G2 選通端(低電平有效) 015 輸出端(低電平有效)(3)74LS154真值表,見表2-1表2-1 74LS154真值表Inputs輸入Outputs輸出G1G2DCBA0123456789101112131415LLLLLLLHHHHHHHHHHHHHHHLLLLLHHLHHHHHHHHHHHHHHLLLLHLHHLHHHHHHHHHHHHHLLLLHHHHHLHHHHHHHHHHHHLLLHLLHHHHLHHHHHHHHHHHLLLHLHHHHHHLHHHHHHHHHHLLLHHLHHHHHHLHHHHHHHHHLLLHHHHHH
18、HHHHLHHHHHHHHLLHLLLHHHHHHHHLHHHHHHHLLHLLHHHHHHHHHHLHHHHHHLLHLHLHHHHHHHHHHLHHHHHLLHLHHHHHHHHHHHHHLHHHHLLHHLLHHHHHHHHHHHHLHHHLLHHLHHHHHHHHHHHHHHLHHLLHHHLHHHHHHHHHHHHHHLHLLHHHHHHHHHHHHHHHHHHHLLHXXXXHHHHHHHHHHHHHHHHHLXXXXHHHHHHHHHHHHHHHHHHXXXXHHHHHHHHHHHHHHHH表中L表示低電平;表中H表示高電平。(4) 與單片機(jī)引腳的連接地址輸入端A、B、C、D分別
19、接單片機(jī)的P0.0、P0.1、P0.2、P0.3口來控制選擇第幾列顯示。選通端G1接P1.4口,G2接地。(5) 與點(diǎn)陣引腳的連接 74LS154芯片的1-8腳對應(yīng)接上面兩個點(diǎn)陣引腳的列線,9-17腳(12腳接地)對應(yīng)接下面兩個點(diǎn)陣引腳的列線。點(diǎn)陣引腳圖見下圖2-1。2.3 點(diǎn)陣式漢字LED顯示屏設(shè)計2.3.1 16*16點(diǎn)陣LED原理及應(yīng)用設(shè)計LED點(diǎn)陣顯示屏?xí)r必須掌握點(diǎn)陣工作原理才能進(jìn)行更深層設(shè)計。16*16LED點(diǎn)陣實(shí)質(zhì)上就是4塊8*8點(diǎn)陣LED級聯(lián)而成的,因此特給出 8*8 點(diǎn)陣LED的工作原理。圖2-1為8*8點(diǎn)陣LED的等效電路圖,只要其對應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例
20、如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時限流電阻可以放在X軸或Y軸。而16*16就是在8*8原理的基礎(chǔ)上將四塊8*8級聯(lián)而成,見圖2-2。 圖2-1 8*8點(diǎn)陣LED等效電路圖圖2-2 四塊8x8點(diǎn)陣LED級聯(lián)成16x16點(diǎn)陣2.3.2 LED點(diǎn)陣的顯示文字圖形原理LED驅(qū)動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動器。以1616點(diǎn)陣為例,把所有同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽極連在一起(共陰的接法),先送出對應(yīng)第1列發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1列使其燃亮一定的時間,然后熄滅;再送出第
21、2列的數(shù)據(jù)并鎖存,然后選通第2列使其燃亮相同的時間,然后熄滅;以此類推,第16列之后,又重新燃亮第1列,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上的漢字的每一筆都是同時出現(xiàn)的。該方法能驅(qū)動較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。顯示數(shù)據(jù)可通過單片機(jī)的P0,P2口傳輸?shù)近c(diǎn)陣行引腳。LED點(diǎn)陣顯示模塊進(jìn)行的方法有兩種:(1)水平方向(X方向)掃描,即逐列掃描的方式(簡稱列掃描方式):此時用一個P口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個P口輸出行碼(列數(shù)據(jù)),決定該列上哪個LED亮(相當(dāng)于段碼)。能亮的列從左到右掃描完16列(相當(dāng)
22、于位碼循環(huán)移動16次)即顯示出一個完整的圖像。(2)豎直方向(Y方向)掃描,即逐行掃描方式(簡稱行掃描方式):此時用一個P口輸出決定哪一行能亮(相當(dāng)于位碼),另一個P口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點(diǎn)陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些LED燈亮(相當(dāng)于段碼)。能亮的行從上向下掃描完16行(相當(dāng)于位碼循環(huán)移位16次)即顯示一幀完整的圖像。本設(shè)計應(yīng)用的是第一種的掃描方法,即水平方向(X方向)掃描。每一個字由16行16列的點(diǎn)陣形成顯示,即每個字均由256個點(diǎn)陣來表示,我們可以把每一個點(diǎn)理解為一個像素。一般我們使用的16*16的點(diǎn)陣宋體字庫是每一個漢字在縱橫各16點(diǎn)的區(qū)域內(nèi)顯示的。漢字庫從該位置
23、起的32字節(jié)信息記錄了該字的字模信息。事實(shí)上這個漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。我們以水平方向(x方向)掃描顯示漢字的“楊”為例來說明其掃描原理,每一個字由16行16列的點(diǎn)陣組成顯示,如下圖,如果用8位的AT89S51的單片機(jī)來控制,由于單片機(jī)的總線為8位,一個字需要拆分成兩個部分。一般我們把它分解成上部分和下部分,上部分由8*16的點(diǎn)陣組成,下部分也由8*16的點(diǎn)陣組成。在本例中單片機(jī)首先顯示的是左上角的第一列的部分,即第0列的P0.0P0.7口。方向?yàn)镻0.7到P0.0,顯示漢字“楊”的時候,P0.0到P0.2都是滅的,P0.3亮,因?yàn)樾薪雨帢O,即二進(jìn)制11
24、110111,轉(zhuǎn)換為16進(jìn)制為F7H,如圖所示。上半部分第一列完成之后,繼續(xù)掃描下半部分的第一列,即從P2.7向P2.0方向掃描,從上圖可以看到,這一列P2.2亮,其余全部滅,所以代碼為11111011,16進(jìn)制為FBH,然后單片機(jī)轉(zhuǎn)向上半部的第二列,除了P0.3亮,其他的都不亮,即為11110111,16進(jìn)制為F7H,這一列掃描完成之后繼續(xù)進(jìn)行下半部分的掃描,除了P2.0和P2.1亮,其他的為不亮,為二進(jìn)制11111100,即16進(jìn)制FCH。按照這個方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個8位,可以得出漢字“楊”的掃描代碼為 :F7H,F(xiàn)BH ,F(xiàn)7H ,F(xiàn)CH ,37H ,F(xiàn)FH,00H,
25、00H,B7H,F(xiàn)FH,77H,F(xiàn)EH,F(xiàn)5H,F(xiàn)7H,BDH,DBH,9DH ,ECH,2DH,F(xiàn)7H,B5H, F9H,39H,BEH,BDH,7FH,3FH,80H,F(xiàn)FH,F(xiàn)FH,F(xiàn)FH,F(xiàn)FH。3 字模生成3.1 字模簡介 文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀1。在電腦硬件中,根本沒有漢字這個概念,也沒有英文的概念,其認(rèn)識的概念只有內(nèi)碼(將ASCII表的高128個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼)。如果你用啟動盤啟動系統(tǒng)后用DIR命令可能得到一串串
26、莫名其妙的字符,但那確確實(shí)實(shí)是漢字,如果你啟動UCDOS或其他的漢字系統(tǒng)后,就會看到那是一個個熟悉的漢字。在硬件系統(tǒng)內(nèi),英文的字模信息一般固化在ROM里,即使在沒有進(jìn)入系統(tǒng)的CMOS里,也可以讓你看到英文字符。而在DOS下,中文的字模信息一般記錄在漢字庫文件里(將制作好的字模放到一個個標(biāo)準(zhǔn)的庫中,這就是點(diǎn)陣字庫文件)。字模生成3.2 LED顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù)在通過軟件實(shí)現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件打開后輸入漢字,點(diǎn)“檢取”,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。在通過硬件實(shí)現(xiàn)字模提取的技術(shù)中,有在單片機(jī)系統(tǒng)中增加硬漢字庫的方法,主控器
27、發(fā)送的漢字是其機(jī)內(nèi)碼,用兩個字節(jié)來表示一個漢字。根據(jù)機(jī)內(nèi)碼,顯示單元控制模塊從漢字庫中查取顯示字模,實(shí)現(xiàn)漢字顯示。由于帶有硬漢字庫,進(jìn)行動態(tài)文字顯示時,通用智能顯示單元僅接受漢字的機(jī)內(nèi)碼即可,這樣數(shù)據(jù)通訊量大大減少。因此,“動態(tài)文字顯示速度快”。3.3 字模存儲技術(shù)目前使用最廣泛的技術(shù)是,通過上位機(jī)軟件將待顯示的字符串轉(zhuǎn)換為對應(yīng)的點(diǎn)陣字模數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲在E2PROM中。在條屏顯示的過程中按規(guī)定的方式取出E2PROM中的字模數(shù)據(jù)進(jìn)行處理。對于一個1616點(diǎn)陣的漢字字模數(shù)據(jù),需要連續(xù)32字節(jié)的E2PROM空間來存儲。照此計算,若有256個需要顯示的字符,則
28、至少需要32B256=8192字節(jié)(8KB)的E2PROM存儲空間。通常的單片機(jī)內(nèi)部沒有集成這么大容量的E2PROM。因此這種方案,需要在單片機(jī)外部擴(kuò)展大容量的E2PROM,增加硬件成本。上位機(jī)程序設(shè)計由于涉及到漢字取模,取模算法的難度較大。在多字下載的時候傳輸時間也較長。諸多弊端使本設(shè)計放棄了傳統(tǒng)方案。而本設(shè)計創(chuàng)新使用了專用的點(diǎn)陣字庫芯片,成本僅為8元,內(nèi)含各種點(diǎn)陣規(guī)格的GB2312、ASCII等標(biāo)準(zhǔn)字庫。專用字庫芯片采用微型SO-8封裝,使用高速同步串行SPI接口進(jìn)行讀寫操作,節(jié)省了控制器的I/O。在本設(shè)計中,單片機(jī)內(nèi)部的小容量E2PROM,用于存儲待顯示漢字的GB2312標(biāo)準(zhǔn)機(jī)內(nèi)碼,每個
29、全角字符的內(nèi)碼占2字節(jié),則在同樣需要顯示256個漢字的情況下,這種方案僅占用512字節(jié)的E2PROM空間。4 系統(tǒng)軟件設(shè)計4.1 程序設(shè)計系統(tǒng)軟件采用匯編語言編寫,按照模塊化的設(shè)計思路設(shè)計。首先分析程序所要實(shí)現(xiàn)的功能,程序要實(shí)現(xiàn)動態(tài)顯示并能左右移動的功能。程序分為主程序和中斷程序。4.1.1 程序設(shè)計總體思路用簡短的匯編程序設(shè)計,實(shí)現(xiàn)LED點(diǎn)陣顯示內(nèi)容,并使顯示的內(nèi)容在屏幕上從左到右的滾動顯示。系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、延時程序、顯示子程序和串行口中斷程序。用AT89C51、74LS373、74LS138、74HC154芯片和4個1616LED點(diǎn)陣顯示器構(gòu)成一個完整的16位點(diǎn)陣LED顯示
30、系統(tǒng)。5.1.2 程序流程圖程序主要由開始、初始化、主程序、字庫組成。其中主程序和子程序的流程圖如圖5.1所示。圖5-15 調(diào)試與仿真Proteus仿真時,單片機(jī)需要加載程序,加載程序?yàn)?hex文件。本設(shè)計利用Keil軟件,在新建項(xiàng)目時選擇AT89C52單片機(jī)作為CPU,將相應(yīng)程序?qū)?,在“Options For Target”對話窗口中,選中“Output”選項(xiàng)中的“Create Hex File ”,編譯鏈接后就可以生成.hex文件。在Proteus ISIS中,選中AT89C52并單擊鼠標(biāo)左鍵,對AT89C52進(jìn)行設(shè)置,設(shè)置單片機(jī)時鐘頻率為12MHz,按照正確的文件路徑加載.hex文件。
31、對單片機(jī)設(shè)置完畢后就可以開始仿真了。仿真過程中如有硬件問題可在Proteus ISIS中直接修改,如有軟件問題可在keil中直接修改,通過keil與Proteus的聯(lián)合調(diào)試就可以得到預(yù)期的結(jié)果。Proteus軟件目前版本中沒有16*16點(diǎn)陣模塊,本設(shè)計中采用Proteus軟件中現(xiàn)有的4個8*8點(diǎn)陣模塊組合成一個16*16點(diǎn)陣模塊,利用Proteus軟件設(shè)計點(diǎn)陣式LED滾動漢字顯示屏硬件電路原理圖如附錄圖。5.1 仿真效果5.2 調(diào)試中出現(xiàn)的問題延時問題:在顯示子程序中需要調(diào)用延時子程序,如果延時過短,雖然能提高顯示屏的亮度,但是將無法達(dá)到預(yù)定的效果,每行還沒有顯示完全就進(jìn)入了下一行的掃描,甚至
32、鎖存器還沒有輸出到顯示屏,便進(jìn)入到下一個掃描周期,如果時間過長,不但顯示屏的亮度會降低,而且掃描的過程變?yōu)殚g斷的,人眼看到的不是完整的漢字,這兩種情況都是不成功的,要想達(dá)到最佳的顯示效果,就得根據(jù)鎖存器的鎖存時間,得出掃描一行的最短時間,再結(jié)合實(shí)踐,便能得出延時的最佳時間,這樣顯示屏才能顯示穩(wěn)定的漢字。結(jié)論在本設(shè)計中我用簡短的匯編程序在LED顯示屏實(shí)現(xiàn)了漢字的左移右移滾動顯示。在設(shè)計中采用的芯片有AT89C51、74LS373、74LS138、74HC154和4個88LED點(diǎn)陣顯示器。其特點(diǎn):1.內(nèi)容能從右向左,從左向右浮動顯示,有不同的動態(tài)效果。2.硬件結(jié)構(gòu)簡單,應(yīng)用廣泛。3.LED數(shù)碼管動
33、態(tài)掃描顯示,工作效率高,價格低廉等。通過本次(1616位點(diǎn)陣LED)的設(shè)計,理論知識學(xué)習(xí)和實(shí)際設(shè)計的結(jié)合鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識解決實(shí)際工程問題的能力,同時也提高我查閱文獻(xiàn)資料、設(shè)計手冊、設(shè)計規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富。為后繼的學(xué)習(xí)和工作奠定的基礎(chǔ)。參考文獻(xiàn) 2 嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試M.北京:北京航空航天大學(xué)出版社,2005 3李光飛等.單片機(jī)課程設(shè)計實(shí)例指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2005 附錄附錄1整體電路原理圖附錄2完整程序ORG 0000HAJ
34、MP READYORG 000BHAJMP INT_0;只需更改點(diǎn)陣數(shù)據(jù)和要顯示的總字?jǐn)?shù)READY:MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV SP,#70H MOV 36H,#2D ;控制移動的速度 MOV 37H,#00H MOV 3AH,#9D ;設(shè)置要顯示的總字?jǐn)?shù) LCALL DATA_CHUSHI SETB EA ;中斷初始化 SETB ET0 MOV TMOD,#01H MOV TH0,#0A6H MOV TL0,#00H SETB TR0;主程序MAIN:ACALL DISP_READY ;調(diào)用顯示子程序 ACA
35、LL KEY ;調(diào)用按鍵子程序 AJMP MAIN ;循環(huán)調(diào)用子程序DATA_CHUSHI:MOV 35H,#00H MOV 38H,#00H MOV 39H,#01H ;初始化時已顯示第一個字 MOV 3BH,#0A0H ;暫存R0指向地址 MOV DPTR,#DATA1 MOV R0,#0A0H;點(diǎn)陣數(shù)據(jù)存放地址 MOV 30H,#32D;數(shù)據(jù)字節(jié)數(shù) SEND_DATA0:MOV A,#00H;將表中第一個數(shù)據(jù)地址存入R0 MOVC A,A+DPTR MOV R0,A INC R0 INC DPTR DJNZ 30H,SEND_DATA0 ;共32字節(jié) MOV R0,#0C0H;點(diǎn)陣數(shù)據(jù)存
36、放地址 MOV 30H,#32D;數(shù)據(jù)字節(jié)數(shù)SEND_DATA1:MOV A,#00H;將左移時所需存儲的數(shù)據(jù)地址存入R0 MOVC A,A+DPTR MOV R0,A INC R0 INC DPTR DJNZ 30H,SEND_DATA1 MOV DPTR,#DATA1+32 MOV R0,#80H;點(diǎn)陣數(shù)據(jù)存放地址 MOV 30H,#32D;數(shù)據(jù)字節(jié)數(shù)SEND_DATA2:MOV A,#00H;將右移時所需存儲的數(shù)據(jù)地址存入R0 MOVC A,A+DPTR MOV R0,A INC R0 INC DPTR DJNZ 30H,SEND_DATA2 RET KEY:MOV P3,#0FFH M
37、OV A,P3 ANL A,#00000001B ;由一個按鍵控制(對應(yīng)單片機(jī)P3.0口) CJNE A,#00000001B,KEY_PANDUAN RETKEY_PANDUAN:MOV 34H,A ;判斷是否確實(shí)有鍵按下 ACALL KEY_DELAY MOV A,P3 ANL A,#00000001B CJNE A,34H,KEY_EXIT ACALL KEY_CHULIKEY_EXIT: RETKEY_CHULI:JB ACC.0,KEY_CHULI_EXIT ;有鍵按下后做相應(yīng)處理 MOV A,37H ;移動方式的切換 ADD A,#40H ;A加除00H以外的任何值都可 MOV 3
38、7H,A LCALL DATA_CHUSHI RETKEY_CHULI_EXIT:RETKEY_DELAY: ;按鍵延時DLY_LP1: MOV R1,#20 MOV R6,#50DLY_LP2: NOP NOP NOP DJNZ R6,DLY_LP2 DJNZ R7,DLY_LP1END_DLYMS:RET ;顯示程序DISP_READY:MOV R0,3BH MOV 30H,#16D MOV 31H,#00H DISP:MOV A,R0 ;行列掃描顯示 MOV P0,A INC R0 MOV A,R0 MOV P2,A MOV P1,31H ACALL DISP_DELAY MOV P0,
39、#00H MOV P1,#0FFH MOV P2,#00H INC 31H INC R0 DJNZ 30H,DISPDISP_EXIT: RET;顯示延時 DISP_DELAY:MOV 32H,#2D1:MOV 33H,#150 DJNZ 33H,$ DJNZ 32H,D1 RET;中斷處理程序INT_0:PUSH ACC MOV TH0,#0A6H ;重裝初值 MOV TL0,#00H INC 35H MOV A,35H CJNE A,36H,INT0_EXIT MOV 35H,#00H ACALL WHICH_WAYINT0_EXIT:POP ACC RETIWHICH_WAY:MOV A
40、,37H ;選擇左移還是右移 CJNE A,#00H,WAY2 ACALL ZUOYI RETWAY2: ACALL YOUYI RETZUOYI: MOV 50H,#0A1H ;初始化時已顯示第一個字 MOV 51H,#0C1H MOV 3CH,#16D INC 38H MOV A,38H CJNE A,#16D,ZUOYI_THEN1 MOV 38H,#00H INC 39H MOV A,39H CJNE A,3AH,ZUOYI_THEN MOV 39H,#00H MOV DPTR,#DATA1ZUOYI_THEN: MOV 3CH,#32D MOV R1,#0C0HZUOYI_SEND_DATA: MOV A,#00H ;左移將字送入R1 MOVC A,A+DPTR MOV R1,A INC R1 INC DPTR DJNZ 3CH,ZUOYI_SEND_DATA MOV 3CH,#16DZUOYI_THEN1: MOV R1,51H ;將字分上下部分顯示 MOV A,R1 RLC A MOV R1,A DEC R1 MOV A,R1 RLC A MOV R1,A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淄博市巡游出租汽車駕駛員區(qū)域科目考試題庫及答案(供參考)
- 2025年河北女子職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 普通合伙合同協(xié)議書
- 隔音降噪合同范本
- 幼兒園中班建康活動策劃方案五篇
- 信號工勞務(wù)合同
- 標(biāo)準(zhǔn)鋼材購銷合同樣本
- 智能設(shè)備研發(fā)與生產(chǎn)合作合同
- 代理的合同范本
- 2024年數(shù)字化教育平臺推廣合同
- 走新型城鎮(zhèn)化道路-實(shí)現(xiàn)湘潭城鄉(xiāng)一體化發(fā)展
- 江蘇中國中煤能源集團(tuán)有限公司江蘇分公司2025屆高校畢業(yè)生第二次招聘6人筆試歷年參考題庫附帶答案詳解
- 【語文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 北師版七年級數(shù)學(xué)下冊第二章測試題及答案
- 2025年全體員工安全意識及安全知識培訓(xùn)
- 2025警察公安派出所年終總結(jié)工作匯報
- 機(jī)動車檢測站新?lián)Q版20241124質(zhì)量管理手冊
- 2024年決戰(zhàn)行測5000題言語理解與表達(dá)(培優(yōu)b卷)
- 中國游戲發(fā)展史課件
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- 工程數(shù)學(xué)試卷及答案
評論
0/150
提交評論