基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)_第1頁
基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)_第2頁
基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)_第3頁
基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)_第4頁
基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

.z..--可修編-畢業(yè)設(shè)計(jì)〔論文〕題目:院(系):專業(yè):**:**:指導(dǎo)教師:二〇一三年十二月二日畢業(yè)設(shè)計(jì)〔論文〕任務(wù)書學(xué)生**專業(yè)院〔系〕畢業(yè)設(shè)計(jì)〔論文〕題目基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)任務(wù)與要求論文任務(wù):

本文將應(yīng)用所學(xué)的專業(yè)知識(shí),理論聯(lián)系實(shí)際,對(duì)蘋果產(chǎn)品在當(dāng)前競(jìng)爭(zhēng)環(huán)境下的優(yōu)勢(shì)進(jìn)展深入分析和探討。具體研究任務(wù)包括:

〔1〕單片機(jī)的開展?!?〕LED的介紹。

〔3〕各種LED在特定環(huán)境下的工作狀態(tài)以及報(bào)警類型。

〔4〕LED的使用意義以及開展前景。

論文要求:

〔1〕資料要充分,構(gòu)造要完整,論述要清晰;

〔2〕重要數(shù)據(jù)及引用他人成果要說明出處;

〔3〕符合我校畢業(yè)論文書寫規(guī);

〔4〕字?jǐn)?shù)不少于6000字;

〔5〕按時(shí)完成畢業(yè)論文各階段工作,不突擊、不抄襲;

〔6〕每周主動(dòng)向指導(dǎo)教師匯報(bào)工作進(jìn)度,探討研究容;

〔7〕形成書面論文周記、論文初稿、論文終稿。完成時(shí)間段指導(dǎo)教師單位職稱院〔系〕審核意見畢業(yè)設(shè)計(jì)(論文)進(jìn)度方案表日期工作容執(zhí)行情況指導(dǎo)教師簽字2013.6.15-2013.6.28查找資料,選題2013.6.29-2013.8.30完成論文的初稿2013.8.31-2013.9.30完成論文二稿的寫作2013.10.1-2013.10.20完成論文的終稿及格式修改進(jìn)一步修改論文、定稿,打印論文,做好辯論準(zhǔn)備做好論文辯論準(zhǔn)備教師對(duì)進(jìn)度方案實(shí)施情況總評(píng)簽名年月日本表作評(píng)定學(xué)生平時(shí)成績(jī)的依據(jù)之一-.z.畢業(yè)設(shè)計(jì)(論文)中期檢查記錄表學(xué)生填寫畢業(yè)設(shè)計(jì)(論文)題目:基于單片機(jī)的LED點(diǎn)陣顯示器設(shè)計(jì)學(xué)生:**專業(yè):指導(dǎo)教師:職稱:檢查教師填寫畢業(yè)設(shè)計(jì)(論文)題目工作量飽滿一般不夠畢業(yè)設(shè)計(jì)(論文)題目難度大適中不夠畢業(yè)設(shè)計(jì)(論文)題目涉及知識(shí)點(diǎn)豐富比擬豐富較少畢業(yè)設(shè)計(jì)(論文)題目?jī)r(jià)值很有價(jià)值一般價(jià)值不大學(xué)生是否按方案進(jìn)度獨(dú)立完成工作任務(wù)學(xué)生畢業(yè)設(shè)計(jì)(論文)工作進(jìn)度填寫情況指導(dǎo)次數(shù)學(xué)生工作態(tài)度認(rèn)真一般較差其他檢查容:存在問題及采取措施:檢查教師簽字:年月日院〔系〕意見(加蓋公章):年月日摘要本設(shè)計(jì)使用AT89C51系列高速單片機(jī)作為主控制模塊,利用簡(jiǎn)單的外圍電路來驅(qū)動(dòng)16×16的點(diǎn)陣LED顯示屏。并能利用軟件方便的進(jìn)展顯示容的多樣變化,另一方面點(diǎn)陣顯示屏廣泛的應(yīng)用于醫(yī)院、機(jī)場(chǎng)、銀行等公共場(chǎng)所,所以本設(shè)計(jì)具有很強(qiáng)的現(xiàn)實(shí)應(yīng)用性。本LED顯示屏能夠以動(dòng)態(tài)掃描的方式滾動(dòng)顯示漢字,把字符碼存儲(chǔ)在空閑的單片機(jī)程序存儲(chǔ)器空間,支持所有的國(guó)標(biāo)字符和ASC=2\*ROMANII標(biāo)準(zhǔn)字符的顯示及自定義圖片的顯示。本文從LED的顯示原理入手,詳細(xì)闡述了LED動(dòng)態(tài)顯示的過程,以及硬件電路的設(shè)計(jì)、計(jì)算和軟件的算法。關(guān)鍵詞:動(dòng)態(tài)顯示單片機(jī)點(diǎn)陣字庫Abstract:ThisdesignusesAT89C51seriesMCUasamaincontroller,anddependsonasimplee*ternalcircuittodrive16×16thelatticeLEDdisplay.datatransmissionequipment,anditalsocanbeusedconvenientlytoshowavarietyofcontentchanges.Theotherdotmatri*displayiswidelyusedinhospitals,airports,banksandotherpublicplaces.Therefore,thedesignhasastrongpracticalapplication.TheLEDDisplaydynamicscancanshow16×16dotmatri*Chinesecharacters,Becauseserialtransmissionused,sothatthesystemcanbeenhancedscalability,foranumberofdisplayunitsofthecascade.

ThisarticlefromthestartLEDdisplayprinciple,elaboratedontheLEDdisplaydynamicprocess,aswellashardwarecircuitdesign,putingandsoftwarealgorithms.KeyWords:MCUSerialDataTransferLlatticeLlibrary 目錄TOC\o"1-2"\h\z\u第一章緒言1第二章顯示原理及控制方式分析3第一節(jié)LED點(diǎn)陣模塊構(gòu)造3第二節(jié)LED動(dòng)態(tài)顯示原理4第三節(jié)LED常見的控制方式5第三章硬件電路設(shè)計(jì)7第一節(jié)系統(tǒng)硬件概述7第二節(jié)16×16LED點(diǎn)陣的部構(gòu)造及工作原理8第三節(jié)主控單片機(jī)的接口說明11第四節(jié)LED顯示驅(qū)動(dòng)電路13第四章字模生成14第一節(jié)字模簡(jiǎn)介14第二節(jié)字模存儲(chǔ)技術(shù)16第三節(jié)字庫生成16第五章軟件設(shè)計(jì)18第一節(jié)程序設(shè)計(jì)總體思路18第二節(jié)系統(tǒng)初始化19結(jié)論21致22參考文獻(xiàn)23附錄24-.z.第一章緒言LED〔LightEmittingDiode〕,發(fā)光二極管,簡(jiǎn)稱LED,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的心臟是一個(gè)半導(dǎo)體的晶片,晶片的一端附在一個(gè)支架上,一端是負(fù)極,另一端連接電源的正極使整個(gè)晶片被環(huán)氧樹脂封裝起來。半導(dǎo)體晶片由兩局部組成,一局部是P型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是N型半導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來的時(shí)候,它們之間就形成一個(gè)“P-N結(jié)〞。當(dāng)電流通過導(dǎo)線作用于這個(gè)晶片的時(shí)候,電子就會(huì)被推向P區(qū),在P區(qū)里電子跟空穴復(fù)合,然后就會(huì)以光子的形式發(fā)出能量,這就是LED發(fā)光的原理。多個(gè)LED發(fā)光燈組成固定的字符或圖形進(jìn)展顯示,即形成LED點(diǎn)陣圖文顯示屏。其主要特征是只控制LED點(diǎn)陣中各發(fā)光器件的通斷〔發(fā)光或熄滅〕,而不控制LED的發(fā)光強(qiáng)弱。LED點(diǎn)陣的漢字顯示方式是先根據(jù)所需要的漢字提取漢字點(diǎn)陣〔如16×16點(diǎn)陣〕,將點(diǎn)陣文件存入ROM,形成新的漢字編碼;而在使用時(shí)則需要先根據(jù)新的漢字編碼組成語句,再由MCU根據(jù)新編碼提取相應(yīng)的點(diǎn)陣進(jìn)展?jié)h字顯示。LED點(diǎn)陣顯示具有如下特點(diǎn):〔1〕電壓:LED使用低壓電源,供電電壓在6-24V之間,根據(jù)產(chǎn)品不同而異,所以它是一種比使用高壓電源更平安的電源?!?〕效能:消耗能量比同光效的白熾燈減少80%。〔3〕適用性:每個(gè)單元LED小片是3-5mm的正方形,所以可以制備成各種形狀的器件,并且適合于易變的環(huán)境?!?〕穩(wěn)定性:10萬小時(shí),光衰為初始的50%?!?〕響應(yīng)時(shí)間:其白熾燈的響應(yīng)時(shí)間為毫秒級(jí),LED燈的響應(yīng)時(shí)間為納秒級(jí)?!?〕對(duì)環(huán)境污染:無有害金屬汞。〔7〕顏色:改變電流可以變色,發(fā)光二極管方便地通過化學(xué)修飾方法,調(diào)整材料的能帶構(gòu)造和帶隙,實(shí)現(xiàn)紅黃綠蘭橙多色發(fā)光。由于LED的眾多優(yōu)勢(shì),在市場(chǎng)中得到了廣泛的應(yīng)用,主要應(yīng)用領(lǐng)域有:〔1〕、信號(hào)指示應(yīng)用:信號(hào)照明是LED單色光應(yīng)用比擬廣泛也是比擬早的一個(gè)領(lǐng)域,約占LED應(yīng)用市場(chǎng)的4%左右?!?〕、顯示應(yīng)用:指示牌、廣告牌、大屏幕顯示等,LED用于顯示屏幕的應(yīng)用約占LED應(yīng)用的20%—25%,顯示屏幕可分為單色和彩色?!?〕、照明應(yīng)用:便攜燈具,汽車用燈,特殊照明。由于LED尺寸小,便于動(dòng)態(tài)的亮度和顏色控制,因此比擬適合用于建筑裝飾照明。背光照明:普通電子設(shè)備功能顯示背光源、筆記本電腦背光源、大尺寸超大尺寸LCD顯示器背光源等。以及投影儀用RGB光源。第二章顯示原理及控制方式分析第一節(jié)LED點(diǎn)陣模塊構(gòu)造八十年代以來出現(xiàn)了組合型LED點(diǎn)陣顯示器模塊,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。這種一體化封裝的點(diǎn)陣LED模塊,具有高亮度、引腳少、視角大、壽命長(zhǎng)、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。LED點(diǎn)陣規(guī)模常見的有4×4、4×8、5×7、5×8、8×8、16×16等等。根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、圖象等容的顏色也不同。單色點(diǎn)陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點(diǎn)陣顯示容的顏色由像素不同顏色發(fā)光二極管點(diǎn)亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯示黃色,如果按照脈沖方式控制二極管的點(diǎn)亮?xí)r間,則可實(shí)現(xiàn)256或更高級(jí)灰度顯示,即可實(shí)現(xiàn)真彩色顯示。圖2.1示出最常見的8×8單色LED點(diǎn)陣顯示器的部電路構(gòu)造和外型規(guī)格,其它型號(hào)點(diǎn)陣的構(gòu)造與引腳可試驗(yàn)獲得。圖2.18×8單色LED模塊部電路LED點(diǎn)陣顯示器單塊使用時(shí),既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號(hào).如5*7點(diǎn)陣顯示器用于顯示西文字母.5×8點(diǎn)陣顯示器用于顯示中西文,8*8點(diǎn)陣可以用于顯示簡(jiǎn)單的中文文字,也可用于簡(jiǎn)單圖形顯示。用多塊點(diǎn)陣顯示器組合則可構(gòu)成大屏幕顯示器,但這類實(shí)用裝置常通過PC機(jī)或單片機(jī)控制驅(qū)動(dòng)。第二節(jié)LED動(dòng)態(tài)顯示原理LED點(diǎn)陣顯示系統(tǒng)中各模塊的顯示方式:有靜態(tài)和動(dòng)態(tài)顯示兩種。靜態(tài)顯示原理簡(jiǎn)單、控制方便,但硬件接線復(fù)雜,在實(shí)際應(yīng)用中一般采用動(dòng)態(tài)顯示方式,動(dòng)態(tài)顯示采用掃描的方式工作,由峰值較大的窄脈沖電壓驅(qū)動(dòng),從上到下逐次不斷地對(duì)顯示屏的各行進(jìn)展選通,同時(shí)又向各列送出表示圖形或文字信息的列數(shù)據(jù)信號(hào),反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。點(diǎn)陣式LED漢字廣告屏絕大局部是采用動(dòng)態(tài)掃描顯示方式,這種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高速的循環(huán)顯示,只要幀速率高于24幀/秒,人眼看起來就是一個(gè)完整的,相對(duì)靜止的畫面。最典型的例子就是電影放映機(jī)。在電子領(lǐng)域中,因?yàn)檫@種動(dòng)態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號(hào)線數(shù)量,因此在LED顯示技術(shù)中被廣泛使用。以8×8點(diǎn)陣模塊為例,說明一下其使用方法及控制過程。圖2.1中,紅色水平線Y0、Y1……Y7叫做行線,接部發(fā)光二極管的陽極,每一行8個(gè)LED的陽極都接在本行的行線上。相鄰兩行線間絕緣。同樣,藍(lán)色豎直線*0、*1……*7叫做列線,接部每列8個(gè)LED的陰極,相鄰兩列線間絕緣。在這種形式的LED點(diǎn)陣模塊中,假設(shè)在*行線上施加高電平〔用“1〞表示〕,在*列線上施加低電平〔用“0〞表示〕。則行線和列線的穿插點(diǎn)處的LED就會(huì)有電流流過而發(fā)光。比方,Y7為1,*0為0,則右下角的LED點(diǎn)亮。再如Y0為1,*0到*7均為0,則最上面一行8個(gè)LED全點(diǎn)亮。現(xiàn)描述一下用動(dòng)態(tài)掃描顯示的方式,顯示字符“B〞的過程。其過程如圖2.2圖2.2用動(dòng)態(tài)掃描顯示字符“B〞的過程第三節(jié)LED常見的控制方式目前常見的是并行傳輸方式,通過8位鎖存器將8位總線上的列數(shù)據(jù)進(jìn)展鎖存顯示,各8位鎖存器的片選信號(hào)由譯碼器提供。此種方式的優(yōu)點(diǎn)是傳輸速度快,對(duì)微控制器〔MCU〕的通信速度要求較低。但是這種方案最大的缺點(diǎn)是不便于隨意擴(kuò)展顯示單元的數(shù)目。每增加一個(gè)16×16點(diǎn)陣的全角漢字顯示單元,就需要在之前的電路上多增加兩根地址線,這就要求在PCB布線的時(shí)候要留有充足的地址線冗余量。再一個(gè)缺點(diǎn)是,每個(gè)單元的PCB隨著安放位置的不同,布線構(gòu)造也不一樣,不利于廠家批量生產(chǎn)。并行傳輸需要的芯片較多,因此市場(chǎng)上已經(jīng)出現(xiàn)用FPGA,CPLD等高密度可編程邏輯器件〔PLD〕來取代傳統(tǒng)鎖存器IC的方案。本錢有所下降,但可擴(kuò)展性仍舊較差。因此,并行傳輸方式適用于顯示單元數(shù)目確定的條屏。隨著廣告屏顯示容的多媒體化,對(duì)控制器傳輸速度,運(yùn)算能力的要求越來越高。因此控制器的種類也在不斷開展以適應(yīng)要求,從最初的8051單片機(jī),到PIC單片機(jī),又到FPGA,直到現(xiàn)在的ARM處理器。不同功能檔次的廣告屏對(duì)應(yīng)著不同的處理器。一.以傳統(tǒng)8051單片機(jī)為控制器的LED顯示屏。因受到單片機(jī)運(yùn)算速度及通信速率的限制,LED動(dòng)態(tài)顯示的刷新率不可能做得太高。對(duì)顯示效果和移動(dòng)算法的處理也比擬吃力,在實(shí)際顯示效果上有比擬明顯的閃爍感。除此之外,傳統(tǒng)8051單片機(jī)的部資源貧乏,僅128字節(jié)的數(shù)據(jù)存儲(chǔ)器,幾K字節(jié)的程序存儲(chǔ)器,無E2PROM,SPI。這就需要對(duì)單片機(jī)擴(kuò)展外設(shè),無疑增加了硬件本錢。因此,8051控制的條屏只能用于顯示容及其簡(jiǎn)單,不需要經(jīng)常更改顯示容的場(chǎng)合。二.以PIC單片機(jī)為控制器的LED顯示屏。因PIC單片機(jī)是RISC架構(gòu)的工業(yè)專用單片機(jī),處理指令的速度有所增加,抗干擾能力優(yōu)秀,型號(hào)種類繁多。作為條屏的控制器,可以明顯的改善顯示效果,同時(shí)PIC單片機(jī)部的資源較豐富,可節(jié)省外部電路設(shè)計(jì)難度,同時(shí)降低了硬件本錢。因此,以PIC單片機(jī)為控制器的條屏目前仍是單色條屏市場(chǎng)的主流。三.以FPGA〔復(fù)雜可編程邏輯門陣列〕為控制器的LED顯示屏。FPGA以高速、并行著稱。是近年來新興的可編程邏輯器件。用他作為L(zhǎng)ED顯示屏的控制器,能夠高速的處理色階PWM信號(hào)、高速的完成動(dòng)態(tài)掃描邏輯、高速的完成字符移動(dòng)算法。因此被運(yùn)用于雙基色、三基色的顯示系統(tǒng)。但是其本錢較高,開發(fā)難度較大。四.以ARM〔32位RISC架構(gòu)高性能微處理器〕為控制器的LED顯示屏。ARM有著極高的指令效率,極高的時(shí)鐘頻率。因此其運(yùn)算能力非常強(qiáng)大,部資源也十分豐富,極大的簡(jiǎn)化了硬件設(shè)計(jì)的難度,縮短了開發(fā)周期。在條屏的運(yùn)用中,能用ARM來實(shí)現(xiàn)把戲繁多的顯示方式,以及高色階,多像素的全彩屏驅(qū)動(dòng)。ARM與FPGA的組合更是功能強(qiáng)大,除了海量存儲(chǔ)技術(shù),無線更新技術(shù)外,還能實(shí)時(shí)地顯示視頻信號(hào)。因此,以ARM為控制器的顯示屏常為視頻全彩屏。第三章硬件電路設(shè)計(jì)第一節(jié)系統(tǒng)硬件概述整個(gè)電路由單片機(jī)89C51,16個(gè)9015三極管4個(gè)16×16的LED。該電路所設(shè)計(jì)的電子屏可滾動(dòng)顯示多個(gè)漢字。AT89C51是一種帶4KB可編程可擦除只讀存儲(chǔ)器的低電壓,高性能微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51引腳即外觀如圖3.1所示。圖3.1AT89C51的管腳圖LED,50年前人們已經(jīng)了解半導(dǎo)體材料可產(chǎn)生光線的根本知識(shí),第一個(gè)商用二極管產(chǎn)生于1960年。LED是英文lightemittingdiode〔發(fā)光二極管〕的縮寫,它的根本構(gòu)造是一塊電致發(fā)光的半導(dǎo)體材料,置于一個(gè)有引線的架子上,然后四周用環(huán)氧7樹脂密封,即固體封裝,所以能起到保護(hù)部芯線的作用,所以LED的抗震性能好該電路的顯示采用逐行掃描方式。工作時(shí),由單片機(jī)取出第一行需要顯示的容經(jīng)延時(shí)一段時(shí)間后再進(jìn)展下一行點(diǎn)陣數(shù)據(jù)的顯示。需要注意的是,每次只能選通一行數(shù)據(jù),即要通過不斷的逐行掃描來實(shí)現(xiàn)漢字或字符的顯示。第二節(jié)16×16LED點(diǎn)陣的部構(gòu)造及工作原理以UCDOS中文宋體字庫為例,每一個(gè)字由16行16列的點(diǎn)陣組成顯示。即國(guó)家標(biāo)準(zhǔn)漢字庫中的每一個(gè)字均由256點(diǎn)陣來表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在256像素圍的任何圖形。這里我們以“祝〞字說明,如圖3.2所示。圖3.216*16LED漢字顯示用8位的AT89C51單片機(jī)控制,由于單片機(jī)的總線為8位,一個(gè)字需要拆分為2個(gè)局部。一般把它拆分為上部和下部,上部由8×16點(diǎn)陣組成,下部也由8×16點(diǎn)陣組成。在本例中單片機(jī)首先顯示的是左上角的第一列的上半局部,即第0列的p1.7—p1.0口。方向?yàn)閜1.7到p1.0,顯示漢字“祝〞時(shí),P2.0點(diǎn)亮。P1口由上往下排列,為p1.7滅,p1.6滅,p1.5滅,p1.4亮,p1.3滅,p1.2亮,p1.1滅,p1.0滅。即二進(jìn)制00010000,轉(zhuǎn)換為16進(jìn)制為10h。我們用8421法來計(jì)算“祝〞字的左上半局部的點(diǎn)陣數(shù)據(jù),使用縱向取模。從上到下黑方塊用“1〞表示,白方塊用“0〞表示,則:第1列00010000〔8*0+4*0+2*0+1*1〕〔8*0+4*0+2*0+1*0〕=10h第2列00010000〔8*0+4*0+2*0+1*1〕〔8*0+4*0+2*0+1*0〕=10h第3列10010001〔8*1+4*0+2*0+1*1〕〔8*0+4*0+2*0+1*1〕=91h〕第4列01110011〔8*0+4*1+2*1+1*1〕〔8*0+4*0+2*1+1*1〕=73h第5列00010101〔8*0+4*0+2*0+1*1〕〔8*0+4*1+2*0+1*1〕=15h〕第6列00011000〔8*0+4*0+2*0+1*1〕〔8*1+4*0+2*0+1*0〕=18h第7列00000000〔8*0+4*0+2*0+1*0〕〔8*0+4*0+2*0+1*0〕=00h第8列01111111〔8*0+4*1+2*1+1*1〕〔8*1+4*1+2*1+1*1〕=7Fh上半部第一列完成后,繼續(xù)掃描下半部的第一列,為了接線的方便,我們?nèi)栽O(shè)計(jì)成由上往下掃描,即從p3.7向p3.0方向掃描,從上圖可以看到,這一列P3.6亮,即為01000000,16進(jìn)制則為40h。然后單片機(jī)轉(zhuǎn)向上半部第二列,為p2.1點(diǎn)亮,依照這個(gè)方法,繼續(xù)進(jìn)展下面的掃描,一共掃描32個(gè)8位,可以得出漢字“祝〞的掃描代碼為:10h10h91h73h15h18h00h7Fh41h41h41h41h7Fh00h00h00h40h80h00h0FFh00h0C1h02h0Ch0F0h00h00h0FEh01h01h0Fh00h由這個(gè)原理可以看出,無論顯示何種字體或圖像,都可以用這個(gè)方法來分析出它的掃描代碼從而顯示在屏幕上。不過現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件,就不必自己去畫表格算代碼了。用8×8LED點(diǎn)陣構(gòu)成16×16LED點(diǎn)陣Proteus中只有5×7和8×8等LED點(diǎn)陣,并沒有16×16LED點(diǎn)陣,而在實(shí)際應(yīng)用中,要良好地顯示一個(gè)漢字,則至少需要16×16點(diǎn)陣。下面我們就首先介紹使用8×8點(diǎn)陣構(gòu)建16×16點(diǎn)陣的方法,并構(gòu)建一塊16×16LED點(diǎn)陣,用于本例的顯示任務(wù)。首先,從Proteus7.1的元件庫中找到“MATRI*-8*8-RED〞元器件,并將四塊該元器件放入Proteus文檔區(qū)編輯窗口中。此時(shí)需要注意,如果該元器件保持初始的位置〔沒有轉(zhuǎn)動(dòng)方向〕,我們要首先將其左轉(zhuǎn)90°,使其水平放置,則此時(shí)它的左面8個(gè)引腳是其行線,右邊8個(gè)引腳是其列線〔當(dāng)然,如果你是將右轉(zhuǎn),則右邊8個(gè)引腳是行線〕。然后我們將四個(gè)元器件對(duì)應(yīng)的行線和列線分別進(jìn)展連接,使每一條行線引腳接一行16個(gè)LED,列線也一樣。并注意要將行線和列線引出一定長(zhǎng)度的引腳,以便下面我們使用。連接好的16×16點(diǎn)陣如圖3.3所示。成如上圖的16×16點(diǎn)陣只是第一步,這樣分開的數(shù)塊并不能到達(dá)好的顯示效果,下面我們要將其進(jìn)一步組合。組合實(shí)際上很簡(jiǎn)單,首先選中如上圖中右側(cè)的兩塊8×8點(diǎn)陣,然后拖動(dòng)并使其與左側(cè)的兩塊相并攏,成如上圖的16×16點(diǎn)陣只是第一步,這樣分開的數(shù)塊并不能到達(dá)好的顯示效果,下面我們要將其進(jìn)一步組合。組合實(shí)際上很簡(jiǎn)單,首先選中如上圖中右側(cè)的兩塊8×8點(diǎn)陣,然后拖動(dòng)并使其與左側(cè)的兩塊相并攏。圖3.3點(diǎn)陣模塊組合圖4.316×16點(diǎn)陣圖3.3點(diǎn)陣模塊組合如上圖的16×16點(diǎn)陣只是第一步,這樣分開的數(shù)塊并不能到達(dá)好的顯示效果,下面我們要將其進(jìn)一步組合。組合實(shí)際上很簡(jiǎn)單,首先選中如上圖中右側(cè)的兩塊8×8點(diǎn)陣,然后拖動(dòng)并使其與左側(cè)的兩塊相并攏,如圖3.4圖3.416×16點(diǎn)陣構(gòu)成可以看到原來的連線已經(jīng)自動(dòng)隱藏了,至于線上的交點(diǎn),我們不要去動(dòng)。然后,我們?cè)賮碜詈笠徊?,選中下側(cè)的兩塊點(diǎn)陣,并拖動(dòng)使其與上側(cè)的兩塊并攏,最后的效果如圖3.5所示??吹?原來雜亂的連線現(xiàn)在已經(jīng)幾乎全部隱藏了,一塊16×16的LED點(diǎn)陣做成了。需要注意,做成的LED點(diǎn)陣的行線為左側(cè)的16個(gè)引腳,下側(cè)的16個(gè)引腳為其列線,而且其行線為高電平有效,列線為低電平有效。然后,我們將其保存,以便以后使用。圖3.5第三節(jié)主控單片機(jī)的接口說明P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)制用口,作為輸入口時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫入“1可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址〔低8位〕和數(shù)據(jù)總線復(fù)用,在訪問期激活部上拉電阻。在Flash編程時(shí),PO口接收指令節(jié),而在程序校檢時(shí),輸出指令字節(jié),校檢時(shí),要求外接上拉電阻。P1口:P1口是一個(gè)帶部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)〔吸收或輸出電流〕4個(gè)TTL邏輯門電路。對(duì)端口寫“1”P2口:P2口是一個(gè)帶部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)〔吸收或輸出電流〕4個(gè)TTL邏輯門電路。對(duì)端口寫“1”P3口:P3口是一個(gè)帶部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)〔吸收或輸出電流〕4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”RST:復(fù)位輸入,當(dāng)震蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許〕輸出脈沖用于所存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE乃以時(shí)鐘振動(dòng)頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。LED顯示驅(qū)動(dòng)電路LED顯示驅(qū)動(dòng)電路如圖3.6所示。圖3.6顯示驅(qū)動(dòng)電路圖第四章字模生成第一節(jié)字模簡(jiǎn)介文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀[1]。在電腦硬件中,根本沒有漢字這個(gè)概念,也沒有英文的概念,其認(rèn)識(shí)的概念只有——碼(將ASCII表的高128個(gè)很少用到的數(shù)值以兩個(gè)為一組來表示漢字,即漢字的碼。而剩下的低128位則留給英文字符使用,即英文的碼)。如果你用啟動(dòng)盤啟動(dòng)系統(tǒng)后用DIR命令可能得到一串串莫名其妙的字符,但那確確實(shí)實(shí)是漢字,如果你啟動(dòng)UCDOS或其他的漢字系統(tǒng)后,就會(huì)看到那是一個(gè)個(gè)熟悉的漢字。在硬件系統(tǒng),英文的字模信息一般固化在ROM里,即使在沒有進(jìn)入系統(tǒng)的CMOS里,也可以讓你看到英文字符。而在DOS下,中文的字模信息一般記錄在漢字庫文件里(將制作好的字模放到一個(gè)個(gè)標(biāo)準(zhǔn)的庫中,這就是點(diǎn)陣字庫文件)。4.1LED顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù)在通過軟件實(shí)現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件翻開后輸入漢字,點(diǎn)“檢取〞,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動(dòng)生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。在通過硬件實(shí)現(xiàn)字模提取的技術(shù)中,有在單片機(jī)系統(tǒng)中增加硬漢字庫的方法,主控器發(fā)送的漢字是其機(jī)碼,用兩個(gè)字節(jié)來表示一個(gè)漢字。根據(jù)機(jī)碼,顯示單元控制模塊從漢字庫中查取顯示字模,實(shí)現(xiàn)漢字顯示。由于帶有硬漢字庫,進(jìn)展動(dòng)態(tài)文字顯示時(shí),通用智能顯示單元僅承受漢字的機(jī)碼即可,這樣數(shù)據(jù)通訊量大大減少。因此,“動(dòng)態(tài)文字顯示速度快〞。4.1.1軟件控制系統(tǒng)字模提取的分析與設(shè)計(jì)而在LED顯示屏控制系統(tǒng)具體應(yīng)用的Windows操作系統(tǒng)下如何提取字模信息是設(shè)計(jì)的核心。軟件控制系統(tǒng)在實(shí)際編輯過程中,要求各種字體、字號(hào)的文字都能被編輯、保存。所以系統(tǒng)在設(shè)計(jì)時(shí),把文本區(qū)理解為由眾多的顯示屏的大小對(duì)應(yīng),所以采用16×16點(diǎn)陣為單位,把文本區(qū)的每個(gè)像素點(diǎn)都看成一個(gè)二維數(shù)組,由于系統(tǒng)中各種顏色都有對(duì)應(yīng)的值,賦予每個(gè)不同顏色的像素點(diǎn)不同的對(duì)應(yīng)值,再把每個(gè)點(diǎn)賦予一個(gè)int型的值,這樣保存下來的信息就是二進(jìn)制數(shù)據(jù)。通過這樣的設(shè)計(jì),我們不僅可以把任何字型,任何大小的文字保存下來,還可以顯示以256個(gè)像素點(diǎn)陣為單位的任何圖形。在軟件控制系統(tǒng)中實(shí)現(xiàn)字模的提取,也就防止了在單片機(jī)中加載硬漢字庫模塊,從而簡(jiǎn)化了硬件模塊的設(shè)計(jì)。以下以單色屏為例,介紹系統(tǒng)采用字模保存的算法設(shè)計(jì):定義COLORREFzimo_color為像素點(diǎn)的顏色,判斷*個(gè)點(diǎn)的顏色值。如果值為O*ffffff,說明此點(diǎn)為白色,賦予此點(diǎn)值0。由于單色屏只有紅色和不顯色兩種,所以可以簡(jiǎn)單賦值為除白色外其余點(diǎn)賦值為1CClientDCdc(this);CFilemyfile;unsignedintzimo[192][384]={0};unsignedcharzimo_data[192][48]={0};COLORREFzimo_color;introw,col;this->HideCaret();for(row=0;row<192;row++){for(col=0;col<384;col++){zimo_color=do.GetPi*el(col,row);if(zimocolor==O*ffffff){zimo[row][col]=0;}else{zimo[row][col]=1;}}}定義unsignedintzimo[192][384]={0};//文本區(qū)像素點(diǎn)以8位為一字節(jié)(因?yàn)樵陔S后的串行通訊中,傳輸?shù)臄?shù)據(jù)是8位的二進(jìn)制數(shù)據(jù))定義unsignedcharzimo_data[192][48]={0}第二節(jié)字模存儲(chǔ)技術(shù)目前使用最廣泛的技術(shù)是,通過上位機(jī)軟件將待顯示的字符串轉(zhuǎn)換為對(duì)應(yīng)的點(diǎn)陣字模數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲(chǔ)在E2PROM中。在條屏顯示的過程中按規(guī)定的方式取出E2PROM中的字模數(shù)據(jù)進(jìn)展處理。對(duì)于一個(gè)16×16點(diǎn)陣的漢字字模數(shù)據(jù),需要連續(xù)32字節(jié)的E2PROM空間來存儲(chǔ)。照此計(jì)算,假設(shè)有256個(gè)需要顯示的字符,則至少需要32B×256=8192字節(jié)〔8KB〕的E2PROM存儲(chǔ)空間。通常的單片機(jī)部沒有集成這么大容量的E2PROM。因此這種方案,需要在單片機(jī)外部擴(kuò)展大容量的E2PROM,增加硬件本錢。上位機(jī)程序設(shè)計(jì)由于涉及到漢字取模,取模算法的難度較大。在多字下載的時(shí)候傳輸時(shí)間也較長(zhǎng)。諸多弊端使本設(shè)計(jì)放棄了傳統(tǒng)方案。而本設(shè)計(jì)創(chuàng)新使用了專用的點(diǎn)陣字庫芯片,本錢僅為8元,含各種點(diǎn)陣規(guī)格的GB2312、ASCII等標(biāo)準(zhǔn)字庫。專用字庫芯片采用微型SO-8封裝,使用高速同步串行SPI接口進(jìn)展讀寫操作,節(jié)省了控制器的I/O。在本設(shè)計(jì)中,單片機(jī)部的小容量E2PROM,用于存儲(chǔ)待顯示漢字的GB2312標(biāo)準(zhǔn)機(jī)碼,每個(gè)全角字符的碼占2字節(jié),則在同樣需要顯示256個(gè)漢字的情況下,這種方案僅占用512字節(jié)的E2PROM空間。第三節(jié)字庫生成因?yàn)楸驹O(shè)計(jì)中為行掃描,列輸入,所以“郭洪麗〞的字模代碼為:;一、文字:郭--;--宋體12;此字體下對(duì)應(yīng)的點(diǎn)陣為:寬*高=16*16--DB0FFH,0DFH,0D1H,55H,95H,0D5H,0D1H,0DFH,0FFH,80H,0BFH,0BBH,0A5H,9EH,0FFH,0FFHDB0FFH,0F7H,77H,75H,76H,41H,2FH,6FH,0FFH,00H,0FFH,0EFH,0EFH,0F7H,0FH,0FFH二、文字:洪--;--宋體12;此字體下對(duì)應(yīng)的點(diǎn)陣為:寬*高=16*16--DB0EFH,0F3H,7FH,98H,0E7H,0FFH,0F7H,80H,0F7H,0F7H,0F7H,80H,0F7H,0F7H,0FFH,0FFHDB0DFH,0DFH,00H,0FFH,0BEH,0BDH,0B3H,0FH,0BFH,0BFH,9FH,2FH,0B3H,0B8H,0BFH,0FFH三、文字:麗--;--宋體12;此字體下對(duì)應(yīng)的點(diǎn)陣為:寬*高=16*16--DB0BFH,0B0H,0B6H,0B7H,0B7H,0B7H,0B0H,0BFH,0B0H,0B5H,0B6H,0B7H,0B7H,0B0H,0BFH,0FFHDB0FFH,01H,0FFH,1FH,0BBH,0F9H,03H,0FFH,01H,0FFH,3BH,7BH,0F9H,03H,0FFH,0FFH第五章軟件設(shè)計(jì)第一節(jié)程序設(shè)計(jì)總體思路用簡(jiǎn)短的匯編程序設(shè)計(jì),實(shí)現(xiàn)LED點(diǎn)陣顯示容,并使顯示的容在屏幕上從左到右的滾動(dòng)顯示。系統(tǒng)采用模塊化構(gòu)造,包括主程序、延時(shí)程序、顯示子程序和串行口中斷程序。用AT89C51、9015三極管和4個(gè)16×16LED點(diǎn)陣顯示器構(gòu)成一個(gè)完整的16位點(diǎn)陣LED顯示系統(tǒng)。程序流程圖程序主要由開場(chǎng)、初始化、主程序、字庫組成。其中主程序和子程序的流程圖如圖5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論