版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
武漢理工大學(xué)《集成電路課程設(shè)計》說明書PAGE基于單片機的Led點陣廣告牌設(shè)計初始條件本設(shè)計既可以使用集成集成譯碼器、計數(shù)器、定時器、脈沖發(fā)生器和必要的門電路等。也可以使用單片機系統(tǒng)構(gòu)建。要求完成的主要任務(wù):1、課程設(shè)計工作量:2周2、技術(shù)要求:(1)采用單片機作為整個控制系統(tǒng)的控制電路的核心部分,配以各種顯示、驅(qū)動模塊,實現(xiàn)對點陣模塊的顯示和測量。(2)確定設(shè)計方案,按功能模塊的劃分選擇元、器件和集成電路,設(shè)計分電路,闡述基本原理。(3)繪制總體電路原理圖。3、查閱至少5篇參考文獻。按《武漢理工大學(xué)課程設(shè)計工作規(guī)范》要求撰寫設(shè)計報告書。全文用A4紙打印,圖紙應(yīng)符合繪圖規(guī)范。目錄摘要 1Abstract II1LED概述 11.1LED電子顯示屏概述 11.2LED電子顯示屏的分類 12顯示原理及控制方式分析 32.1LED點陣模塊結(jié)構(gòu) 32.2LED動態(tài)顯示原理 42.3LED常見的控制方式 53硬件電路設(shè)計 63.1系統(tǒng)硬件概述 63.216×16LED點陣顯示制作 83.2.116×16LED點陣的內(nèi)部結(jié)構(gòu)及工作原理 83.2.2用8×8LED點陣構(gòu)成16×16LED點陣 93.3主控單片機的接口說明 103.4LED顯示驅(qū)動電路 114字模生成 124.1字模簡介 124.1.1LED顯示屏領(lǐng)域字模實現(xiàn)技術(shù) 124.1.2軟件控制系統(tǒng)字模提取的分析與設(shè)計 124.2字模存儲技術(shù) 134.3字庫生成 145軟件設(shè)計 165.1程序設(shè)計總體思路和結(jié)構(gòu) 165.1.1程序設(shè)計總體思路 165.1.2程序流程圖 165.2各模塊程序設(shè)計 175.2.1系統(tǒng)初始化 175.2.2LED動態(tài)顯示 175.2.3漢字顯示的原理 186系統(tǒng)功能測試 196.1單元模塊電路測試 196.2系統(tǒng)整體功能測試 19總結(jié) 20參考文獻 21附錄 22PAGEII摘要本設(shè)計使用AT89C51系列高速單片機作為主控制模塊,利用簡單的外圍電路來驅(qū)動64×16的點陣LED顯示屏。利用AT89C51系列高速單片機本身強大的功能,可以很方便的實現(xiàn)單片機與PC機間的數(shù)據(jù)傳輸及存儲,并能利用軟件方便的進行顯示內(nèi)容的多樣變化,另一方面點陣顯示屏廣泛的應(yīng)用于醫(yī)院、機場、銀行等公共場所,所以本設(shè)計具有很強的現(xiàn)實應(yīng)用性。本LED顯示屏能夠以動態(tài)掃描的方式同時顯示4個16×16點陣漢字,并能通過上位機軟件修改顯示內(nèi)容和顯示效果等等。把字符內(nèi)碼存儲在空閑的單片機程序存儲器空間,使本LED顯示系統(tǒng)能掉電存儲1024個字符。設(shè)計中采用了SPI接口的GB2312標(biāo)準(zhǔn)字庫,支持所有的國標(biāo)字符和ASC=2\*ROMANII標(biāo)準(zhǔn)字符的顯示。因為采用串行傳輸方式,使本系統(tǒng)的可擴展性得到提升,便于多個顯示單元的級聯(lián)。本文從LED的顯示原理入手,詳細(xì)闡述了LED動態(tài)顯示的過程,以及硬件電路的設(shè)計、計算和軟件的算法。關(guān)鍵詞:動態(tài)顯示;單片機;點陣字庫AbstractThisdesignusesSTC12CseriesMCUasamaincontroller,anddependsonasimpleexternalcircuittodrive96×16thelatticeLEDdisplay.ByusingitsownpowerfulfunctionsandcapacityofinternalE2PROM,itiseasytoaccomplishtheMCUandPCandE2PROMforinternalstorage,datatransmissionequipment,anditalsocanbeusedconvenientlytoshowavarietyofcontentchanges.Theotherdotmatrixdisplayiswidelyusedinhospitals,airports,banksandotherpublicplaces.Therefore,thedesignhasastrongpracticalapplication.TheLEDDisplaydynamicscancanshowthewayatthesametimesix16×16dotmatrixChinesecharacters,andPCsoftwarecanmodifythecontentandeffectshows,andsoon.IAPusedintheapplicationofprogrammabletechnology,thecharacterswithinthecodestoredintheSCMfreeprogrammemoryspace,sothattheLEDdisplaysystemcanstore1,024brown-outcharacters.SPIusedinthedesignoftheinterfacestandardGB2312character,tosupportalltheGB2312standardASCIIcharactersandcharactersoftheshow.Becauseserialtransmissionused,sothatthesystemcanbeenhancedscalability,foranumberofdisplayunitsofthecascade.
ThisarticlefromthestartLEDdisplayprinciple,elaboratedontheLEDdisplaydynamicprocess,aswellashardwarecircuitdesign,computingandsoftwarealgorithms.KeyWords:MCU;SerialDataTransfer;LlatticeLlibrary 1LED概述1.1LED電子顯示屏概述LED電子顯示屏(LightEmittingDiodePanel)是由幾百--幾十萬個半導(dǎo)體發(fā)光二極管構(gòu)成的像素點,按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩的LED像素點。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色LED的開發(fā)已經(jīng)達到了實用階段。LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的亮度的方式,來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。LED顯示屏分為圖文顯示屏和條幅顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形;而條幅顯示屏則適用于小容量的字符信息顯示。LED顯示屏因為其像素單元是主動發(fā)光的,具有亮度高,視角廣、工作電壓低、功耗小、壽命長、耐沖擊和性能穩(wěn)定等優(yōu)點。因而被廣泛應(yīng)用于車站、碼頭、機場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。LED顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。1.2LED電子顯示屏的分類按顏色分類:單基色顯示屏:單一顏色(紅色或綠色)。
雙基色顯示屏:紅和綠雙基色,256級灰度、可以顯示65536種顏色。
全彩色顯示屏:紅、綠、藍(lán)三基色,256級灰度的全彩色顯示屏可以顯示一千六百多萬種顏色。
按顯示器件分類:
LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。
LED點陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點陣顯示模塊,適于播放文字、圖像信息。
按使用場合分類:
室內(nèi)顯示屏:發(fā)光點較小,一般Φ3mm--Φ8mm,顯示面積一般零點幾至十幾平方米。
室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽光下工作,具有防風(fēng)、防雨、防水功能。
按發(fā)光點直徑分類:
室內(nèi)屏:Φ3mm、Φ3.75mm、Φ5mm、
室外屏:Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ21mm、Φ26mm
室外屏發(fā)光的基本單元為發(fā)光筒,發(fā)光筒的原理是將一組紅、綠、藍(lán)發(fā)光二極管封在一個塑料筒內(nèi)共同發(fā)光增強亮度。2顯示原理及控制方式分析2.1LED點陣模塊結(jié)構(gòu)八十年代以來出現(xiàn)了組合型LED點陣顯示器模塊,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。這種一體化封裝的點陣LED模塊,具有高亮度、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。LED點陣規(guī)模常見的有4×4、4×8、5×7、5×8、8×8、16×16等等。根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、圖象等內(nèi)容的顏色也不同。單色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點陣顯示內(nèi)容的顏色由像素內(nèi)不同顏色發(fā)光二極管點亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯示黃色,如果按照脈沖方式控制二極管的點亮?xí)r間,則可實現(xiàn)256或更高級灰度顯示,即可實現(xiàn)真彩色顯示。圖2.1示出最常見的8×8單色LED點陣顯示器的內(nèi)部電路結(jié)構(gòu)和外型規(guī)格,其它型號點陣的結(jié)構(gòu)與引腳可試驗獲得。圖2.18×8單色LED模塊內(nèi)部電路LED點陣顯示器單塊使用時,既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號.如5x7點陣顯示器用于顯示西文字母.5×8點陣顯示器用于顯示中西文,8x8點陣可以用于顯示簡單的中文文字,也可用于簡單圖形顯示。用多塊點陣顯示器組合則可構(gòu)成大屏幕顯示器,但這類實用裝置常通過PC機或單片機控制驅(qū)動。2.2LED動態(tài)顯示原理LED點陣顯示系統(tǒng)中各模塊的顯示方式:有靜態(tài)和動態(tài)顯示兩種。靜態(tài)顯示原理簡單、控制方便,但硬件接線復(fù)雜,在實際應(yīng)用中一般采用動態(tài)顯示方式,動態(tài)顯示采用掃描的方式工作,由峰值較大的窄脈沖電壓驅(qū)動,從上到下逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示圖形或文字信息的列數(shù)據(jù)信號,反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。點陣式LED漢字廣告屏絕大部分是采用動態(tài)掃描顯示方式,這種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高速的循環(huán)顯示,只要幀速率高于24幀/秒,人眼看起來就是一個完整的,相對靜止的畫面。在電子領(lǐng)域中,因為這種動態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號線數(shù)量,因此在LED顯示技術(shù)中被廣泛使用。以8×8點陣模塊為例,說明一下其使用方法及控制過程。圖2.1中,紅色水平線Y0、Y1……Y7叫做行線,接內(nèi)部發(fā)光二極管的陽極,每一行8個LED的陽極都接在本行的行線上。相鄰兩行線間絕緣。同樣,藍(lán)色豎直線X0、X1……X7叫做列線,接內(nèi)部每列8個LED的陰極,相鄰兩列線間絕緣。在這種形式的LED點陣模塊中,若在某行線上施加高電平(用“1”表示),在某列線上施加低電平(用“0”表示)。則行線和列線的交叉點處的LED就會有電流流過而發(fā)光。比如,Y7為1,X0為0,則右下角的LED點亮。再如Y0為1,X0到X7均為0,則最上面一行8個LED全點亮。現(xiàn)描述一下用動態(tài)掃描顯示的方式,顯示字符“B”的過程。其過程如圖2.2圖2.2用動態(tài)掃描顯示字符“B”的過程2.3LED常見的控制方式目前常見的是并行傳輸方式(見附錄1.1),通過8位鎖存器將8位總線上的列數(shù)據(jù)進行鎖存顯示,各8位鎖存器的片選信號由譯碼器提供。此種方式的優(yōu)點是傳輸速度快,對微控制器(MCU)的通信速度要求較低。但是這種方案最大的缺點是不便于隨意擴展顯示單元的數(shù)目。每增加一個16×16點陣的全角漢字顯示單元,就需要在之前的電路上多增加兩根地址線,這就要求在PCB布線的時候要留有充足的地址線冗余量。再一個缺點是,每個單元的PCB隨著安放位置的不同,布線結(jié)構(gòu)也不相同,不利于廠家批量生產(chǎn)。并行傳輸需要的芯片較多,因此市場上已經(jīng)出現(xiàn)用FPGA,CPLD等高密度可編程邏輯器件(PLD)來取代傳統(tǒng)鎖存器IC的方案。成本有所下降,但可擴展性仍舊較差。因此,并行傳輸方式適用于顯示單元數(shù)目確定的條屏。一.以傳統(tǒng)8051單片機為控制器的LED顯示屏。因受到單片機運算速度及通信速率的限制,LED動態(tài)顯示的刷新率不可能做得太高。對顯示效果和移動算法的處理也比較吃力,在實際顯示效果上有比較明顯的閃爍感。除此之外,傳統(tǒng)8051單片機的內(nèi)部資源貧乏,僅128字節(jié)的數(shù)據(jù)存儲器,幾K字節(jié)的程序存儲器,無E2PROM,SPI。這就需要對單片機擴展外設(shè),無疑增加了硬件成本。因此,8051控制的條屏只能用于顯示內(nèi)容及其簡單,不需要經(jīng)常更改顯示內(nèi)容的場合。二.以PIC單片機為控制器的LED顯示屏。因PIC單片機是RISC架構(gòu)的工業(yè)專用單片機,處理指令的速度有所增加,抗干擾能力優(yōu)秀,型號種類繁多。作為條屏的控制器,可以明顯的改善顯示效果,同時PIC單片機內(nèi)部的資源較豐富,可節(jié)省外部電路設(shè)計難度,同時降低了硬件成本。因此,以PIC單片機為控制器的條屏目前仍是單色條屏市場的主流。三.以FPGA(復(fù)雜可編程邏輯門陣列)為控制器的LED顯示屏。FPGA以高速、并行著稱。是近年來新興的可編程邏輯器件。用他作為LED顯示屏的控制器,能夠高速的處理色階PWM信號、高速的完成動態(tài)掃描邏輯、高速的完成字符移動算法。因此被運用于雙基色、三基色的顯示系統(tǒng)。但是其成本較高,開發(fā)難度較大。3硬件電路設(shè)計3.1系統(tǒng)硬件概述整個電路由單片機89C51,8個74LS373,1個74HC154,1個74LS138,4個16×16的LED。該電路所設(shè)計的電子屏可顯示多個漢字,需要4個16×16LED點陣模塊,可組成16×64的條形點陣。AT89C51是一種帶4KB可編程可擦除只讀存儲器的低電壓,高性能微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51引腳即外觀如圖3.1所示。圖3.1AT89C51的管腳圖譯碼器是組合邏輯電路的一個重要的器件,74LS138的輸出是低電平有效,故實現(xiàn)邏輯功能時,輸出端不可接或門及或非門,74LS138與前面不同,其有使能端,故使能端必須加以處理,否則無法實現(xiàn)需要的邏輯功能。發(fā)光二極管點亮只須使其正向?qū)纯?,根?jù)LED的公共極是陽極還是陰極分為兩類譯碼器,即針對共陽極的低電平有效的譯碼器;針對共陰極LED的高電平輸出有效的譯碼器。74LS373是低功耗肖特基TTL8D鎖存器,內(nèi)有8個相同的D型(三態(tài)同相)鎖存器,由兩個控制端(11腳G或EN;1腳OUT、CONT、OE)控制。當(dāng)OE接地時,若G為高電平,74LS373接收由PPU輸出的地址信號;如果G為低電平,則將地址信號鎖存。工作原理:74LS373的輸出端O0—O7可直接與總線相連。當(dāng)三態(tài)允許控制端OE為低電平時,O0—O7為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng)OE為高電平時,O0—O7呈高阻態(tài),即不驅(qū)動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時,O隨數(shù)據(jù)D而變。當(dāng)LE為低電平時,O被鎖存在已建立的數(shù)據(jù)電平。74LS373引腳即外觀如圖3.2所示圖3.274LS373引腳圖74HC154為4線-12線譯碼器,當(dāng)選通端(G1、G2)均為低電平時,可將地址端(ABCD)的二進制編碼在一個對應(yīng)的輸出端,以低電平譯出。若將G1和G2中的一個作為數(shù)據(jù)輸入端,由ABCD對輸出尋址,還可作1線-16線數(shù)據(jù)分配器。工作環(huán)境溫度為0~70℃,對社會的要求非常適合。所以LED的抗震性能好該電路的顯示采用逐行掃描方式。工作時,由單片機取出第一行需要顯示的內(nèi)容經(jīng)延時一段時間后再進行下一行點陣數(shù)據(jù)的顯示。需要注意的是,每次只能選通一行數(shù)據(jù),即要通過不斷的逐行掃描來實現(xiàn)漢字或字符的顯示。3.216×16LED點陣顯示制作3.2.116×16LED點陣的內(nèi)部結(jié)構(gòu)及工作原理以UCDOS中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國家標(biāo)準(zhǔn)漢字庫中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。這里我們以”高”字說明,如圖3.3所示。圖3.316*16LED漢字顯示用8位的AT89C51單片機控制,由于單片機的總線為8位,一個字需要拆分為2個部分。一般把它拆分為上部和下部,上部由8×16點陣組成,下部也由8×16點陣組成。在本例中單片機首先顯示的是左上角的第一列的上半部分,即第0列的p00—p07口。方向為p00到p07,顯示漢字”高”時,p02點亮,由上往下排列,為p0.0滅,p0.1滅,p0.2亮,p0.3滅,p0.4滅,p0.5滅,p0.6滅,p0.7滅。即二進制00000100,轉(zhuǎn)換為16進制為04h。上半部第一列完成后,繼續(xù)掃描下半部的第一列,為了接線的方便,我們?nèi)栽O(shè)計成由上往下掃描,即從p27向p20方向掃描,從上圖可以看到,這一列全部為不亮,即為00000000,16進制則為00h。然后單片機轉(zhuǎn)向上半部第二列,仍為p01點亮,為00000100,即16進制04h.這一列完成后繼續(xù)進行下半部分的掃描,p20點亮,為二進制00000010,即16進制02h.依照這個方法,繼續(xù)進行下面的掃描,一共掃描32個8位,可以得出漢字“高”的掃描代碼為:02h,00h,01h,04h,0FFh,0FEh,00h,00h,1Fh,0F0h,10h,10h,10h,10h,1Fh,0F0h,00h,04h,7Fh,0FEh,40h,04h,4Fh,0E4h,48h,24h,48h,24h,4Fh,0E4h,40h,0Ch。由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出它的掃描代碼從而顯示在屏幕上。不過現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件,就不必自己去畫表格算代碼了。3.2.2用8×8LED點陣構(gòu)成16×16LED點陣Proteus中只有5×7和8×8等LED點陣,并沒有16×16LED點陣,而在實際應(yīng)用中,要良好地顯示一個漢字,則至少需要16×16點陣。下面我們就首先介紹使用8×8點陣構(gòu)建16×16點陣的方法,并構(gòu)建一塊16×16LED點陣。首先,從Proteus7.1的元件庫中找到“MATRIX-8X8-RED”元器件,并將四塊該元器件放入Proteus文檔區(qū)編輯窗口中。右邊8個引腳是其列線(當(dāng)然,如果你是將右轉(zhuǎn),則右邊8個引腳是行線)。然后將四個元器件對應(yīng)的行線和列線分別進行連接,引腳接一行16個LED,列線也相同。并注意要將行線和列線引出一定長度的引腳,以便下面我們使用。連接好的16×16點陣如圖3.4所示。圖3.4點陣模塊組合如上圖的16×16點陣只是第一步,這樣分開的數(shù)塊并不能達到好的顯示效果,下面我們要將其進一步組合。組合實際上很簡單,首先選中如上圖中右側(cè)的兩塊8×8點陣,然后拖動并使其與左側(cè)的兩塊相并攏,如圖3.5所示。圖3.4點陣模塊組合圖3.5與左側(cè)的兩塊相并攏可以看到原來的連線已經(jīng)自動隱藏了,至于線上的交點,我們不要去動。然后,我們再來最后一步,選中下側(cè)的兩塊點陣,并拖動使其與上側(cè)的兩塊并攏,最后的效果如圖3.6所示??吹?原來雜亂的連線現(xiàn)在已經(jīng)幾乎全部隱藏了,一塊16×16的LED點陣做成了。需要注意,做成的LED點陣的行線為左側(cè)的16個引腳,下側(cè)的16個引腳為其列線,而且其行線為高電平有效,列線為低電平有效。然后,我們將其保存,以便以后使用。圖3.6最后的效果圖3.3主控單片機的接口說明P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)制用口,作為輸入口時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫入“1可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期激活內(nèi)部上拉電阻。在Flash編程時,PO口接收指令節(jié),而在程序校檢時,輸出指令字節(jié),校檢時,要求外接上拉電阻。P1口:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流I。Flash編程和程序校檢期間,P1接收低8位地址。P2口:P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流I。在訪問外部數(shù)據(jù)存儲器或16位地址的外部數(shù)據(jù)存儲(例如執(zhí)行MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個訪問期間不改變。Flash編程和校檢時,P2亦接收高位地址和其他控制信號。P3口:P3口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作輸入端口,作輸入端時,被外部拉低的P3口將用上拉電阻,輸出電流I。P3口還接收一些用于Flash閃速存儲器編程和程序校檢的控制信號。RST:復(fù)位輸入,當(dāng)震蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于所存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE乃以時鐘振動頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。3.4LED顯示驅(qū)動電路LED顯示驅(qū)動電路如圖3.7所示。圖3.7顯示驅(qū)動電路圖4字模生成4.1字模簡介文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀[1]。在電腦硬件中,根本沒有漢字這個概念,也沒有英文的概念,其認(rèn)識的概念只有——內(nèi)碼(將ASCII表的高128個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼)。如果你用啟動盤啟動系統(tǒng)后用DIR命令可能得到一串串莫名其妙的字符,但那確確實實是漢字,如果你啟動UCDOS或其他的漢字系統(tǒng)后,就會看到那是一個個熟悉的漢字。在硬件系統(tǒng)內(nèi),英文的字模信息一般固化在ROM里,即使在沒有進入系統(tǒng)的CMOS里,也可以讓你看到英文字符。而在DOS下,中文的字模信息一般記錄在漢字庫文件里(將制作好的字模放到一個個標(biāo)準(zhǔn)的庫中,這就是點陣字庫文件)。4.1.1LED顯示屏領(lǐng)域字模實現(xiàn)技術(shù)在通過軟件實現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件打開后輸入漢字,點“檢取”,十六進制數(shù)據(jù)的漢字代碼即可自動生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。在通過硬件實現(xiàn)字模提取的技術(shù)中,有在單片機系統(tǒng)中增加硬漢字庫的方法,主控器發(fā)送的漢字是其機內(nèi)碼,用兩個字節(jié)來表示一個漢字。根據(jù)機內(nèi)碼,顯示單元控制模塊從漢字庫中查取顯示字模,實現(xiàn)漢字顯示。由于帶有硬漢字庫,進行動態(tài)文字顯示時,通用智能顯示單元僅接受漢字的機內(nèi)碼即可,這樣數(shù)據(jù)通訊量大大減少。因此,“動態(tài)文字顯示速度快”。4.1.2軟件控制系統(tǒng)字模提取的分析與設(shè)計而在LED顯示屏控制系統(tǒng)具體應(yīng)用的Windows操作系統(tǒng)下如何提取字模信息是設(shè)計的核心。軟件控制系統(tǒng)在實際編輯過程中,要求各種字體、字號的文字都能被編輯、保存。所以系統(tǒng)在設(shè)計時,把文本區(qū)理解為由眾多的象素點構(gòu)成,而把不同字體、字號的文字理解為一幅圖像。因為所開啟的文本區(qū)大小與LED顯示屏的大小對應(yīng),所以采用16×16點陣為單位,把文本區(qū)內(nèi)的每個像素點都看成一個二維數(shù)組,由于系統(tǒng)中各種顏色都有對應(yīng)的值,賦予每個不同顏色的像素點不同的對應(yīng)值,再把每個點賦予一個int型的值,這樣保存下來的信息就是二進制數(shù)據(jù)。通過這樣的設(shè)計,我們不僅可以把任何字型,任何大小的文字保存下來,還可以顯示以256個像素點陣為單位的任何圖形。在軟件控制系統(tǒng)中實現(xiàn)字模的提取,也就避免了在單片機中加載硬漢字庫模塊,從而簡化了硬件模塊的設(shè)計。以下以單色屏為例,介紹系統(tǒng)采用字模保存的算法設(shè)計:定義COLORREFzimo_color為像素點的顏色,判斷某個點的顏色值。如果值為Oxffffff,說明此點為白色,賦予此點值0。由于單色屏只有紅色和不顯色兩種,所以可以簡單賦值為除白色外其余點賦值為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.GetPixel(col,row);if(zimocolor==Oxffffff){zimo[row][col]=0;}else{zimo[row][col]=1;}}}定義unsignedintzimo[192][384]={0};//文本區(qū)像素點以8位為一字節(jié)(因為在隨后的串行通訊中,傳輸?shù)臄?shù)據(jù)是8位的二進制數(shù)據(jù))定義unsignedcharzimo_data[192][48]={0}4.2字模存儲技術(shù)目前使用最廣泛的技術(shù)是,通過上位機軟件將待顯示的字符串轉(zhuǎn)換為對應(yīng)的點陣字模數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲在E2PROM中。在條屏顯示的過程中按規(guī)定的方式取出E2PROM中的字模數(shù)據(jù)進行處理。對于一個16×16點陣的漢字字模數(shù)據(jù),需要連續(xù)32字節(jié)的E2PROM空間來存儲。照此計算,若有256個需要顯示的字符,則至少需要32B×256=8192字節(jié)(8KB)的E2PROM存儲空間。通常的單片機內(nèi)部沒有集成這么大容量的E2PROM。因此這種方案,需要在單片機外部擴展大容量的E2PROM,增加硬件成本。上位機程序設(shè)計由于涉及到漢字取模,取模算法的難度較大。在多字下載的時候傳輸時間也較長。諸多弊端使本設(shè)計放棄了傳統(tǒng)方案。而本設(shè)計創(chuàng)新使用了專用的點陣字庫芯片,成本僅為8元,內(nèi)含各種點陣規(guī)格的GB2312、ASCII等標(biāo)準(zhǔn)字庫。專用字庫芯片采用微型SO-8封裝,使用高速同步串行SPI接口進行讀寫操作,節(jié)省了控制器的I/O。在本設(shè)計中,單片機內(nèi)部的小容量E2PROM,用于存儲待顯示漢字的GB2312標(biāo)準(zhǔn)機內(nèi)碼,每個全角字符的內(nèi)碼占2字節(jié),則在同樣需要顯示256個漢字的情況下,這種方案僅占用512字節(jié)的E2PROM空間。4.3字庫生成圖4.1“魏”的字模代碼因為本設(shè)計中為行掃描,列輸入,如圖4.1所示所以“魏”的字模代碼為:DB49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84HDB64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00剩下的字仿照魏字即可,“佳”字代碼為:DB01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22HDB12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H“鋒”字代碼為:DB01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28HDB0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H5軟件設(shè)計5.1程序設(shè)計總體思路和結(jié)構(gòu)5.1.1程序設(shè)計總體思路用簡短的匯編程序設(shè)計,實現(xiàn)LED點陣顯示內(nèi)容,并使顯示的內(nèi)容在屏幕上從左到右的滾動顯示。系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、延時程序、顯示子程序和串行口中斷程序。用AT89C51、74LS373、74LS138、74HC154芯片和4個16×16LED點陣顯示器構(gòu)成一個完整的16位點陣LED顯示系統(tǒng)。5.1.2程序流程圖程序主要由開始、初始化、主程序、字庫組成。其中主程序和子程序的流程圖5.1單片機漢字顯示程序流程圖圖如圖5.1所示。5.2各模塊程序設(shè)計5.2.1系統(tǒng)初始化ORG0000HAJMPSTARTORG000BHLJMPTIME0ORG0030HSTART:MOVR1,#00HMOVR2,#00HMOVR3,#00HMOVR4,#00HMOVR5,#00H5.2.2LED動態(tài)顯示顯示要求漢字在顯示屏上按從左到右的順序一個個的出現(xiàn)。設(shè)計時可采用如下方法:首先將LED顯示屏對應(yīng)的顯示緩沖區(qū)全部清零,即LED顯示空白,然后每間隔一個“軟定時器”設(shè)定的動態(tài)顯示時間,顯示緩沖區(qū)依次加入一個漢字點陣數(shù)據(jù)并進行掃描顯示,這樣就可達到動態(tài)顯示的效果。實現(xiàn)LED從左向右移動顯示程序:TIME0:INCR5CJNER5,#3,NEXTMOVR5,#0INCDPTRINCDPTRINCR1CJNER1,#144,NEXTMOVR1,#0MOVDPTR,#TABNEXT:MOVTH0,#3CHMOVTL0,#0B0HRETI5.2.3漢字顯示的原理我們以中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標(biāo)漢字庫中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。LED點陣漢字顯示程序:MAIN:MOVP1,R2MOVA,R3MOVCA,@A+DPTRMOVP2,AINCR3MOVA,R3MOVCA,@A+DPTRMOVP0,AINCR3MOVP3,R4LCALLDELAY1MSINCR2CJNER2,#16,MAINMOVR2,#0INCR4CJNER4,#3,MAINMOVR3,#0MOVR4,#0LJMPMAIN6系統(tǒng)功能測試6.1單元模塊電路測試在proteus仿真軟件中運行測試AT89C51、74LS373、74LS138、74HC154等芯片和LED顯示器均能正常運行并完整的顯示出了我所要的效果。所以各個模塊功能正常。6.2系統(tǒng)整體功能測試在仿真軟件proteus中運行測試系統(tǒng)整體功能,一切正常。實現(xiàn)了漢字的左移滾動顯示,完整的顯示出了浮動漢字。圖6.1單片機漢字顯示系統(tǒng)測試圖
總結(jié)在本設(shè)計中我用簡短的匯編程序在LED顯示屏實現(xiàn)了漢字的左移滾動顯示。在設(shè)計中采用的芯片有AT89C51、74LS373、74LS138、74HC154和4個16×16LED點陣顯示器。其特點:1.內(nèi)容能從右向左浮動顯示。2.硬件結(jié)構(gòu)簡單,應(yīng)用廣泛。3.LED數(shù)碼管動態(tài)掃描顯示,工作效率高,價格低廉等。通過本次(64×16位點陣LED)的設(shè)計,理論知識學(xué)習(xí)和實際設(shè)計的結(jié)合鍛煉了我的綜合運用所學(xué)的專業(yè)基礎(chǔ)知識解決實際工程問題的能力,同時也提高我查閱文獻資料、設(shè)計手冊、設(shè)計規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了豐富。為后繼的學(xué)習(xí)和工作奠定的基礎(chǔ)。在完成此設(shè)計過程中,我曾多次去找我的指導(dǎo)老師,封小鈺老師,每次在遇到實驗中遇到困難或者程序看不懂的時候,封老師每次都不厭其煩,不辭辛苦的給我細(xì)心講解指導(dǎo),我才能在實驗室完成實驗,在寫論文過封中老師也給了我很大幫助,在此,我由衷的對封老師對我的指導(dǎo)和教育。參考文獻[1]李建忠編著.單片機原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2002[2]李群芳,肖看編著.單片機原理、接口及應(yīng)用.北京:清華大學(xué)出版社,2005[3]于海生編著.微型計算機控制技術(shù).北京:清華大學(xué)出版社,2008[4]戴梅萼,史嘉權(quán)編著.微型計算機技術(shù)及應(yīng)用(第3版).北京:清華大學(xué)出版社,2008[5]江曉安,董秀峰編著.數(shù)字電子技術(shù)(第二版).西安:西安電子科技大學(xué)出版社,2005附錄附錄:源程序代碼ORG0000H;初始化AJMPSTARTORG000BHLJMPTIME0ORG0030HSTART:MOVR1,#00HMOVR2,#00HMOVR3,#00HMOVR4,#00HMOVR5,#00HMOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HMOVIE,#82HSETBTR0MOVDPTR,#TAB;================MAIN:MOVP1,R2;單片機輸出MOVA,R3MOVCA,@A+DPTRMOVP2,AINCR3MOVA,R3MOVCA,@A+DPTRMOVP0,AINCR3MOVP3,R4LCALLDELAY1MSINCR2CJNER2,#16,MAINMOVR2,#0INCR4CJNER4,#4,MAINMOVR3,#0MOVR4,#0LJMPMAIN;===============TIME0:INCR5;移動顯示CJNER5,#3,NEXTMOVR5,#0INCDPTRINCDPTRINCR1CJNER1,#144,NEXTMOVR1,#0MOVDPTR,#TABNEXT:MOVTH0,#3CHMOVTL0,#0B0HRETI;================DELAY1MS:MOVR7,#2;延時DEL:MOVR6,#250DJNZR6,$DJNZR7,DELRET;================TAB:;DB000H,000H,01FH,0FCH,010H,000H,025H,000H,03BH,004H,000H,048H,00AH,050H,009H,060H;;DB07FH,0C0H,010H,0A0H,012H,090H,014H,088H,000H,08CH,000H,004H,000H,004H,000H,000HDB00H,00H,7FH,0FFH,44H,20H,5AH,10H,61H,0E1H,10H,82H,14H,84H,12H,88HDB10H,0B0H,0FFH,0C0H,10H,0B0H,12H,88H,34H,86H,11H,83H,00H,82H,00H,00HDB000H,000H,003H,000H,002H,0F8H,022H,010H,022H,050H,03FH,090H,022H,010H,022H,010HDB07FH,090H,044H,090H,044H,090H,004H,00CH,004H,030H,007H,0C0H,000H,000H,000H,000HDB000H,010H,011H,010H,011H,020H,01FH,0E0H,022H,048H,000H,048H,038H,008H,027H,048HDB025H,048H,03FH,0F0H,04AH,090H,042H,090H,07EH,010H,000H,010H,000H,000H,000H,000HDB000H,000H,000H,010H,000H,010H,000H,010H,008H,010H,008H,010H,008H,010H,00FH,0E0HDB010H,020H,010H,020H,010H,0
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高速公路合同制收費員二零二五年度服務(wù)質(zhì)量監(jiān)督與反饋協(xié)議3篇
- 2025年度落水管安裝與水質(zhì)凈化服務(wù)合同4篇
- 二零二五年度木屋建造與木材加工工藝改進合同4篇
- 咖啡館品牌形象包裝設(shè)計考核試卷
- 客運站服務(wù)創(chuàng)新實踐考核試卷
- 2025版養(yǎng)老信托資金借款合同3篇
- 2025版電子商務(wù)合同爭議解決程序與法律適用合同4篇
- 二零二五年度軟件開發(fā)與經(jīng)銷合同2篇
- 2025版學(xué)校教師培訓(xùn)與發(fā)展聘用合同樣本3篇
- 2025年外匯交易居間服務(wù)合同
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護導(dǎo)體
- 計劃合同部部長述職報告范文
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
- 基于學(xué)習(xí)任務(wù)群的小學(xué)語文單元整體教學(xué)設(shè)計策略的探究
- 人教版高中物理必修一同步課時作業(yè)(全冊)
- 食堂油鍋起火演練方案及流程
- 《呼吸衰竭的治療》
- 2024年度醫(yī)患溝通課件
- 2024年中考政治總復(fù)習(xí)初中道德與法治知識點總結(jié)(重點標(biāo)記版)
- 2024年手術(shù)室的應(yīng)急預(yù)案
- 五年級上冊小數(shù)除法豎式計算練習(xí)300題及答案
評論
0/150
提交評論