




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE 電氣與信息工程系課程設(shè)計(jì)任務(wù)書(shū)10/11學(xué)年 2學(xué)期11年6月3日專業(yè)電力系統(tǒng)自動(dòng)化班級(jí)電力09-9(1)課程名稱單片機(jī)原理設(shè)計(jì)題目LED點(diǎn)陣廣告牌設(shè)計(jì)指導(dǎo)教師起止時(shí)間2011-6-3周數(shù)1設(shè)計(jì)地點(diǎn)301設(shè)計(jì)目的:通過(guò)為期一周的單片機(jī)設(shè)計(jì),完成LED點(diǎn)陣廣告牌設(shè)計(jì)原理及調(diào)試運(yùn)行。設(shè)計(jì)任務(wù)或主要技術(shù)指標(biāo):1.設(shè)計(jì)一款能顯示不同字符的LED點(diǎn)陣廣告牌;2.設(shè)計(jì)不同的字符切換效果(閃爍,靜止,平移等);3.設(shè)計(jì)控制按鈕,可以在不同的效果間切換;*4.(創(chuàng)新功能)其他功能;設(shè)計(jì)進(jìn)度與要求:1.系統(tǒng)組成,確定,分析,系統(tǒng)框圖,應(yīng)用背景;2.硬件電路設(shè)計(jì)及原件清單;3.軟件設(shè)計(jì)及系統(tǒng)流程圖;4.
2、仿真調(diào)試;5.參考文獻(xiàn)及總結(jié);主要參考書(shū)及參考資料:1單片機(jī)原理及應(yīng)用:C語(yǔ)言版/周國(guó)運(yùn)主編.-北京:中國(guó)水利水電出版社,20092全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程.C語(yǔ)言程序設(shè)計(jì):2010年版/教育部考試中心.-北京:高等教育出版社,2007.8(2009重?。┙萄惺抑魅危ê灻┫担ú浚┲魅危ê灻┠暝氯照n程設(shè)計(jì)評(píng)定意見(jiàn)設(shè)計(jì)題目:LED點(diǎn)陣廣告牌設(shè)計(jì)學(xué)生姓名:王金濤專業(yè)電力系統(tǒng)自動(dòng)化班級(jí)電力09-9-(1) 評(píng)定意見(jiàn):評(píng)定成績(jī):指導(dǎo)教師(簽名):年月日評(píng)定意見(jiàn)參考提綱:1.學(xué)生完成的工作量與內(nèi)容是否符合任務(wù)書(shū)的要求。2.學(xué)生的勤勉態(tài)度。3.設(shè)計(jì)或說(shuō)明書(shū)的優(yōu)缺點(diǎn),包括:學(xué)生對(duì)理論知識(shí)的掌握程度、實(shí)踐
3、工作能力、表現(xiàn)出的創(chuàng)造性和綜合應(yīng)用能力等。摘要本設(shè)計(jì)使用AT89C51系列高速單片機(jī)作為主控制模塊,利用簡(jiǎn)單的外圍電路來(lái)驅(qū)動(dòng)1616的點(diǎn)陣LED顯示屏。利用AT89C51系列高速單片機(jī)本身強(qiáng)大的功能,可以很方便的實(shí)現(xiàn)單片機(jī)與PC機(jī)間的數(shù)據(jù)傳輸及存儲(chǔ),并能利用軟件方便的進(jìn)行顯示內(nèi)容的多樣變化,另一方面點(diǎn)陣顯示廣告牌廣泛的應(yīng)用于醫(yī)院、機(jī)場(chǎng)、銀行等公共場(chǎng)所,所以本設(shè)計(jì)具有很強(qiáng)的現(xiàn)實(shí)應(yīng)用性。本LED顯示廣告牌能夠以動(dòng)態(tài)掃描的方式同時(shí)顯示4個(gè)1616點(diǎn)陣漢字,并能通過(guò)上位機(jī)軟件修改顯示內(nèi)容和顯示效果等等。把字符內(nèi)碼存儲(chǔ)在空閑的單片機(jī)程序存儲(chǔ)器空間,使本LED顯示系統(tǒng)能掉電存儲(chǔ)1024個(gè)字符。設(shè)計(jì)中采用了
4、SPI接口的GB2312標(biāo)準(zhǔn)字庫(kù),支持所有的國(guó)標(biāo)字符和ASC = 2 * ROMAN II標(biāo)準(zhǔn)字符的顯示。因?yàn)椴捎么袀鬏敺绞?,使本系統(tǒng)的可擴(kuò)展性得到提升,便于多個(gè)顯示單元的級(jí)聯(lián)。本文從LED的顯示原理入手,詳細(xì)闡述了LED動(dòng)態(tài)顯示的過(guò)程,以及硬件電路的設(shè)計(jì)、計(jì)算和軟件的算法。關(guān)鍵詞:動(dòng)態(tài)顯示;單片機(jī);點(diǎn)陣字庫(kù)目錄TOC o 1-3 h z u HYPERLINK l _Toc2948一八140 1 LED概述 PAGEREF _Toc2948一八140 h 1 HYPERLINK l _Toc2948一八141 1.1 LED電子顯示屏概述 PAGEREF _Toc2948一八141 h 1
5、 HYPERLINK l _Toc2948一八142 2 顯示原理及控制方式分析 PAGEREF _Toc2948一八142 h 2 HYPERLINK l _Toc2948一八143 2.1 LED點(diǎn)陣模塊結(jié)構(gòu) PAGEREF _Toc2948一八143 h 2 HYPERLINK l _Toc2948一八144 2.2 LED 動(dòng)態(tài)顯示原理 PAGEREF _Toc2948一八144 h 3 HYPERLINK l _Toc2948一八145 2.3 LED常見(jiàn)的控制方式 PAGEREF _Toc2948一八145 h 4 HYPERLINK l _Toc2948一八146 3 系統(tǒng)硬件概
6、述 PAGEREF _Toc2948一八146 h 5 HYPERLINK l _Toc2948一八147 3.1單片機(jī)簡(jiǎn)介 PAGEREF _Toc2948一八147 h 5 HYPERLINK l _Toc2948一八148 3.1.1 單片機(jī)概念 PAGEREF _Toc2948一八148 h 6 HYPERLINK l _Toc2948一八149 3.1.2 單片機(jī)的發(fā)展史 PAGEREF _Toc2948一八149 h 6 HYPERLINK l _Toc2948一八一五0 3.1.3單片機(jī)的特點(diǎn) PAGEREF _Toc2948一八一五0 h 7 HYPERLINK l _Toc2
7、948一八一五1 3.1.4主控單片機(jī)的接口說(shuō)明 PAGEREF _Toc2948一八一五1 h 7 HYPERLINK l _Toc2948一八一五2 3.2 74HC一三8譯碼器 PAGEREF _Toc2948一八一五2 h 8 HYPERLINK l _Toc2948一八一五3 3.3 1616LED點(diǎn)陣顯示制作 PAGEREF _Toc2948一八一五3 h 9 HYPERLINK l _Toc2948一八一五4 3.3.1 1616LED點(diǎn)陣的內(nèi)部結(jié)構(gòu)及工作原理 PAGEREF _Toc2948一八一五4 h 9 HYPERLINK l _Toc2948一八一五5 3.3.2 用8
8、8LED點(diǎn)陣構(gòu)成1616LED點(diǎn)陣 PAGEREF _Toc2948一八一五5 h 10 HYPERLINK l _Toc2948一八一五6 3.4 LED顯示驅(qū)動(dòng)電路 PAGEREF _Toc2948一八一五6 h 11 HYPERLINK l _Toc2948一八一五7 4 字模生成 PAGEREF _Toc2948一八一五7 h 一三 HYPERLINK l _Toc2948一八一五8 4.1 字模簡(jiǎn)介 PAGEREF _Toc2948一八一五8 h 一三 HYPERLINK l _Toc2948一八一五9 4.1.1 LED顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù) PAGEREF _Toc2948一八一
9、五9 h 一三 HYPERLINK l _Toc2948一八160 4.1.2 軟件控制系統(tǒng)字模提取的分析與設(shè)計(jì) PAGEREF _Toc2948一八160 h 一三 HYPERLINK l _Toc2948一八161 4.2 字模存儲(chǔ)技術(shù) PAGEREF _Toc2948一八161 h 14 HYPERLINK l _Toc2948一八162 4.3 字庫(kù)生成 PAGEREF _Toc2948一八162 h 一五 HYPERLINK l _Toc2948一八163 5軟件設(shè)計(jì) PAGEREF _Toc2948一八163 h 16 HYPERLINK l _Toc2948一八164 5.1 程
10、序設(shè)計(jì)總體思路和結(jié)構(gòu) PAGEREF _Toc2948一八164 h 16 HYPERLINK l _Toc2948一八165 5.1.1 程序設(shè)計(jì)總體思路 PAGEREF _Toc2948一八165 h 16 HYPERLINK l _Toc2948一八166 5.1.2 程序流程圖 PAGEREF _Toc2948一八166 h 16 HYPERLINK l _Toc2948一八167 5.2 各模塊程序設(shè)計(jì) PAGEREF _Toc2948一八167 h 17 HYPERLINK l _Toc2948一八168 5.2.1 系統(tǒng)初始化程序: PAGEREF _Toc2948一八168 h
11、 17 HYPERLINK l _Toc2948一八169 5.2.2 LED動(dòng)態(tài)顯示 PAGEREF _Toc2948一八169 h 一八 HYPERLINK l _Toc2948一八170 5.2.3 字符顯示的原理 PAGEREF _Toc2948一八170 h 19 HYPERLINK l _Toc2948一八171 5.3系統(tǒng)功能測(cè)試 PAGEREF _Toc2948一八171 h 19 HYPERLINK l _Toc2948一八172 5.3.1 單元模塊電路測(cè)試 PAGEREF _Toc2948一八172 h 19 HYPERLINK l _Toc2948一八173 5.3.2
12、 系統(tǒng)整體功能測(cè)試 PAGEREF _Toc2948一八173 h 19 HYPERLINK l _Toc2948一八174 總結(jié) PAGEREF _Toc2948一八174 h 21 HYPERLINK l _Toc2948一八175 致謝 PAGEREF _Toc2948一八175 h 22 HYPERLINK l _Toc2948一八176 附錄A PAGEREF _Toc2948一八176 h 23 HYPERLINK l _Toc2948一八177 附錄B PAGEREF _Toc2948一八177 h 24 HYPERLINK l _Toc2948一八178 參考文獻(xiàn) PAGERE
13、F _Toc2948一八178 h 34LED點(diǎn)陣廣告牌設(shè)計(jì)PAGE 511 LED概述1.1 LED電子顯示屏概述LED(Light Emitting Diode),發(fā)光二極管,簡(jiǎn)稱LED,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見(jiàn)光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的心臟是一個(gè)半導(dǎo)體的晶片,晶片的一端附在一個(gè)支架上,一端是負(fù)極,另一端連接電源的正極使整個(gè)晶片被環(huán)氧樹(shù)脂封裝起來(lái)。半導(dǎo)體晶片由兩部分組成,一部分是P型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是N興辦導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來(lái)的時(shí)候,它們之間就形成一個(gè)“P-N結(jié)”。當(dāng)電流通過(guò)導(dǎo)線作用于這個(gè)晶片的時(shí)候,電子就會(huì)被推
14、向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)陣(如1616 點(diǎn)陣),將點(diǎn)陣文件存入ROM,形成新的漢字編碼;而在使用時(shí)則需要先根據(jù)新的漢字編碼組成語(yǔ)句,再由MCU根據(jù)新編碼提取相應(yīng)的點(diǎn)陣進(jìn)行漢字顯示。LED點(diǎn)陣顯示具有如下特點(diǎn):(1)電壓:LED使用低壓電源,供電電壓在6-24V之間,根據(jù)產(chǎn)品不同而異,所以它是一種比使用高壓電源更安全的電
15、源。(2)效能:消耗能量比同光效的白熾燈減少80%。(3)適用性:每個(gè)單元LED小片是3-5mm的正方形,所以可以制備成各種形狀的器件,并且適合于易變的環(huán)境。(4)穩(wěn)定性:10萬(wàn)小時(shí),光衰為初始的50%。(5)響應(yīng)時(shí)間:其白熾燈的響應(yīng)時(shí)間為毫秒級(jí),LED燈的響應(yīng)時(shí)間為納秒級(jí)。(6)對(duì)環(huán)境污染:無(wú)有害金屬汞。(7)顏色:改變電流可以變色,發(fā)光二極管方便地通過(guò)化學(xué)修飾方法,調(diào)整材料的能帶結(jié)構(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%左右。(2)
16、、顯示應(yīng)用:指示牌、廣告牌、大屏幕顯示等, LED用于顯示屏幕的應(yīng)用約占LED應(yīng)用的20%25%,顯示屏幕可分為單色和彩色。(3)、照明應(yīng)用:便攜燈具,汽車用燈,特殊照明。由于LED尺寸小,便于動(dòng)態(tài)的亮度和顏色控制,因此比較適合用于建筑裝飾照明。背光照明:普通電子設(shè)備功能顯示背光源、筆記本電腦背光源、大尺寸超大尺寸LCD顯示器背光源等。以及投影儀用RGB光源。LED電子顯示屏(Light Emitting Diode Panel)是由幾百-幾十萬(wàn)個(gè)半導(dǎo)體發(fā)光二極管構(gòu)成的像素點(diǎn),按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩的LED像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠
17、色LED的開(kāi)發(fā)已經(jīng)達(dá)到了實(shí)用階段。 LED顯示屏是一種通過(guò)控制半導(dǎo)體發(fā)光二極管的亮度的方式,來(lái)顯示文字、圖形、圖像、動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。LED顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。1.2 LED電子顯示屏的分類按顏色分類:?jiǎn)位@示屏:單一顏色(紅色或綠色)。雙基色顯示屏:紅和綠雙基色,256級(jí)灰度、可以顯示65536種顏色。全彩色顯示屏:紅、綠、藍(lán)三基色,256級(jí)灰度的全彩色顯示屏可以顯示一千六百多萬(wàn)種顏色。按顯示器件分類: LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時(shí)鐘屏、
18、利率屏等,顯示數(shù)字的電子顯示屏。LED點(diǎn)陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點(diǎn)陣顯示模塊,適于播放文字、圖像信息。2 顯示原理及控制方式分析2.1 LED點(diǎn)陣模塊結(jié)構(gòu)八十年代以來(lái)出現(xiàn)了LED點(diǎn)陣組合型模塊,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹(shù)脂和塑模封裝而成。這種一體化封裝的點(diǎn)陣LED模塊,具有高亮度、引腳少、視角大、壽命長(zhǎng)、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。LED點(diǎn)陣規(guī)模常見(jiàn)的有44、48、57、58、88、1616等等。根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、圖象等內(nèi)容的顏色也不同。單色點(diǎn)陣只能顯示固定色彩如紅、綠、
19、黃等單色,雙基色和三基色點(diǎn)陣顯示內(nèi)容的顏色由像素內(nèi)不同顏色發(fā)光二極管點(diǎn)亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯示黃色,如果按照脈沖方式控制二極管的點(diǎn)亮?xí)r間,則可實(shí)現(xiàn)256或更高級(jí)灰度顯示,即可實(shí)現(xiàn)真彩色顯示。圖2.1示出最常見(jiàn)的88單色LED點(diǎn)陣顯示器的內(nèi)部電路結(jié)構(gòu)和外型規(guī)格,其它型號(hào)點(diǎn)陣的結(jié)構(gòu)與引腳可試驗(yàn)獲得。圖2.188單色LED模塊內(nèi)部電路LED點(diǎn)陣顯示器單塊使用時(shí),既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號(hào)如5x7點(diǎn)陣顯示器用于顯示西文字母58點(diǎn)陣顯示器用于顯示中西文,8x8點(diǎn)陣可以用于顯示簡(jiǎn)單的中文文字,也可用于簡(jiǎn)單圖形顯示。用多塊點(diǎn)陣顯示器組合則可構(gòu)成大屏幕顯示器,但這類實(shí)用裝置常
20、通過(guò)PC機(jī)或單片機(jī)控制驅(qū)動(dòng)。2.2 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)掃描顯示方式,這種顯示方式巧妙地利用了人眼的視覺(jué)暫留特性。將連續(xù)的幾幀畫(huà)面高速的循環(huán)顯示,只要幀速率高于24幀/秒,人眼看起來(lái)就是一個(gè)完整的,相對(duì)靜止的畫(huà)面。最典型的例子就是
21、電影放映機(jī)。在電子領(lǐng)域中,因?yàn)檫@種動(dòng)態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號(hào)線數(shù)量,因此在LED顯示技術(shù)中被廣泛使用。以88點(diǎn)陣模塊為例,說(shuō)明一下其使用方法及控制過(guò)程。圖2.1中,紅色水平線Y0、Y1Y7叫做行線,接內(nèi)部發(fā)光二極管的陽(yáng)極,每一行8個(gè)LED的陽(yáng)極都接在本行的行線上。相鄰兩行線間絕緣。同樣,藍(lán)色豎直線X0、X1X7叫做列線,接內(nèi)部每列8個(gè)LED的陰極,相鄰兩列線間絕緣。在這種形式的LED點(diǎn)陣模塊中,若在某行線上施加高電平(用“1”表示),在某列線上施加低電平(用“0”表示)。則行線和列線的交叉點(diǎn)處的LED就會(huì)有電流流過(guò)而發(fā)光。比如,Y7為1,X0為0,則右下角的LED點(diǎn)亮。再如Y0
22、為1,X0到X7均為0,則最上面一行8個(gè)LED全點(diǎn)亮?,F(xiàn)描述一下用動(dòng)態(tài)掃描顯示的方式,顯示字符“B”的過(guò)程。其過(guò)程如圖2.2圖2.2 用動(dòng)態(tài)掃描顯示字符“B”的過(guò)程2.3 LED常見(jiàn)的控制方式目前常見(jiàn)的是并行傳輸方式,通過(guò)8位鎖存器將8位總線上的列數(shù)據(jù)進(jìn)行鎖存顯示,各8位鎖存器的片選信號(hào)由譯碼器提供。此種方式的優(yōu)點(diǎn)是傳輸速度快,對(duì)微控制器(MCU)的通信速度要求較低。但是這種方案最大的缺點(diǎn)是不便于隨意擴(kuò)展顯示單元的數(shù)目。每增加一個(gè)1616點(diǎn)陣的全角漢字顯示單元,就需要在之前的電路上多增加兩根地址線,這就要求在PCB布線的時(shí)候要留有充足的地址線冗余量。再一個(gè)缺點(diǎn)是,每個(gè)單元的PCB隨著安放位置的
23、不同,布線結(jié)構(gòu)也不相同,不利于廠家批量生產(chǎn)。并行傳輸需要的芯片較多,因此市場(chǎng)上已經(jīng)出現(xiàn)用FPGA,CPLD等高密度可編程邏輯器件(PLD)來(lái)取代傳統(tǒng)鎖存器IC的方案。成本有所下降,但可擴(kuò)展性仍舊較差。因此,并行傳輸方式適用于顯示單元數(shù)目確定的條屏。隨著廣告屏顯示內(nèi)容的多媒體化,對(duì)控制器傳輸速度,運(yùn)算能力的要求越來(lái)越高。因此控制器的種類也在不斷發(fā)展以適應(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)顯示的刷新率不可能做得太高。
24、對(duì)顯示效果和移動(dòng)算法的處理也比較吃力,在實(shí)際顯示效果上有比較明顯的閃爍感。除此之外,傳統(tǒng)8051單片機(jī)的內(nèi)部資源貧乏,僅128字節(jié)的數(shù)據(jù)存儲(chǔ)器,幾K字節(jié)的程序存儲(chǔ)器,無(wú)E2PROM,SPI。這就需要對(duì)單片機(jī)擴(kuò)展外設(shè),無(wú)疑增加了硬件成本。因此,8051控制的條屏只能用于顯示內(nèi)容及其簡(jiǎn)單,不需要經(jīng)常更改顯示內(nèi)容的場(chǎng)合。二以PIC單片機(jī)為控制器的LED顯示屏。因PIC單片機(jī)是RISC架構(gòu)的工業(yè)專用單片機(jī),處理指令的速度有所增加,抗干擾能力優(yōu)秀,型號(hào)種類繁多。作為條屏的控制器,可以明顯的改善顯示效果,同時(shí)PIC單片機(jī)內(nèi)部的資源較豐富,可節(jié)省外部電路設(shè)計(jì)難度,同時(shí)降低了硬件成本。因此,以PIC單片機(jī)為控
25、制器的條屏目前仍是單色條屏市場(chǎng)的主流。三以FPGA(復(fù)雜可編程邏輯門陣列)為控制器的LED顯示屏。FPGA以高速、并行著稱。是近年來(lái)新興的可編程邏輯器件。用他作為L(zhǎng)ED顯示屏的控制器,能夠高速的處理色階PWM信號(hào)、高速的完成動(dòng)態(tài)掃描邏輯、高速的完成字符移動(dòng)算法。因此被運(yùn)用于雙基色、三基色的顯示系統(tǒng)。但是其成本較高,開(kāi)發(fā)難度較大。四以ARM(32位RISC架構(gòu)高性能微處理器)為控制器的LED顯示屏。ARM有著極高的指令效率,極高的時(shí)鐘頻率。因此其運(yùn)算能力非常強(qiáng)大,內(nèi)部資源也十分豐富,極大的簡(jiǎn)化了硬件設(shè)計(jì)的難度,縮短了開(kāi)發(fā)周期。在條屏的運(yùn)用中,能用ARM來(lái)實(shí)現(xiàn)花樣繁多的顯示方式,以及高色階,多像素
26、的全彩屏驅(qū)動(dòng)。ARM與FPGA的組合更是功能強(qiáng)大,除了海量存儲(chǔ)技術(shù),無(wú)線更新技術(shù)外,還能實(shí)時(shí)地顯示視頻信號(hào)。因此,以ARM為控制器的顯示屏常為視頻全彩屏。3系統(tǒng)硬件概述整個(gè)電路由單片機(jī)89C51,4個(gè)74HC一三8,1個(gè)1616的LED組成。該電路所設(shè)計(jì)的電子屏可顯示多個(gè)字符。3.1單片機(jī)簡(jiǎn)介AT89C51是一種帶4KB可編程可擦除只讀存儲(chǔ)器的低電壓,高性能微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89
27、C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51引腳即外觀如圖3.1所示。圖3.1 AT89C51的管腳圖3.1.1單片機(jī)概念單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)(Single Chip Microsoftcomputer)。從應(yīng)用領(lǐng)域來(lái)看,單片機(jī)主要用來(lái)控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的基本部件微型化并集成在一塊芯片上的微型計(jì)算機(jī)。3.1.2單片機(jī)的發(fā)展史1975年,美國(guó)德克薩斯儀器公司首次推出4位單片機(jī)TMS-1000;此后,各個(gè)
28、計(jì)算機(jī)公司競(jìng)相推出四位單片機(jī)。日本松下公司的MN1400系列,美國(guó)洛克威爾公司的PPS/1系列等。四位單片機(jī)的主要應(yīng)用領(lǐng)域有:PC機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。1972年,美國(guó)Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機(jī)。在這以后,8位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的3870系列,摩托羅拉公司生產(chǎn)的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單片機(jī)相繼問(wèn)世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格
29、公司的Z8系列,1979年NEC公司的UPD78XX系列。這類單片機(jī)的尋址能力達(dá)64KB,片內(nèi)ROM容量達(dá)4-8KB,片內(nèi)除帶有并行IO口外,還有串行IO口,甚至還有AD轉(zhuǎn)化器功能。8位單片機(jī)由于功能強(qiáng),被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接口、過(guò)程控制、通信、家用電器等各個(gè)領(lǐng)域。1983年以后,集成電路的集成度可達(dá)幾十萬(wàn)只管/片,各系列16位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國(guó)國(guó)家半導(dǎo)體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)
30、備等場(chǎng)合。20世紀(jì)80年代末推出了32位單片機(jī),如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來(lái)流行的ARM系列單片機(jī)。32位單片機(jī)是單片機(jī)的發(fā)展趨勢(shì),隨著技術(shù)的發(fā)展及開(kāi)發(fā)成本和產(chǎn)品價(jià)格的下降。近年來(lái),64位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語(yǔ)音圖像通信,算法密集的實(shí)時(shí)控制場(chǎng)合已有應(yīng)用,如英國(guó)Inmos公司的Transputer T800是高性能的64位單片機(jī)。3.1.3單片機(jī)的特點(diǎn)1)單片機(jī)的存儲(chǔ)器ROM和RAM時(shí)嚴(yán)格區(qū)分的。ROM稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。2)采用面向控制的指令
31、系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。3)單片機(jī)的I/O口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來(lái)設(shè)置或由機(jī)器狀態(tài)來(lái)區(qū)分。3.1.4主控單片機(jī)的接口說(shuō)明P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)制用口,作為輸入口時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫(xiě)入“1可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期激活內(nèi)部上拉電阻。在Flash編程時(shí),P
32、O口接收指令節(jié),而在程序校檢時(shí),輸出指令字節(jié),校檢時(shí),要求外接上拉電阻。P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。Flash編程和程序校檢期間,P1接收低8位地址。P2口:P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,
33、某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)(例如執(zhí)行MOVXxDPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXxRI指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。Flash編程和校檢時(shí),P2亦接收高位地址和其他控制信號(hào)。P3口:P3口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作輸入端口,作輸入端時(shí),被外部拉低的P3口將用上拉電阻,輸出電流I。P3
34、口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校檢的控制信號(hào)。RST:復(fù)位輸入,當(dāng)震蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于所存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE乃以時(shí)鐘振動(dòng)頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。3.2 74HC一三8譯碼器譯碼器是組合邏輯電路的一個(gè)重要的器件,74HC一三8的輸出是低電平有效,故實(shí)現(xiàn)邏輯功能時(shí),輸出端不可接或門及或非門,74HC一三8與前面不同,其有
35、使能端,故使能端必須加以處理,否則無(wú)法實(shí)現(xiàn)需要的邏輯功能。發(fā)光二極管點(diǎn)亮只須使其正向?qū)纯?,根?jù)LED的公共極是陽(yáng)極還是陰極分為兩類譯碼器,即針對(duì)共陽(yáng)極的低電平有效的譯碼器;針對(duì)共陰極LED的高電平輸出有效的譯碼器。74HC一三8譯碼器管腳如圖3.2所示。圖3.23.3 1616LED點(diǎn)陣顯示制作3.3.1 1616LED點(diǎn)陣的內(nèi)部結(jié)構(gòu)及工作原理以UCDOS中文宋體字庫(kù)為例,每一個(gè)字由16行16列的點(diǎn)陣組成顯示。即國(guó)家標(biāo)準(zhǔn)漢字庫(kù)中的每一個(gè)字均由256點(diǎn)陣來(lái)表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的
36、任何圖形。這里我們以“高”字說(shuō)明,如圖3.3所示。圖3.3 16*16LED漢字顯示用8位的AT89C51單片機(jī)控制,由于單片機(jī)的總線為8位,一個(gè)字需要拆分為2個(gè)部分。一般把它拆分為上部和下部,上部由816點(diǎn)陣組成,下部也由816點(diǎn)陣組成。在本例中單片機(jī)首先顯示的是左上角的第一列的上半部分,即第0列的p00p07口。方向?yàn)閜00到p07 ,顯示漢字“高”時(shí),p02點(diǎn)亮,由上往下排列,為p0.0 滅,p0.1 滅, p0.2 滅, p0.3 滅, p0.4 滅, p0.5 亮,p0.6滅,p0.7 滅。即二進(jìn)制00000100,轉(zhuǎn)換為16進(jìn)制為 04h。上半部第一列完成后,繼續(xù)掃描下半部的第一列
37、,為了接線的方便,我們?nèi)栽O(shè)計(jì)成由上往下掃描,即從p27向p20方向掃描,從上圖可以看到,這一列全部為不亮,即為00000000,16進(jìn)制則為00h。然后單片機(jī)轉(zhuǎn)向上半部第二列,仍為p01點(diǎn)亮,為00000100,即16進(jìn)制04h.這一列完成后繼續(xù)進(jìn)行下半部分的掃描,p20點(diǎn)亮,為二進(jìn)制00000010,即16進(jìn)制02h.依照這個(gè)方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個(gè)8位,可以得出漢字“高”的掃描代碼為02h,00h,01h, 04h,0FFh,0FEh, 00h,00h,1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h,00h, 04h, 7Fh,0FEh, 40
38、h, 04h, 4Fh,0E4h,48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。由這個(gè)原理可以看出,無(wú)論顯示何種字體或圖像,都可以用這個(gè)方法來(lái)分析出它的掃描代碼從而顯示在屏幕上。不過(guò)現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件,就不必自己去畫(huà)表格算代碼了。3.3.2用88LED點(diǎn)陣構(gòu)成1616LED點(diǎn)陣Proteus中只有57和88等LED點(diǎn)陣,并沒(méi)有1616LED點(diǎn)陣,而在實(shí)際應(yīng)用中,要良好地顯示一個(gè)漢字,則至少需要1616點(diǎn)陣。下面我們就首先介紹使用88點(diǎn)陣構(gòu)建1616點(diǎn)陣的方法,并構(gòu)建一塊1616LED點(diǎn)陣,用于本例的顯示任務(wù)。首先,從Proteus7.1的元件庫(kù)中找
39、到“MATRIX-8X8-RED”元器件,并將四塊該元器件放入Proteus文檔區(qū)編輯窗口中。此時(shí)需要注意,如果該元器件保持初始的位置(沒(méi)有轉(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)度的引腳,以便下面我們使用。連接好的1616點(diǎn)陣如圖3.4所示。圖圖3.4 點(diǎn)陣模塊組合成如下圖的1616點(diǎn)陣只是第一步,這樣分開(kāi)的數(shù)塊并不能達(dá)到好的顯示效果,下面我們要將其進(jìn)一步
40、組合。組合實(shí)際上很簡(jiǎn)單,首先選中如上圖中右側(cè)的兩塊88點(diǎn)陣,然后拖動(dòng)并使其與左側(cè)的兩塊相并攏,如圖3.5所示。圖3.5可以看到原來(lái)的連線已經(jīng)自動(dòng)隱藏了,至于線上的交點(diǎn),我們不要去動(dòng)。然后,我們?cè)賮?lái)最后一步,選中下側(cè)的兩塊點(diǎn)陣,并拖動(dòng)使其與上側(cè)的兩塊并攏,最后的效果如圖3.6所示??吹?原來(lái)雜亂的連線現(xiàn)在已經(jīng)幾乎全部隱藏了,一塊1616的LED點(diǎn)陣做成了。需要注意,做成的LED點(diǎn)陣的行線為左側(cè)的16個(gè)引腳,下側(cè)的16個(gè)引腳為其列線,而且其行線為高電平有效,列線為低電平有效。然后,我們將其保存,以便以后使用。圖3.63.4 LED顯示驅(qū)動(dòng)電路LED顯示驅(qū)動(dòng)電路如圖3.7所示。圖3.7顯示驅(qū)動(dòng)電路圖
41、4 字模生成4.1 字模簡(jiǎn)介文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的各位信息來(lái)記載英文或漢字的形狀1。在電腦硬件中,根本沒(méi)有漢字這個(gè)概念,也沒(méi)有英文的概念,其認(rèn)識(shí)的概念只有內(nèi)碼(將ASCII表的高128個(gè)很少用到的數(shù)值以兩個(gè)為一組來(lái)表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼)。如果你用啟動(dòng)盤啟動(dòng)系統(tǒng)后用DIR命令可能得到一串串莫名其妙的字符,但那確確實(shí)實(shí)是漢字,如果你啟動(dòng)UCDOS或其他的漢字系統(tǒng)后,就會(huì)看到那是一個(gè)個(gè)熟悉的漢字。在硬件系統(tǒng)內(nèi),英文的字模信息一般固化在ROM里,即使在沒(méi)有進(jìn)入系統(tǒng)的CMOS里,也可以讓你看到英文字
42、符。而在DOS下,中文的字模信息一般記錄在漢字庫(kù)文件里(將制作好的字模放到一個(gè)個(gè)標(biāo)準(zhǔn)的庫(kù)中,這就是點(diǎn)陣字庫(kù)文件)。4.1.1 LED顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù)在通過(guò)軟件實(shí)現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件打開(kāi)后輸入漢字,點(diǎn)“檢取”,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動(dòng)生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。在通過(guò)硬件實(shí)現(xiàn)字模提取的技術(shù)中,有在單片機(jī)系統(tǒng)中增加硬漢字庫(kù)的方法,主控器發(fā)送的漢字是其機(jī)內(nèi)碼,用兩個(gè)字節(jié)來(lái)表示一個(gè)漢字。根據(jù)機(jī)內(nèi)碼,顯示單元控制模塊從漢字庫(kù)中查取顯示字模,實(shí)現(xiàn)漢字顯示。由于帶有硬漢字庫(kù),進(jìn)行動(dòng)態(tài)文字顯示時(shí),通用智能顯示單元僅接受漢字的機(jī)內(nèi)碼即可,這樣數(shù)據(jù)通訊量大大
43、減少。因此,“動(dòng)態(tài)文字顯示速度快”。4.1.2軟件控制系統(tǒng)字模提取的分析與設(shè)計(jì)而在LED顯示屏控制系統(tǒng)具體應(yīng)用的Windows操作系統(tǒng)下如何提取字模信息是設(shè)計(jì)的核心。軟件控制系統(tǒng)在實(shí)際編輯過(guò)程中,要求各種字體、字號(hào)的文字都能被編輯、保存。所以系統(tǒng)在設(shè)計(jì)時(shí),把文本區(qū)理解為由眾多的象素點(diǎn)構(gòu)成,而把不同字體、字號(hào)的文字理解為一幅圖像。因?yàn)樗_(kāi)啟的文本區(qū)大小與LED顯示屏的大小對(duì)應(yīng),所以采用1616點(diǎn)陣為單位,把文本區(qū)內(nèi)的每個(gè)像素點(diǎn)都看成一個(gè)二維數(shù)組,由于系統(tǒng)中各種顏色都有對(duì)應(yīng)的值,賦予每個(gè)不同顏色的像素點(diǎn)不同的對(duì)應(yīng)值,再把每個(gè)點(diǎn)賦予一個(gè)int型的值,這樣保存下來(lái)的信息就是二進(jìn)制數(shù)據(jù)。通過(guò)這樣的設(shè)計(jì),
44、我們不僅可以把任何字型,任何大小的文字保存下來(lái),還可以顯示以256個(gè)像素點(diǎn)陣為單位的任何圖形。在軟件控制系統(tǒng)中實(shí)現(xiàn)字模的提取,也就避免了在單片機(jī)中加載硬漢字庫(kù)模塊,從而簡(jiǎn)化了硬件模塊的設(shè)計(jì)。以下以單色屏為例,介紹系統(tǒng)采用字模保存的算法設(shè)計(jì):定義COLORREF zimo color為像素點(diǎn)的顏色,判斷某個(gè)點(diǎn)的顏色值。如果值為0 xffffff,說(shuō)明此點(diǎn)為白色,賦予此點(diǎn)值0。由于單色屏只有紅色和不顯色兩種,所以可以簡(jiǎn)單賦值為除白色外其余點(diǎn)賦值為1CClientDC dc(this); CFile myfile;unsigned int zimo192 384=0;unsigned char zi
45、mo_data19248=0; COLORREF zimo_color; int row, col ; this -HideCaret(); for (row=0;row192;row+) for (col=0;col384;col+) zimo_color=do.GetPixel (col, row); if (zimo color = =Oxffffff) zimo row col=0;else zimo row col=1;定義unsigned int zimo192384=0;/文本區(qū)像素點(diǎn)以8位為一字節(jié)(因?yàn)樵陔S后的串行通訊中,傳輸?shù)臄?shù)據(jù)是8位的二進(jìn)制數(shù)據(jù))定義 unsigned c
46、har zimo_data19248=04.2 字模存儲(chǔ)技術(shù)目前使用最廣泛的技術(shù)是,通過(guò)上位機(jī)軟件將待顯示的字符串轉(zhuǎn)換為對(duì)應(yīng)的點(diǎn)陣字模數(shù)據(jù),通過(guò)燒寫(xiě)的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲(chǔ)在E2PROM中。在條屏顯示的過(guò)程中按規(guī)定的方式取出E2PROM中的字模數(shù)據(jù)進(jìn)行處理。對(duì)于一個(gè)1616點(diǎn)陣的漢字字模數(shù)據(jù),需要連續(xù)32字節(jié)的E2PROM空間來(lái)存儲(chǔ)。照此計(jì)算,若有256個(gè)需要顯示的字符,則至少需要32B256=8192字節(jié)(8KB)的E2PROM存儲(chǔ)空間。通常的單片機(jī)內(nèi)部沒(méi)有集成這么大容量的E2PROM。因此這種方案,需要在單片機(jī)外部擴(kuò)展大容量的E2PROM,增加硬件成本。上位機(jī)程序設(shè)計(jì)由于
47、涉及到漢字取模,取模算法的難度較大。在多字下載的時(shí)候傳輸時(shí)間也較長(zhǎng)。諸多弊端使本設(shè)計(jì)放棄了傳統(tǒng)方案。而本設(shè)計(jì)創(chuàng)新使用了專用的點(diǎn)陣字庫(kù)芯片,成本僅為8元,內(nèi)含各種點(diǎn)陣規(guī)格的GB2312、ASCII等標(biāo)準(zhǔn)字庫(kù)。專用字庫(kù)芯片采用微型SO-8封裝,使用高速同步串行SPI接口進(jìn)行讀寫(xiě)操作,節(jié)省了控制器的I/O。在本設(shè)計(jì)中,單片機(jī)內(nèi)部的小容量E2PROM,用于存儲(chǔ)待顯示漢字的GB2312標(biāo)準(zhǔn)機(jī)內(nèi)碼,每個(gè)全角字符的內(nèi)碼占2字節(jié),則在同樣需要顯示256個(gè)漢字的情況下,這種方案僅占用512字節(jié)的E2PROM空間4.3 字庫(kù)生成因?yàn)楸驹O(shè)計(jì)中為行掃描,列輸入,所以“魏”的自摸代碼為:DB 49H,40H,4AH,5
48、1H,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“佳”字代碼為:DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22HDB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H5軟件設(shè)計(jì)5.1 程序設(shè)計(jì)總體思路和結(jié)構(gòu)5.1.1程序設(shè)計(jì)總體思路用c語(yǔ)言程
49、序設(shè)計(jì),實(shí)現(xiàn)LED點(diǎn)陣顯示內(nèi)容,并使顯示的內(nèi)容在屏幕上從左到右的滾動(dòng)顯示。系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、延時(shí)程序、顯示子程序和串行口中斷程序。用AT89C51、74HC一三8芯片和1個(gè)1616LED點(diǎn)陣顯示器構(gòu)成一個(gè)完整的16位點(diǎn)陣LED顯示系統(tǒng)。5.1.2程序流程圖主要由開(kāi)始、初始化、主程序、字庫(kù)組成。其中主程序和子程序的流程圖如圖5.1所示。圖5.1 單片機(jī)漢字顯示程序流程圖5.2 各模塊程序設(shè)計(jì)5.2.1系統(tǒng)初始化程序:#include #define int8 unsigned char#define int16 unsigned int#define int32 unsigned
50、longsbit SW1=P10;sbit SW2=P11;sbit SW3=P12;sbit SW4=P13;sbit SW5=P14;5.2.2 LED動(dòng)態(tài)顯示顯示要求字符在顯示屏上按從右到左的順序一個(gè)個(gè)的出現(xiàn)。設(shè)計(jì)時(shí)可采用如下方法:首先將LED顯示屏對(duì)應(yīng)的顯示緩沖區(qū)全部清零,即 LED顯示空白,然后每間隔一個(gè)“軟定時(shí)器”設(shè)定的動(dòng)態(tài)顯示時(shí)間,顯示緩沖區(qū)依次加入一個(gè)字符點(diǎn)陣數(shù)據(jù)并進(jìn)行掃描顯示,這樣就可達(dá)到動(dòng)態(tài)顯示的效果。實(shí)現(xiàn)LED從右向左移動(dòng)顯示程序:if(SW5_FLAG=1&SW5_OVER=0) for (i=0;i8;i+) /顯示左半邊屏幕 P0=*(u+offset+2*i);
51、P2=i|0 x08; /P2.4=0,P2.3=1 選中U2, 輸出掃描碼給U6 delay_ms(); P0=*(u+offset+2*i+1); P2=i|0 x10; /P2.4=1,P2.3=0 選中U3, 輸出掃描碼給U7 delay_ms(); for (i=8;i16;i+) /顯示右半邊屏幕 P0=*(u+offset+2*i); P2=(i-8)|0 x20; /P2.5=1 P2.4=0, P2.3=0 選中U4,輸出掃描碼U8 delay_ms(); P0=*(u+offset+2*i+1); P2=(i-8)|0 x40; /P2.6=1 P2.5=0, P2.4=0
52、 選中U5,輸出掃描碼U9 delay_ms(); if(SW1=0&SW1_OVER=0) SW1_FLAG=1;if(SW1=1) SW1_FLAG=0; SW1_OVER=0;if(SW1_FLAG=1&SW1_OVER=0) for (i=0;i8;i+) /顯示左半邊屏幕 P0=*(p+offset+2*i); P2=i|0 x08; /P2.4=0,P2.3=1 選中U2, 輸出掃描碼給U6 delay_ms(); P0=*(p+offset+2*i+1); P2=i|0 x10; /P2.4=1,P2.3=0 選中U3, 輸出掃描碼給U7 delay_ms(); for (i=8
53、;i16;i+) /顯示右半邊屏幕 P0=*(p+offset+2*i); P2=(i-8)|0 x20; /P2.5=1 P2.4=0, P2.3=0 選中U4,輸出掃描碼U8 delay_ms(); P0=*(p+offset+2*i+1); P2=(i-8)|0 x40; /P2.6=1 P2.5=0, P2.4=0 選中U5,輸出掃描碼U9 delay_ms(); 5.2.3字符顯示的原理我們以中文宋體字庫(kù)為例,每一個(gè)字由16行16列的點(diǎn)陣組成顯示。即國(guó)標(biāo)漢字庫(kù)中的每一個(gè)字均由256點(diǎn)陣來(lái)表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以
54、顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。LED點(diǎn)陣漢字顯示程序(見(jiàn)附錄B)5.3系統(tǒng)功能測(cè)試5.3.1單元模塊電路測(cè)試在proteus仿真軟件中運(yùn)行測(cè)試AT89C51、74HC一三8、等芯片和LED顯示器均能正常運(yùn)行并完整的顯示出了我所要的效果。所以各個(gè)模塊功能正常。5.3.2系統(tǒng)整體功能測(cè)試在仿真軟件proteus中運(yùn)行測(cè)試系統(tǒng)整體功能,一切正常。實(shí)現(xiàn)了漢字、數(shù)字、字母、自定義圖形的左移滾動(dòng)顯示如圖5.2所示。圖5.2 單片機(jī)顯示系統(tǒng)測(cè)試圖總結(jié)在本設(shè)計(jì)中我用c語(yǔ)言編程在LED顯示屏中實(shí)現(xiàn)了漢字、數(shù)字、字母、自定義圖形的左移滾動(dòng)顯示。在設(shè)計(jì)中采用的芯片有AT89C51、74HC一三8
55、和1個(gè)1616LED點(diǎn)陣顯示器。其特點(diǎn):1.內(nèi)容能從右向左浮動(dòng)顯示。2.硬件結(jié)構(gòu)簡(jiǎn)單,應(yīng)用廣泛。3.LED數(shù)碼管動(dòng)態(tài)掃描顯示,工作效率高,價(jià)格低廉等。通過(guò)本次(1616位點(diǎn)陣LED)的設(shè)計(jì),理論知識(shí)學(xué)習(xí)和實(shí)際設(shè)計(jì)的結(jié)合鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí)解決實(shí)際工程問(wèn)題的能力,同時(shí)也提通過(guò)這個(gè)為期一周的單片機(jī)實(shí)訓(xùn)使我對(duì)AT89C51單片機(jī)有了更一層深入的了解,加強(qiáng)了動(dòng)手實(shí)踐能力。在這次實(shí)訓(xùn)中雖然也遇到了各種困難,但是通過(guò)小組成員的努力,大家一起才能完成設(shè)計(jì),同時(shí)結(jié)合實(shí)踐進(jìn)一步鞏固了課本上的理論知識(shí),將學(xué)習(xí)的理論基礎(chǔ)知識(shí)又加深了一遍,同時(shí)認(rèn)識(shí)到我們所學(xué)的知識(shí)還是遠(yuǎn)遠(yuǎn)不夠的,我們需要不斷學(xué)習(xí)提升自
56、己的能力,不僅僅是動(dòng)手能力,還有編程能力和考慮問(wèn)題的全面性方面。通過(guò)這次設(shè)計(jì)我們有了更深的認(rèn)識(shí),只有在設(shè)計(jì)制作的過(guò)程中不斷的學(xué)習(xí)才能有更新的進(jìn)步.不論在什么地方,什么崗位我門都要以學(xué)為主.學(xué)以學(xué)以置用.才能把我們的工作做的更好。致謝在完成此設(shè)計(jì)過(guò)程中,我們小組多次得到指導(dǎo)老師指導(dǎo),提供給我支持和幫助,這是我能完成這次報(bào)告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我把系統(tǒng)做的更加完善。在此期間,我不僅學(xué)到了許多新的知識(shí),而且也開(kāi)闊了視野,提高了自己的設(shè)計(jì)能力。其次,我要感謝幫助過(guò)我的同學(xué),他們?yōu)槲医鉀Q了不少我不太明白的設(shè)計(jì)的難題。同時(shí)也感謝學(xué)校為我提供良好的做設(shè)計(jì)的環(huán)境。最后再一次
57、感謝所有在設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué)。附錄A元件清單名稱型號(hào)數(shù)量單片機(jī)AT89C511芯片74HC一三84電阻RES5按鍵BUTTON5點(diǎn)陣16*161排阻RESPACK1附錄B源程序代碼:#include #define int8 unsigned char#define int16 unsigned int#define int32 unsigned longsbit SW1=P10;sbit SW2=P11;sbit SW3=P12;sbit SW4=P13;sbit SW5=P14;codetable132=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00
58、,0 x00,0 x00,0 x00,0 x00,0 x98,0 x1f,0 x84,0 x10,0 x04,0 x11,0 x04,0 x11,0 x88,0 x10,0 x70,0 x10,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*5*/ 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 xe0,0 x00,0 x20,0 x03,0 x24,0 x04,0 x24,0 x08,0 xfc,0 x1f,0 x24,0 x00,0 x00
59、,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*4*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x一八,0 x0c,0 x04,0 x10,0 x04,0 x11,0 x04,0 x11,0 x88,0 x12,0 x70,0 x0c,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*3*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0
60、 x00,0 x00,0 x00,0 x0c,0 x0e,0 x14,0 x10,0 x24,0 x10,0 x44,0 x10,0 x84,0 x11,0 x0c,0 x0e,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*2*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x04,0 x08,0 x04,0 x08,0 xfc,0 x1f,0 x04,0 x00,0 x04,0 x00,0 x00,0 x00,0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度豬場(chǎng)租賃與養(yǎng)殖廢棄物資源化利用合作協(xié)議
- 2025年度?;肺锪鞒邪b卸搬運(yùn)及安全防護(hù)合同
- 二零二五年度董事職責(zé)履行與聘任合同
- 2025年度學(xué)生安全教育與應(yīng)急演練合作協(xié)議
- 2025年度醫(yī)院食堂營(yíng)養(yǎng)均衡供餐服務(wù)協(xié)議
- 2025年度農(nóng)產(chǎn)品電商平臺(tái)購(gòu)銷合同圖片制作與物流服務(wù)合同
- 2025年度夫妻共同財(cái)產(chǎn)投資決策及收益共享協(xié)議書(shū)
- 2025年吉林職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案
- 2025年度保障房東權(quán)益的商鋪?zhàn)赓U合同要點(diǎn)
- 2025年度債務(wù)轉(zhuǎn)移與債務(wù)清償合同范本
- 小班安全《湯姆走丟了》PPT課件教案反思微視頻
- 作物栽培學(xué)課件棉花
- 最新小學(xué)二年級(jí)口算及豎式計(jì)算練習(xí)題
- 生產(chǎn)與運(yùn)作管理-陳榮秋
- 病理生理學(xué)教學(xué)病生6休克課件
- 金雞冠的公雞繪本課件
- 日影朝向及長(zhǎng)短
- 沙盤游戲治療(課堂PPT)
- (完整版)學(xué)生的自我評(píng)價(jià)的表格
- 樸素貝葉斯分類器完整
- 教育系統(tǒng)績(jī)效工資分配方案(共6頁(yè))
評(píng)論
0/150
提交評(píng)論