版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-.z.學(xué)科本科生畢業(yè)論文(設(shè)計)題目(中文):LED顯示屏控制器的設(shè)計與實現(xiàn)(英文):TheDesignandImplementationofLEDDisplayController學(xué)生:學(xué)號:2013年05月15日本科生論文(設(shè)計)作者簽名:年月日-.z.目錄TOC\o摘要ArabicI關(guān)鍵詞ArabicIAbstract ArabicIKeywords ArabicII1前言Arabic11.1LED電子顯示屏概述Arabic11.2LED電子顯示屏的分類Arabic21.3LED顯示屏市場前景Arabic22LED顯示原理的分析Arabic32.1LED點陣模塊結(jié)構(gòu)Arabic32.2LED動態(tài)顯示原理Arabic43系統(tǒng)設(shè)計的任務(wù)與方案論證Arabic73.1設(shè)計任務(wù)Arabic73.2設(shè)計方案論證Arabic73.2.1顯示單元模塊的選擇Arabic73.2.2主控制器的選擇Arabic83.2.3點陣數(shù)據(jù)存儲方式的選擇Arabic93.2.4系統(tǒng)總體結(jié)構(gòu)及原理分析Arabic113.2.5工作原理分析Arabic124硬件電路設(shè)計Arabic134.1LED控制卡電路設(shè)計Arabic134.1.1列驅(qū)動電路設(shè)計Arabic144.1.2行驅(qū)動電路設(shè)計Arabic154.2時鐘模塊電路設(shè)計Arabic164.3溫度驅(qū)動電路設(shè)計Arabic164.4MA*232串行通信電路設(shè)計Arabic174.5系統(tǒng)電源及通信電纜的選擇Arabic184.5.1對于LED顯示屏的電源要求Arabic184.5.2開關(guān)電源在LED屏應(yīng)用中的優(yōu)勢Arabic195系統(tǒng)軟件設(shè)計Arabic195.1上位機軟件設(shè)計Arabic195.2漢字字模的提取方法Arabic215.3上位機與單片機通信協(xié)議Arabic225.4下位機軟件設(shè)計Arabic235.5中斷數(shù)據(jù)處理Arabic256測試結(jié)果與分析Arabic256.1上位機軟件測試Arabic256.2漢字移動測試Arabic266.3結(jié)果分析Arabic267總結(jié)Arabic26參考文獻Arabic28致Arabic29附錄ALED顯示屏控制卡原理圖Arabic30附錄BLED顯示屏控制卡PCB電路圖Arabic31附錄CVB上位機界面Arabic32附錄D本設(shè)計顯示效果圖片Arabic32附錄E程序清單Arabic33-.z.LED顯示屏控制器的設(shè)計與實現(xiàn)摘要本設(shè)計是以STC12C5A60S2單片機作為核心控制器件,外圍存儲芯片實現(xiàn)漢字編碼的存儲,可以實現(xiàn)中英文字符和動態(tài)顯示,并且可以通過級連的方式來擴展顯示屏的尺寸,增加顯示容。本設(shè)計采用VisualBasic6.0編寫上位機,上位機與下位機采用RS-232通信標準來實現(xiàn)。上位機向下位機發(fā)送控制命令和需要存儲的漢字編碼,下位機接收數(shù)據(jù)并處理上位機發(fā)送過來的控制命令以及顯示編碼。由LED控制卡驅(qū)動32*64點陣屏顯示,利用人眼的滯留現(xiàn)象,達到能夠?qū)崟r修改顯示容的目的。關(guān)鍵詞上位機;LED顯示屏控制卡;32*64單色點陣屏;時鐘芯片TheDesignandImplementationofLEDDisplayControllerAbstractThisdesignisbasedonSTC12C5A60S2microputerasthecorecontroldevice,toachievethestorageoftheChinesecharactercodingthroughe*ternalmemorychips.ThefunctionofthesystemcanbeachievedinEnglishcharactersanddynamicdisplayorcanbeconnectedincascademannertoe*pandthesizeandthecontentofdisplay,.preparationofPCprogrammedbyVisualBasic6.0,themunicationstandardbetweenthePCandthemicroputerisRS-232.ThepreparationofPCsendmandsandChinesecharactercodingthatneedstobestoredtoMCU,thene*tcrewprocessesmandsandthedatathatwassentfrompreparationofPCanddisplaycoding,32*64dotmatri*displaydrivenbytheLEDdisplaycontrolcard.Achievingthepurposeofdisplaycontentscanbemodifiedintimethroughhumaneyephenomenon。KeywordsHostputer;LEDdisplaycontrolcard;32*64monochromedotmatri*screen;Clockchip-.z.1前言1.1LED電子顯示屏概述LED電子顯示屏(LightEmittingDiodePanel)是由幾百至幾十萬個半導(dǎo)體發(fā)光二極管構(gòu)成的像素點,按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩的LED像素點[1]。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍色和純綠色LED的開發(fā)已經(jīng)達到了實用階段。LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的亮度的方式,來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕[2]。LED顯示屏分為圖文顯示屏和條幅顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形;而條幅顯示屏則適用于小容量的字符信息顯示。LED顯示屏因為其像素單元是主動發(fā)光的,具有亮度高,視角廣、工作電壓低、功耗小、壽命長、耐沖擊和性能穩(wěn)定等優(yōu)點[3]。因而被廣泛應(yīng)用于車站、碼頭、機場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。LED顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展[4]。本文主要研究一種基于STC12C5A60S2單片機的LED點陣屏的控制系統(tǒng),顯示面板為單色32*64點陣屏,控制卡上集成了溫度傳感器和時鐘模塊,可以獨立顯示時間和溫度。并且有按鍵可以直接在下位機上調(diào)整時間與顯示速度,與上位機采用RS-232通信的方式,控制更加簡便。1.2LED電子顯示屏的分類(1)、按顏色分類:單基色顯示屏:單一顏色(紅色或綠色)。雙基色顯示屏:紅和綠雙基色,256級灰度、可以顯示65536種顏色。全彩色顯示屏:紅、綠、藍三基色,256級灰度的全彩色顯示屏可以顯示一千六百多萬種顏色。(2)、按顯示器件分類:LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。LED點陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點陣顯示模塊,適于播放文字、圖像信息。(3)、按使用場合分類:室顯示屏:發(fā)光點較小,一般Φ3mm--Φ8mm,顯示面積一般零點幾至十幾平方米。室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在下工作,具有防風(fēng)、防雨、防水功能。(4)、按發(fā)光點直徑分類:室屏:Φ3mm、Φ3.75mm、Φ5mm。室外屏:Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ21mm、Φ26mm。室外屏發(fā)光的基本單元為發(fā)光筒,發(fā)光筒的原理是將一組紅、綠、藍發(fā)光二極管封在一個塑料筒共同發(fā)光增強亮度[5]。1.3LED顯示屏市場前景LED全彩顯示屏,是20世紀90年代在全球迅速發(fā)展起來的新型信息顯示媒體。它利用發(fā)光二極管構(gòu)成的點陣模塊或像素單元組成大面積顯示屏幕,結(jié)合了微電子技術(shù)、光學(xué)技術(shù)、計算機技術(shù)、信息處理等現(xiàn)代高新技術(shù),以其可靠性高、使用壽命長、環(huán)境適應(yīng)能力強、性價比合理、使用成本低等特點迅速成為大型平板顯示的主流產(chǎn)品,以其明顯優(yōu)越于背投、等離子、液晶顯示及電視屏幕的性能而在信息顯示領(lǐng)域得到了廣泛的應(yīng)用,如體育場館、大型展覽館、市政廣場、演唱會、車站、機場等場所[6]。尤其是以其高亮度,大面積顯示而讓更多人在戶外也感受到信息時代的來臨。顯示信息無處不在。據(jù)業(yè)專家預(yù)測,今后幾年全球各類LED顯示屏需求每年均達到幾十億美元,且還在逐年遞增。國際大都市如紐約、巴黎、倫敦都普遍使用大型LED全彩顯示屏作為信息傳播、廣告宣傳的新型載體。在中國,隨著經(jīng)濟的飛速發(fā)展,各類場館的興建和市政工程改造項目的興起,國市場LED顯示屏需求增長率更是高達30%以上。按每年30%的增長速度,LED顯示屏的市場規(guī)模將會不斷的壯大,由于LED產(chǎn)品具有性能穩(wěn)定、壽命較長、功耗較小以及價格低廉等優(yōu)勢,因此在各種實際應(yīng)用中具有較強的市場競爭力,市場前景十分廣闊。2LED顯示原理的分析2.1LED點陣模塊結(jié)構(gòu)八十年代以來出現(xiàn)了組合型LED點陣顯示器模塊,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成[7]。這種一體化封裝的點陣LED模塊,具有高亮度、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。LED點陣規(guī)模常見的有4×4、4×8、5×7、5×8、8×8、16×16等等。根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、圖像等容的顏色也不同。單色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點陣顯示容的顏色由像素不同顏色發(fā)光二極管點亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯示黃色,如果按照脈沖方式控制二極管的點亮?xí)r間,則可實現(xiàn)256或更高級灰度顯示,即可實現(xiàn)真彩色顯示[8]。本系統(tǒng)所使用的8×8單色LED點陣顯示器的部電路結(jié)構(gòu)和外形規(guī)格如圖2.1所示,其它型號點陣的結(jié)構(gòu)與引腳可試驗獲得。圖2.18×8單色LED模塊部電路LED點陣顯示器單塊使用時,既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號。如5*7點陣顯示器用于顯示西文字母,5×8點陣顯示器用于顯示中西文,8*8點陣可以用于顯示簡單的中文文字,也可用于簡單圖形顯示。用多塊點陣顯示器組合則可構(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幀/秒,人眼看起來就是一個完整的,相對靜止的畫面[9]。最典型的例子就是電影放映機。在電子領(lǐng)域中,因為這種動態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號線數(shù)量,便于PBC的布局難度促進工廠批量生產(chǎn),因此在LED顯示技術(shù)中被廣泛使用。以8×8點陣模塊為例,說明一下其使用方法及控制過程。紅色水平線Y0、Y1……Y7叫做行線,接部發(fā)光二極管的陽極,每一行8個LED的陽極都接在本行的行線上。相鄰兩行線間絕緣。同樣,紅色豎直線*0、*1……*7叫做列線,接部每列8個LED的陰極,相鄰兩列線間絕緣。在這種形式的LED點陣模塊中,若在*行線上施加高電平(用“1”表示),在*列線上施加低電平(用“0”表示)。則行線和列線的交叉點處的LED就會有電流流過而發(fā)光。比如,Y7為1,*0為0,則右下角的LED點亮。再如Y0為1,*0到*7均為0,則最上面一行8個LED全點亮。現(xiàn)描述一下用動態(tài)掃描顯示的方式,顯示字符“9”的過程。其過程如圖2.2所示。圖2.2用動態(tài)掃描顯示字符9的過程假設(shè)*,Y為兩個8位寬的字節(jié)型數(shù)據(jù),*的每位對應(yīng)LED模塊的8根列線*7-*0,同樣Y的每位對應(yīng)LED模塊的8根行線Y7-Y0。在這個示例中,Y叫行掃描線,行掃描線在每個時刻只有一根線為“1”即有效行選通電平,*叫列數(shù)據(jù)線,其容就是點陣化的字模數(shù)據(jù)的體現(xiàn)。下面用偽代碼描述動態(tài)顯示的過程。(1).Y=0*01,*=0*FF,如圖2.2第一行;(2).Y=0*1C,*=0*02,如圖2.2第二行;(3).Y=0*22,*=0*04,如圖2.2第三行;(4).Y=0*22,*=0*08,如圖2.2第四行;(5).Y=0*1E,*=0*10,如圖2.2第五行;(6).Y=0*01,*=0*20,如圖2.2第六行;(7).Y=0*04,*=0*04,如圖2.2第七行;(8).Y=0*38,*=0*80,如圖2.2第八行;(9).跳到第(1)步循環(huán)。如果高速地進行(1)到(9)的循環(huán),且兩個步驟間的間隔時間小于1/24秒,由于視覺暫留。LED顯示屏上將呈現(xiàn)出一個完整的“9”字符。這就是動態(tài)掃描的原理。只不過實際運用的時候,列線和行線通常不止8位,還要根據(jù)列線和行線的數(shù)量來決定是用行線或列線來做掃描線。例如0601條屏(每行6個漢字,共1行),行線有16根,列線有96根[10]。如果用列線來做掃描線,則每列LED在每96次循環(huán)掃描中只可能亮一次,則其發(fā)光視覺平均亮度為直流亮度的1/96。如果用行線來做掃描線,則每16次循環(huán),每行LED就能亮一次,其發(fā)光視覺平均亮度為直流情況下的1/16??梢?,用行線做掃描線,因為其發(fā)光周期的占空比較大,其視覺亮度是用列線做掃描線的6倍。因而發(fā)光效率比前者高。在實際運用的時候,還要在每兩幀之間加上合適的延時,以使人眼能清晰的看見發(fā)光。在幀切換的時候還要加入余輝消除處理。比如先將掃描線全部設(shè)置為無效電平,送下一行的列數(shù)據(jù)后再選通掃描線,避免出現(xiàn)尾影。3系統(tǒng)設(shè)計的任務(wù)與方案論證3.1設(shè)計任務(wù)本設(shè)計的任務(wù)要求完成可以控制兼容T12和T08顯示屏單元板并可擴展顯示單元數(shù)目的單色動態(tài)調(diào)幅屏(1)、顯示區(qū)域:單色顯示64*32點;(2)、通過上位機修改顯示容,按鍵可改變顯示容;(3)、能存儲16*16點陣漢字不少于64個。3.2設(shè)計方案論證3.2.1顯示單元模塊的選擇LED顯示屏顯示一個簡單的漢字,至少需要一個16*16點陣單元來構(gòu)成,根據(jù)發(fā)光點直徑的大小分為3.75mm和5mm的LED點陣模塊。方案一:3.75mm的小型發(fā)光二極管組成的8*8的點陣模塊,發(fā)光亮度不足,電流過大時易燒壞,遠距離觀看視覺效果模糊一般把3.75mm的屏作為室屏使用。方案二:5mm直徑組成的8*8點陣模塊,在同樣的距離5mm直徑的發(fā)光二極管組成的8*8的點陣模塊所發(fā)出的亮度值大約是3.75mm單元模塊的一倍,清晰程度也高于3.75mm的單元模塊。因此為了在較遠距離處獲得清晰的視覺效果,本設(shè)計選擇方案二,采用32個8×8點陣單元,像素直徑5mm的LED模塊拼接成32*64的LED顯示屏。這樣每個8×8漢字能夠獲得16×16cm的顯示尺寸,因此在50米處仍能清晰閱讀。而本設(shè)計使用是一塊完整的32*64的點陣屏,能同時顯示8個漢字。 3.2.2主控制器的選擇隨著廣告屏顯示容的多媒體化,對控制器傳輸速度,運算能力的要求越來越高。從單片機,到FPGA,直到現(xiàn)在的ARM處理器??刂破鞯姆N類也在不斷發(fā)展以適應(yīng)市場需求,不同功能檔次的廣告屏對應(yīng)著不同的處理器。方案一:以單片機(STC12C5A60S2高速單片機)為控制器的LED顯示屏。STC12C560S2單片機是傳統(tǒng)的8051單片機的升級版,外部時鐘頻率可達到80MHZ、60K的FLASH存儲器、1280字節(jié)的ROM和10位A/D轉(zhuǎn)換,擁有P4口適合需要多個I/O的設(shè)計系統(tǒng)。其部資源對于點陣單元模塊確定的條屏LED顯示屏,無論從存儲容量還是單片機的執(zhí)行速度都能很好的適用單元點陣模塊確定的LED顯示屏方案二:以FPGA(復(fù)雜可編程邏輯門陣列)為控制器的LED顯示屏。FPGA以高速、并行著稱。是近年來新興的可編程邏輯器件。用他作為LED顯示屏的控制器,能夠高速的處理色階PWM信號、高速的完成動態(tài)掃描邏輯、高速的完成字符移動算法。因此被運用于雙基色、三基色的顯示系統(tǒng)。但是其成本較高,開發(fā)難度較大。方案三:以ARM(32位RISC架構(gòu)高性能微處理器)為控制器的LED顯示屏。ARM有著極高的指令效率,極高的時鐘頻率。因此其運算能力非常強大,部資源也十分豐富,極大的簡化了硬件設(shè)計的難度,縮短了開發(fā)周期。在條屏的運用中,能用ARM來實現(xiàn)花樣繁多的顯示方式,以及高色階,多像素的全彩屏驅(qū)動。ARM與FPGA的組合更是功能強大,除了海量存儲技術(shù),無線更新技術(shù)外,還能實時地顯示視頻信號。因此,以ARM為控制器的顯示屏常為視頻全彩屏。經(jīng)過上面方案的比較最終確定選擇方案一,選用STC12C5A60S2單片機作為本次設(shè)計的核心控制器,其部資源豐富、成本比較低廉各項功能均能滿足本設(shè)計的要求。3.2.3點陣數(shù)據(jù)存儲方式的選擇目前使用最廣泛的技術(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存儲空間。通常的單片機部沒有集成這么大容量的E2PROM。因此需要在單片機外部擴展大容量的E2PROM。方案一:選用FLASH存儲器來存儲上位機發(fā)送過來的漢字編碼,F(xiàn)LASH存儲器種類多樣,其中最為常用的為NOR型和NAND型FLASH。通常NOR型比較適合存儲程序代碼,其隨機讀寫速度快,容量一般較小,且價格較高,一般只能整塊讀寫數(shù)據(jù),隨機存取能力差。它們對數(shù)據(jù)的存取不是使用線性地址映射,而是通過寄存器的操作串行存取數(shù)據(jù)。FLASH存儲器的擦除過程相對費時,且擦除流程相對復(fù)雜。方案二:選用AT24C64存儲器來存儲漢字編碼,AT24C64采用的是I2C總線接口方式,I2C總線是一種用于IC器件之間連接的二線制總線。連接總線的器件的輸出必須是集電極或漏極開路,以具有線“與”功能。I2C總線的數(shù)據(jù)傳送速率在標準工作方式下為100kbit/s,在快速方式下,最高傳送速率可達400kbit/s。它通過SDA(串行數(shù)據(jù)線)及SCL(串行時鐘線)兩根線和連在總線上的上位機進行通信,并根據(jù)地址識別每個器件。采用I2C總線標準的單片機或IC器件,其部不僅有I2C接口電路,而且將部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接。CPU不僅能通過指令將*個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進行檢測,從而實現(xiàn)對硬件系統(tǒng)既簡單又靈活的擴展與控制。由于本設(shè)計的任務(wù)是需要存儲漢字不少于64個,采用FLASH芯片來存儲漢字編碼,其操作復(fù)雜、成本太高,不適合在本次設(shè)計中采用FLASH芯片,因此本設(shè)計采用方案二來存儲上位機發(fā)送過來的漢字編碼并用尋址讀取數(shù)據(jù)。3.2.4系統(tǒng)總體結(jié)構(gòu)及原理分析通過對各種方案的比較與分析,初步構(gòu)建硬件系統(tǒng)框圖如圖3.1所示。圖3.1LED顯示屏系統(tǒng)框圖在圖3.1中,*0、*1—*n為顯示單元。整個顯示單元由一個32*64點陣的LED模塊和一個32位寬的移位鎖存器(串行—并行轉(zhuǎn)換器)構(gòu)成。所有顯示單元的16根行線均連接到公共的行掃描驅(qū)動電路。而每個顯示單元的列數(shù)據(jù)則由16位移位鎖存器并行輸出口提供。中央微處理器MCU負責(zé)與所有外圍設(shè)備的協(xié)調(diào)通信,以及各種算法的處理。MCU通用I/O口來驅(qū)動行掃描驅(qū)動電路。通用I/O口模擬同步串行接口以實現(xiàn)和列數(shù)據(jù)鎖存器(移位鎖存器)之間的單向通信。3.2.5工作原理分析單片機上電復(fù)位后,先從外部存儲器E2PROM讀取上次存儲在部的顯示模式,在32*64單色屏中上半屏存儲時間、溫度等數(shù)據(jù)。下半屏存儲的是上位機要傳輸過來的數(shù)據(jù)。進入下載模式后從上位機傳送來的數(shù)據(jù)經(jīng)過MA*232串口存放到單片機部的擴展數(shù)據(jù)存儲區(qū),在AT24C64存儲區(qū)中開辟192字節(jié)(1536位)動態(tài)顯示緩沖區(qū)Display_Buffer和32字節(jié)的字模數(shù)據(jù)緩存區(qū)Temp_Buffer,兩個緩存區(qū)編址連續(xù)。Display_Buffer中的一位與LED的一個點陣一一對應(yīng)。遵循結(jié)構(gòu)化的程序設(shè)計思路,把單片機在顯示模式時所有工作量分為以下三個任務(wù):(1)、掃描顯示任務(wù):掃描顯示任務(wù)負責(zé)把Display_Buffer中的數(shù)據(jù)依次發(fā)送到列驅(qū)動器74HC595,并按嚴格的時序高電平選通十六根行掃描線(Y0—Y15),使每一列數(shù)據(jù)對應(yīng)著一個行線狀態(tài)。(2)、移動處理任務(wù):移動處理任務(wù)負責(zé)完成顯示字符逐點陣向左移動的算法處理,這是最基本的顯示效果。其它大部分顯示效果如:左移六字暫停,全屏定格顯示等都是以逐位左移為基礎(chǔ)。對顯示字符的移動,實質(zhì)上是對顯示緩沖區(qū)Display_Buffer數(shù)據(jù)的移動。該算法是將Display_Buffer和Temp_Buffer中的數(shù)據(jù)首尾相接地左移一位,并不斷把Temp_Buffer移入Display_Buffe。(3)、字符更新任務(wù):在單片機的*data區(qū)開辟了32字節(jié)的字模數(shù)據(jù)緩存區(qū)Temp_Buffer。該緩存區(qū)與Display_Buffer編址連續(xù)。當調(diào)用字符更新任務(wù)時,程序從E2PROM碼區(qū)指定位置讀取相鄰兩字節(jié)的漢字碼數(shù)據(jù)。并通過一定的算法,把上位機發(fā)送的漢字編碼轉(zhuǎn)換成標準的GB2312漢字編碼。單片機通過I2C接口,向E2PROM發(fā)送讀命令和地址,單片機連續(xù)讀取32字節(jié)的全角漢字字模數(shù)據(jù)或16字節(jié)的ASCII半角字模數(shù)據(jù)。這些字模數(shù)據(jù)就存儲在32字節(jié)的字模數(shù)據(jù)緩存區(qū)中。字模數(shù)據(jù)緩存區(qū)Temp_Buffer中的數(shù)據(jù)可通過調(diào)用移動處理任務(wù)而逐位轉(zhuǎn)移至動態(tài)顯示緩沖區(qū)Display_Buffer中,這樣在LED顯示屏上就顯示我們所需要的容。4硬件電路設(shè)計4.1LED控制卡電路設(shè)計LED點陣屏控制卡是整個LED顯示屏的核心控制器件,它集成了STC12C5A60S2主控芯片、時鐘芯片、溫度傳感器、存儲芯片、串口轉(zhuǎn)換電路為一體的控制器,它是控制點陣屏的核心部分,各項功能的實現(xiàn)必須經(jīng)過控制卡的控制。通過LED控制卡來驅(qū)動32*64顯示屏上面的行,列選通芯片,把十六進制漢字編碼送74HC595顯示。本系統(tǒng)設(shè)計的控制卡接有標準的T08接口和T12接口,也適合其它型號的點陣屏使用本控制卡,因此控制卡的設(shè)計非常重要。圖4.1為核心控制器件與標準的接口,其他各個部分控制電路(見附錄A)圖4.1控制卡原理圖4.1.1列驅(qū)動電路設(shè)計本設(shè)計中32*64點陣屏的列驅(qū)動電路由16片串聯(lián)的8位移位鎖存器74HC595構(gòu)成,如下圖4.2所示,通過第一片串行數(shù)據(jù)輸出腳(SQ)接入第二片的數(shù)據(jù)輸入端,再從第二片的數(shù)據(jù)輸出腳接入第三片595的14(SI)腳數(shù)據(jù)輸入端,這樣通過多片級聯(lián)就可以控制多個點陣屏模塊的列選,再加上時鐘線(CLK),輸出鎖存數(shù)據(jù)線(RST),多塊595級聯(lián)時也只要控制這三個控制端口我們就可以控制32*64點陣屏的列選號的輸出。74HC595在5V供電的時候能夠達到30MHz的時鐘速度,每個并行輸出端口均能承受20mA的灌電流和拉電流。這個特點保證了不用增加額外的擴流電路即可輕松的驅(qū)動LED。它輸入端允許500nS的上升(下降)時間,對嚴重畸形的時鐘脈沖仍能檢測。這樣就可以容納較大的傳輸線對地電容,使本設(shè)計的抗干擾能力增強。由于LED顯示屏的工作電流時刻在變化,造成了系統(tǒng)電壓的波動。這種電壓波動有高頻成分,也有低頻成分。輕則對周圍無線電環(huán)境造成電磁污染,重則使系統(tǒng)時鐘紊亂,邏輯錯誤。為避免此問題,在每個74HC595的電源VCC和GND旁邊都并聯(lián)了兩個電容,用于濾波和退耦。穩(wěn)定系統(tǒng)電壓,旁路掉電源中的高頻脈動成份。消除自激,減小對外雜散電磁輻射,提高EMI電磁兼容性。圖4.2兩片74HC595級聯(lián)圖4.1.2行驅(qū)動電路設(shè)計32*64點陣屏共用16片138級聯(lián),通過總線驅(qū)動芯片74HC245驅(qū)動行/列信號,從總線上的低4位輸出的行號經(jīng)兩片138級聯(lián)后形成4/16線譯碼器后生成16條行選信號,具體電路如圖4.3所示。再經(jīng)過驅(qū)動管驅(qū)動對應(yīng)的行線。一條線上要帶動32列的LED燈同時發(fā)光時,按每一LED器件15mA電流計算,32個LED同時發(fā)光時,需要480mA的電流,選用三極管8550作為驅(qū)動管可以滿足要求。74HC138為3線—8線譯碼器,其工作原理為:當一個選通端(G1)為高電平,另外兩個選通端G2A和G2B為低電平時,可將地址端(A、B、C)的二進制編碼在Y0至Y7對應(yīng)的輸出端以低電平譯出,當數(shù)據(jù)超過8位之后,電平拉高后可對16數(shù)據(jù)操作。兩片級聯(lián)后的138電路如下:圖4.3兩片74HC138級聯(lián)電路圖4.2時鐘模塊電路設(shè)計DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力,可以對時間進行不掉電保存。圖4.4為時鐘模塊電路:圖4.4DS1302時鐘電路圖4.3溫度驅(qū)動電路設(shè)計Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線差為±2°C?,F(xiàn)場溫度直”接口的溫度傳感器。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在新一代的“DS1820”體積更小、更經(jīng)濟、更靈活。DS18B20支持“一線總線”接口,測量圍-55°C~+125°C,在-10~+85°C圍,精度為±0.5°C。DS1822的精度較接以“一線總線”的數(shù)字方式傳輸,見圖4.5所示這種方式大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。本設(shè)計通過不斷采集DS18B20的I/O口輸出的數(shù)據(jù)送入顯示函數(shù)實時更新采集過來的溫度然后送LED顯示屏顯示。圖4.5溫度采集電路4.4MA*232串行通信電路設(shè)計要使上位機能對條屏進行參數(shù)設(shè)置,顯示容更新等操作,就離不開和上位機的通信。有并行和串行兩種通信方式,為了節(jié)約傳輸線成本。本設(shè)計采用RS-232C串行通信方式。如圖4.6所示的P3.0與P3.1口接入單片機的數(shù)據(jù)輸入端和數(shù)據(jù)輸出端,通過LED燈的閃爍判斷數(shù)據(jù)是否已傳輸?shù)较挛粰C。RS-232C是由美國電子工業(yè)協(xié)會(EIA)正式公布的,在異步串行通信中應(yīng)用最廣泛的標準總線。現(xiàn)在,計算機上的串行通信端口(RS-232C)是標準配置端口,已經(jīng)得到廣泛應(yīng)用,計算機上一般都有1~2個標準RS-232C串口,即通道1和2[11]。RS-232C規(guī)定最大的負載電容為2500pF,這個電容限制了傳輸距離和傳輸速率,由于RS-232C的發(fā)送器和接收器之間具有公共信號地(GND),屬于非平衡電壓型傳輸電路,不使用差分信號傳輸,因此不具備抗共模干擾的能力,共模噪聲會耦合到信號中。在不使用調(diào)制解調(diào)器(MODEM)時,RS-232C能夠可靠進行數(shù)據(jù)傳輸?shù)淖畲笸ㄐ啪嚯x為15米。因此不適合做遠距離通信,但是對于條屏,通信15米的通信距離已經(jīng)足夠。圖4.6上位機與單片機串行通信電路圖4.5系統(tǒng)電源及通信電纜的選擇4.5.1對于LED顯示屏的電源要求本系統(tǒng)沒有設(shè)置獨立的5V穩(wěn)壓器件,因此要求外部能對其提供相對穩(wěn)定的電壓。為保證單片機等集成電路的穩(wěn)定工作,要求電源電壓的最大波動圍在4.8-5.2V之間。本系統(tǒng)的工作電流隨著顯示容的不同有很大變化。在LED全滅的狀態(tài)下,耗電電流為60mA左右;在LED全亮的情況下,工作電流可以達到3A;在滾動顯示漢字的時候,耗電約為500mA左右。因此,要求供電電源在負載電流變化較大的情況下能保持相對穩(wěn)定的電壓輸出。同時,條屏一般是全天候工作,對電源系統(tǒng)的長時間工作的穩(wěn)定性要求較高??紤]到上述因素,本設(shè)計采用功率容量200W,輸出5V/40A的成品單端反激式開關(guān)電源來為條屏系統(tǒng)供電。10A的電流容量對于條屏系統(tǒng)3A的滿負荷電流仍有較大的余量。保證了長時間使用穩(wěn)定性。4.5.2開關(guān)電源在LED屏應(yīng)用中的優(yōu)勢使用開關(guān)電源,相對于線性電源來說,有以下幾個明顯的優(yōu)勢。成本低廉:同等電壓和電流容量的開關(guān)穩(wěn)壓電源的成本,是傳統(tǒng)的工頻變壓器線性穩(wěn)壓電源的30%左右。因此,在許多場合,開關(guān)電源已逐步取代線性電源。高效率:體現(xiàn)在極高的轉(zhuǎn)換效率和極低的調(diào)整損耗上,開關(guān)電源的換能器是工作在開關(guān)狀態(tài)下,因此轉(zhuǎn)換的效率極高,長時間滿負荷工作也不會引起電源過熱。正好滿足條屏的應(yīng)用場合。功率密度大:開關(guān)電源能夠輕松地提供10A以上的電流。在同等輸出功率下,開關(guān)電源的體積只有線性電源的四分之一,重量為線性電源的十分之一。功率越大,其優(yōu)勢越明顯。對于通信電纜的選擇,本設(shè)計是將通信線和電源輸入合并在一個DB9連接器上。外部電纜使用多芯屏蔽電纜。這樣的設(shè)計,緊湊美觀,堅固耐用。5系統(tǒng)軟件設(shè)計5.1上位機軟件設(shè)計因為是采用VB語言進行設(shè)計,故是采用面向?qū)ο蟮乃枷脒M行編程。沒有像C語言一樣的具體流程,只能將各主要控件的主要事件響應(yīng)作簡要流程說明,具體流程圖如5.1所示。其關(guān)鍵的HZK16*16的漢字提取程序如下:。Fori=1To32Step1'字模校正對話框的字模代碼顯示IfLen(He*(zw(i)))=1ThenTe*t2.Te*t=Te*t2.Te*t&"0*0"&He*(zw(i))&","Te*t3.Te*t=Te*t3.Te*t&"0"&He*(zw(i))//加入0*的十六進制ElseTe*t2.Te*t=Te*t2.Te*t&"0*"&He*(zw(i))&","Te*t3.Te*t=Te*t3.Te*t&He*(zw(i))EndIfIfiMod16=0ThenTe*t2.Te*t=(Te*t2.Te*t+Chr(13)+Chr(10))EndIfCallhe*SendSleep20Te*t3.Te*t=""Ne*tiErasezw()'清空32字節(jié)的ZW數(shù)組以方便下一個漢字字模的輸出Elsebb=(94*(CLng("&H"&Mid(aa,1,2))-&HA1)+(CLng("&H"&Mid(aa,3,2))-&HA1))*32//提取漢字首地址的計算方法Forn=1To32Step1OpenApp.Path&"\hzk16"ForBinaryAs*1//打開漢字庫Get*1,bb+n,zw(n)圖5.1上位機軟件事件流程5.2漢字字模的提取方法HZKl6*16點陣漢字字庫可以在中文操作軟件(UCDOS)中找到現(xiàn)成的文件。一般漢字字庫均符合國家標準GB2312-80的規(guī)定[12]。在漢字系統(tǒng)中使用機碼形式存儲漢字,國標碼的最高位置l作為漢字的機碼。而國標碼由兩個字節(jié)組成,其中高字節(jié)表示區(qū),低字節(jié)表示位。國標碼和區(qū)位碼都有94個區(qū),每個區(qū)又都有94個位。1-9區(qū)為圖形區(qū),10-15區(qū)未規(guī)定,16-87區(qū)存放一、二級漢字庫。國標碼和區(qū)位碼的關(guān)系是:國標碼高字節(jié)=區(qū)碼+20H(式5.1)國標碼低字節(jié)=位碼+20H(式5.2)所以,機碼與國標碼和區(qū)位碼的關(guān)系是:機碼高字節(jié)=國標碼高字節(jié)+80H=區(qū)碼+A0H(式5.3)機碼低字節(jié)=國標碼低字節(jié)+80H=位碼+A0H(式5.4)字模代碼按照區(qū)位碼的順序在字庫中以二進制格式存儲,每個漢字占用32個字節(jié)。因此只要找到漢字代碼的起始位置,就可正確提取漢字點陣信息。對于不同的字庫,漢字代碼起始位置的計算方法可能存在差異,例如HZK16若以ADDRESS表示首地址,Q表示區(qū)碼,W表示位碼,經(jīng)分析和實踐得出HZK16中漢字首地址計算公式為:ADDRESS=32×[(Q-1)×94+(W-1)](式5.5)在VB.NET中,獲取漢字區(qū)位碼可以用ASC()函數(shù)和HE*()函數(shù),函數(shù)ASC()返回一個Integer數(shù)據(jù),代表字符串中首字母的字符代碼。HE*()函數(shù)返回代表十六進制數(shù)值的字符串[13]。當漢字作為ASC()函數(shù)的參數(shù)時,返回的是漢字機碼,經(jīng)HE*()函數(shù)轉(zhuǎn)換即可得到漢字機碼的十六進制數(shù),再通過公式(5.5)就可以得到漢字的首地址,有了漢字的首地址再從字庫中提取漢字代碼,再經(jīng)過擴展取兩次字模得到32*64的點陣字模。5.3上位機與單片機通信協(xié)議通信協(xié)議是指通信各方事前約定的通信規(guī)則,我們可以簡單地理解為通信雙方之間進行相互會話所使用的共同語言。上位機與下位機通信的時候為了識別通信數(shù)據(jù)的所代表的含義,所以必須有通信協(xié)議。本設(shè)計制定上位機往下位機發(fā)送命令/數(shù)據(jù)流的幀格式如表5.1所示根據(jù)表5.1的幀格式,制定通信協(xié)議如下(1)下位機不斷檢測收到的數(shù)據(jù),若檢測到握手字0*A0則執(zhí)行否則重復(fù)1;(2)繼續(xù)接受1字節(jié)數(shù)據(jù),若為同步頭0*FA則執(zhí)行3否則跳轉(zhuǎn)至1;(3)下位機連續(xù)接受7字節(jié)的設(shè)置數(shù)據(jù),并返回各字節(jié)數(shù)據(jù)的反碼;(4)上位機不斷檢測下位機發(fā)出的取反校驗字,若校驗出錯則報警否則執(zhí)行5;(5)上位機繼續(xù)向下位機發(fā)送漢字碼數(shù)據(jù);(6)下位機不斷接收碼并保存到AT24C64存儲器中,但不返回校驗字;(7)若下位機檢測到上位機發(fā)出的傳輸結(jié)束命令字0*8F,則結(jié)束通信過程;(8)下位機不斷嘗試與上位機握手,一旦握手成功下位機就接收數(shù)據(jù)并進行校驗,若校驗成功則發(fā)送到下位機存儲器中,等待單片機讀取數(shù)據(jù)送顯示端。表5.1幀格式制定通信協(xié)議如下1B1B1B1B1B1B1B1BnB、、1B1B1B1B1B1B1B1B1BnB、、1B0*A00*FA握手0*A00*FA同步頭顯示模式刷新率左移速度定格時間顯示容字符數(shù)高位字符數(shù)低位碼首地址結(jié)束命令字5.4下位機軟件設(shè)計上位機發(fā)送漢字編碼后,單片機中斷檢測到RI置高電平則進入中斷程序并接受上位機發(fā)送過來的漢字碼,按地址編碼的方式存儲到E2PROM中,單片機再不斷從存儲器里按地址編碼所存儲的信息去讀取相應(yīng)數(shù)據(jù)然后送入32*64單色點陣屏顯示,具體流程見圖2.5所示圖5.2下位機接收數(shù)據(jù)流程圖AT24C64存儲數(shù)據(jù)后調(diào)用顯示函數(shù)可以通過按鍵改變顯示屏容,按鍵一直是處于不斷的掃描狀態(tài)當檢測到有低電平時,就跳轉(zhuǎn)進入相應(yīng)的按鍵執(zhí)行程序,LED顯示屏就顯示按鍵對應(yīng)的顯示容。其具體流程見圖5.3所示。圖5.3按鍵選擇流程圖5.5中斷數(shù)據(jù)處理上位機發(fā)送到控制卡上的漢字編碼是通過中斷接收數(shù)據(jù)(SBUF)再存入外部存儲器AT24C64存儲器中,單片機通過讀取存儲器的地址把數(shù)據(jù)送入74HC595的數(shù)據(jù)線上,通過行列掃描把存儲的數(shù)據(jù)顯示在LED顯示屏上。具體的流程圖如圖5.4所示圖5.4中斷處理流程圖6測試結(jié)果與分析6.1上位機軟件測試軟件測試條件:Windows7操作系統(tǒng)、Tntel(R)Core(TM)i3處理器、2G存。(1)上位機軟件安裝包大小:1.5MB(2)上位機程序大?。?23KB(3)上位機存占用:44KB(4)1024字下載時間:14秒(5)單片機目標代碼大小:5297字節(jié);data區(qū)存占用75字節(jié)零1位;外部*data區(qū)占用689字節(jié)。E2PROM占用code區(qū)5個扇區(qū)2560字節(jié)。6.2漢字移動測試測試方法:在最低幀率和最高幀率設(shè)置下,用秒表統(tǒng)計出各個移動速度設(shè)置值下的,每秒移動的水平點陣數(shù),單位為點/秒。測試儀器:秒表、肉眼測試結(jié)果:如表6.1所示。表6.1漢字移動速度測試表下位機刷新率設(shè)置為1下位機刷新率設(shè)置為6下位機左移速度設(shè)置實際移動速度(點/秒)下位機左移速度設(shè)置實際移動速度(點/秒)1315252838311410414512517614621結(jié)果分析通過上面指標的分析,基本上達到本設(shè)計對速度的要求。選用高頻晶振其刷新速率越高,漢字閃爍越小,在同等條件下選用24M晶振和選用12M的晶振,前者比后者要更穩(wěn)定一些,存儲大量漢字編碼時必須采用外部的存儲器來實現(xiàn)漢字的存儲。(漢字移動圖片見附錄D)7總結(jié)經(jīng)過一段時間的畢業(yè)設(shè)計,終于完成了基于STC12C5A60S2單片機的LED顯示控制器的設(shè)計與實現(xiàn),項目所要求的功能基本達到。通過這次設(shè)計收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實際經(jīng)驗和制作過程中所發(fā)現(xiàn)的問題。從得知畢業(yè)論文題目之后,就到互聯(lián)網(wǎng)上對LED進行了詳細的資料收集,從技術(shù)和產(chǎn)業(yè)的兩方面對LED進行了解。通過了解我認識到LED是一門當今應(yīng)用非常廣泛的技術(shù),整個產(chǎn)業(yè)每年都會有巨大的產(chǎn)值而且技術(shù)還在不斷發(fā)展和創(chuàng)新。從設(shè)計之初就確定了參照大屏幕顯示屏的實現(xiàn)方法和實際情況設(shè)計一款小屏幕的LED點陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了題目的設(shè)計方案。整個設(shè)計采用STC12C5A60S2做核心控制器,采用兩片74HC38級聯(lián)控制行選,和16片75HC595級連控制列選,74HC245作為總線驅(qū)動器來控制行/列的控制端口實現(xiàn)點陣屏漢字顯示。在實現(xiàn)這一設(shè)計的過程中所遇到的問題和困難給我留下了寶貴的經(jīng)驗和深刻教訓(xùn)。這些經(jīng)驗和教訓(xùn)是:(1)、設(shè)計之前應(yīng)該進行大量的資料收集和分析,確定一個清晰的設(shè)計思路;(2)、器件選擇時要詳細閱讀器件使用手冊,不但要考慮器件的功能實現(xiàn)還要考慮器件在整個系統(tǒng)中的兼容性;(3)、硬件系統(tǒng)的建立必須合理和穩(wěn)定,實物建立之前最好進行仿真這樣才能為軟件提供一個可靠的試驗平臺;(4)、軟件的編寫不但要實現(xiàn)功能還要不端的優(yōu)化、簡練、易讀。雖然設(shè)計結(jié)束了,但學(xué)習(xí)還在繼續(xù)。我相信通過此次設(shè)計所得到的知識、心得、經(jīng)驗?zāi)酥粮惺芤矔屛以谝院蟮娜兆永锸芤娣藴\。參考文獻[1]關(guān)積珍.LED顯示屏發(fā)展狀況及趨勢[J].世界電子元器件,2000,(02):277-301.[2]關(guān)積珍,陸家和.我國LED顯示屏技術(shù)和產(chǎn)業(yè)發(fā)展及展望[J].現(xiàn)代顯示,2004,(02):34-37.[3]袁波,朱保華.LED顯示屏的應(yīng)用及發(fā)展狀況[J].中國電子報,2004,09:2-8.[4]王爾鎮(zhèn).我國LED及顯示屏的技術(shù)和市場概況[J].微電子技術(shù).1998,(06):1-10.[5]高春艷,俊民,彬彬.VisualBasic應(yīng)用開發(fā)完全手冊/明日科技編著[M].:人民郵電,2006.12:33-76.[6]朝青艷玲,怡麟.單片機與PC機網(wǎng)絡(luò)通信技術(shù)[M].:航空航天大學(xué),2007,2:1-110.[7]譚浩強.C程序設(shè)計(第二版)[M].:清華大學(xué),1999:12-56.[8]郭天祥.新概念51單片機C語言教程[M].:電子工業(yè),2009,1:178-184.[9]付軍.VisualBasic實用編程100例[M].:中國鐵道,2003,5:152-158.[10]長林.VisualBasic串口通信技術(shù)與典型實例[M].:清華大學(xué),2004:4-89.[11]周子琛,申振寧.用VB實現(xiàn)計算機與單片機的串行通信[J].半導(dǎo)體術(shù),2002,27(1):42-44.[12]Miscrosoft公司.VisualBasic6.0中文版語言參考手冊[M].:希望電腦公司希望圖書創(chuàng)作室,1999:1391-1394.[13]現(xiàn)勇.VisualC++串口通信技術(shù)與工程實踐(第二版)[M].:人民郵電出本社,2004.7:310-314.致畢業(yè)設(shè)計也接近尾聲,我的畢業(yè)設(shè)計也快完成了。在本次畢業(yè)設(shè)計中也遇到了許多的問題,從最初的找資料到方案論證都經(jīng)過了周老師的細心指導(dǎo),對我的畢業(yè)設(shè)計和論文提出了許多寶貴的意見在我們不懂的時候還特意為我講解,解開我的困惑。在此,謹向周老師表示衷心的感。感我的同學(xué)和朋友,在設(shè)計期間是他們給了我無限的幫助與協(xié)助。幫我解答各種設(shè)計和論文上的疑問,對我的設(shè)計提出許多有用的改進意見。在此一并感了。在設(shè)計和論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的意!附錄ALED顯示屏控制卡原理圖附錄BLED顯示屏控制卡PCB電路圖(頂層)(底層)附錄CVB上位機界面附錄D本設(shè)計顯示效果圖片(1)陽碼靜態(tài)顯示效果(2)低刷新率顯示移動效果(3)中速刷新顯示移動效果附錄E程序清單-.z.*include<reg52.h>*include"zimo.h"http://字模采用陰碼逐行顯示32*32*defineucharunsignedchar*defineuintunsignedint*defineSPEED2//定義速度4-6*defineLIGHT10//定義亮度:取值圍0--10*defineNUMBER7//定義要顯示總32*32漢字個數(shù),計算方法:NUMBER=漢字個數(shù)ucharword=0,col=0,coll=0,disrow=0;//wor為要顯字變量,col為位移變量,col1為字節(jié)偏移量,disrow為行變量ucharBUFF__UP[17];//上半屏顯示緩沖上下緩沖字節(jié)數(shù)取值=[2*板點陣寬度/8]+1比較保險,即兩倍板的點陣字節(jié)數(shù).ucharBUFFDOWN[17];//下半屏顯示緩沖sbitA=P1^0;sbitBB=P1^1;sbitC=P1^2;sbitD=P1^3;sbitR1=P1^5;sbitR2=P3^5;//綠色數(shù)據(jù)sbitCLK=P1^7;sbitSTB=P1^6;sbitOE=P0^1;//74HC138使能:低有效ucharRecive=1;//根據(jù)列指針由雙字節(jié)合并為單字節(jié)的子程序模塊ucharbine_2byte(ucharh1,ucharh2){ucharT_date,tempcol;tempcol=coll;T_date=(h1>>tempcol)|(h2<<(8-tempcol));returnT_date;}//分別裝載上、下半屏點陣數(shù)據(jù)voidLoad_one_line(void){BUFF__UP[0]=Table[word][disrow*4+0];//裝載上半屏一線點陣數(shù)據(jù)BUFF__UP[1]=Table[word][disrow*4+1];BUFF__UP[2]=Table[word][disrow*4+2];BUFF__UP[3]=Table[word][disrow*4+3];BUFF__UP[4]=Table[word+1][disrow*4+0];BUFF__UP[5]=Table[word+1][disrow*4+1];BUFF__UP[6]=Table[word+1][disrow*4+2];BUFF__UP[7]=Table[word+1][disrow*4+3];BUFF__UP[8]=Table[word+2][disrow*4+0];BUFF__UP[9]=Table[word+2][disrow*4+1];BUFF__UP[10]=Table[word+2][disrow*4+2];BUFF__UP[11]=Table[word+2][disrow*4+3];BUFF__UP[12]=Table[word+3][disrow*4+0];BUFF__UP[13]=Table[word+3][disrow*4+1];BUFF__UP[14]=Table[word+3][disrow*4+2];BUFF__UP[15]=Table[word+3][disrow*4+3];BUFF__UP[16]=Table[word+4][disrow*4+3];BUFFDOWN[0]=Table[word][64+disrow*4+0];//裝載下半屏一線點陣數(shù)據(jù)BUFFDOWN[1]=Table[word][64+disrow*4+1];BUFFDOWN[2]=Table[word][64+disrow*4+2];BUFFDOWN[3]=Table[word][64+disrow*4+3];BUFFDOWN[4]=Table[word+1][64+disrow*4+0];BUFFDOWN[5]=Table[word+1][64+disrow*4+1];BUFFDOWN[6]=Table[word+1][64+disrow*4+2];BUFFDOWN[7]=Table[word+1][64+disrow*4+3];BUFFDOWN[8]=Table[word+2][64+disrow*4+0];BUFFDOWN[9]=Table[word+2][64+disrow*4+1];BUFFDOWN[10]=Table[word+2][64+disrow*4+2];BUFFDOWN[11]=Table[word+2][64+disrow*4+3];BUFFDOWN[12]=Table[word+3][64+disrow*4+0];BUFFDOWN[13]=Table[word+3][64+disrow*4+1];BUFFDOWN[14]=Table[word+3][64+disrow*4+2];BUFFDOWN[15]=Table[word+3][64+disrow*4+3];BUFFDOWN[16]=Table[word+4][64+disrow*4+3];}//發(fā)送屏一線點陣數(shù)據(jù)voidSend_one_line(void){chars;ucharTEMP0,TEMP1,i,inc;bite1,e2;if(col<8)inc=0;if(8<=col&&col<16)inc=1;if(16<=col&&col<24)inc=2;if(24<=col&&col<32)inc=3;for(s=0+inc;s<=8+inc;s++){TEMP0=bine_2byte(BUFFDOWN[s],BUFFDOWN[s+1]);TEMP1=bine_2byte(BUFF__UP[s],BUFF__UP[s+1]);for(i=0;i<8;i++){e1=~(TEMP1>>i)&0*01;//取出最高位e2=~(TEMP0>>i)&0*01;//取出最高位//R1=e1;R2=e2;CLK=0;CLK=1;//移位時鐘} }}voiddelay(unsignedinti){unsignedintj;for(;i>0;i--){for(j=5;j>0;j--);}}voidPWM_LIGHT(ucharp)//亮度調(diào)整{OE=0;delay(p);OE=1;delay(10-p);}voidUART()interrupt4 {EA=1;if(RI)//RI接受中斷標志{RI=0;//清除RI接受中斷標志Recive=SBUF; //SUB緩沖器} EA=1;}//主函數(shù)入口voidmain(void){uchari;SCON=0*50;//REN=1允許串行接受狀態(tài),串口工作模式1 TMOD|=0*20;//定時器工作方式2 PCON|=0*80; TH1=0*E6; //波特率9600、數(shù)據(jù)位8、停止位1。效驗位無(12M)TL1=0*E6;TR1=1; ES=1;//開串口中斷 EA=1;//開總中斷 TR1=1;//啟動定時器1 PS=1;//串口中斷優(yōu)先R1=0;//數(shù)據(jù)初始化R2=0;while(1){ //循環(huán)16次,點亮并移動一個漢字,步進是一位for(col=0;col<32;col++)//循環(huán)32次,點亮并移動一個漢字,步進是一位,{ coll=col%8; for(i=0;i<SPEED;i++)//漢字在屏幕上的停留時間(即移動速度快慢) {for(disrow=0;disrow<16;disrow++)//掃描16行 {Load_one_line();//裝載上下兩屏各一線點陣數(shù)據(jù)Send_one_line();//發(fā)送一線點陣數(shù)據(jù)STB=0;STB=1;//輸出鎖存A=disrow&0*01;BB=disrow&0*02;C=disrow&0*04;D=disrow&0*08;PWM_LIGHT(LIGHT);}}}word=word+1;//一個漢字移動后,指向下一個漢字if(word>=NUMBER){word=0;//移動完NUMBER個漢字后重新開始}}}E2:下位機接收程序*include<reg52.h>*include<intrins.h>*defineucharunsignedchar*defineuintunsignedintsbitsda=P2^0;sbitscl=P2^1;voidstart();voidc64_init();voidstop();voidack();voidnoack();voidwrite(uchardate);voiddelay();voiddelay_ms(ucharz);voidwrite_date(ucharadd,uchardate);ucharread();ucharrea
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招標文件評審的策略與技巧3篇
- 安居房施工合同索賠期限3篇
- 居民區(qū)衛(wèi)生清潔協(xié)議3篇
- 新版砂石運輸合同協(xié)議3篇
- 安裝合同模板案例3篇
- 水利工程合同變更處理案例
- 酒店隔音墻建設(shè)合同
- 城市軌道交通招投標合同模板
- 畜牧業(yè)獸醫(yī)師技能考核協(xié)議
- 住宅小區(qū)排水設(shè)施更新協(xié)議
- 烘干煤泥合同范例
- 4.1.1陸地水體間的相互關(guān)系課件高中地理湘教版(2019)選擇性必修一
- 【MOOC】大學(xué)生心理學(xué)-中央財經(jīng)大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年廣西普法云平臺考試答案
- 2023-2024學(xué)年廣東省深圳市福田區(qū)八年級(上)期末英語試卷
- 實驗室組織機構(gòu)圖
- 2024年大學(xué)試題(歷史學(xué))-中國音樂史考試近5年真題集錦(頻考類試題)帶答案
- 2024智慧城市數(shù)據(jù)采集標準規(guī)范
- 寒假作業(yè)一年級上冊《數(shù)學(xué)每日一練》30次打卡
- 云南省2022年中考道德與法治真題試卷
- 初中綜合實踐活動《察探究活動-2.秸稈和落葉的有效處理》培優(yōu)課件-25
評論
0/150
提交評論