版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p> 畢業(yè)論文題目: 基于CPLD技術的大型廣告牌制作</p><p><b> 學生姓名:</b></p><p><b> 學號:</b></p><p> 系(院):信息工程學院物理系</p>
2、<p> 專業(yè):電子信息科學與技術</p><p><b> 班級:</b></p><p> 指導教師姓名及職稱:</p><p> 起止時間:20XX年12月—20XX年5月</p><p> 基于CPLD技術的大型廣告牌制作</p><p> 摘要:本文詳細介紹了基
3、于單片機89S52和復雜邏輯器件EPM712884-15 的LED點陣式漢字顯示系統(tǒng)的硬件結構、功能特點、顯示數(shù)據(jù)的處理方式、軟件框圖,并給出部分程序。該系統(tǒng)能完成時間顯示、漢字動畫處理、循環(huán)顯示等功能。</p><p> 關鍵詞:單片機、復雜邏輯器件、LED點陣</p><p> A large scale of billboard production bases on CPLD
4、</p><p> Abstract: The thesis introduces detailed the hardware structure, functional features, the ways to deal with the demonstration data, software frame of the LED lattice character system which bases on
5、 the monolithic integrated circuit 89S52 and the complex logical appliance. Meanwhile, it shows partial procedures. This system can complete such functions as: displaying the time; handling the cyclic display of characte
6、r and so on.</p><p> Key words: Monolithic integrated circuit; Complex logical component; LED lattice </p><p><b> 目錄</b></p><p> 前言…………………………………………………………………………………3<
7、;/p><p> 1. 原理圖…………………………………………………………………………4</p><p> 2. 硬件部分………………………………………………………………………6</p><p> 2.1 單片機AT89S52………………………………………………………………6</p><p> 2.2 CPLD EPM7128SL…………
8、……………………………………………………6</p><p> 2.2.1介紹CPLE的技術……………………………………………………………6</p><p> 2.2.2 EPM7128SL的主要特征及工作方式………………………………………7</p><p> 2.3 MAX+PLUS………………………………………………………………………9</p>
9、<p> 2.3.1 74154集成電路……………………………………………………………9</p><p> 2.3.2 列驅(qū)動所需邏輯功能的實現(xiàn)………………………………………………9</p><p> 2.3.3 行驅(qū)動所需邏輯功能的實現(xiàn)………………………………………………10</p><p> 2.3.4 行驅(qū)動電路……………………………………
10、……………………………10</p><p> 2.3.5 列驅(qū)動電路…………………………………………………………………12</p><p> 2.4 ISP下載線……………………………………………………………………13</p><p> 2.5 三色點陣………………………………………………………………………14</p><p> 2.
11、6系統(tǒng)字庫數(shù)據(jù)存儲部 EEPROM AT24C64………………………………………16</p><p> 2.7電源……………………………………………………………………………16</p><p> 3.軟件部分…………………………………………………………………………16</p><p> 3.1靜態(tài)字的顯示原理……………………………………………………………16&
12、lt;/p><p> 3.2移動字的顯示原理……………………………………………………………17</p><p> 3.3字模取?!?7</p><p> 4.總結………………………………………………………………………………18</p><p> 致謝…………………………………………………
13、………………………………19</p><p> 參考文獻……………………………………………………………………………20</p><p> 附錄程序……………………………………………………………………………21</p><p><b> 前言</b></p><p> 現(xiàn)在流行的 LED顯示屏多采用掃描顯示方式.掃
14、描顯示的原理是基于人眼的視覺暫留效應,各顯示行(列)輪流顯示,只要刷新頻率不小于24幀/s,人眼感覺到的將是完整的圖象.不論圖形還是文字,只要控制其組成這些圖形或文字的各個點所對應的 LED器件發(fā)光,就可以得到我們想要的顯示結果,顯示的方法有靜態(tài)驅(qū)動顯示和動態(tài)掃描顯示兩種。同時控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅(qū)動顯示方式,這種顯示方法需要擴展單片機的端口,設計出來的實物不論從體積還是從經(jīng)濟上都很龐大。所以,在設計時,我們采用動態(tài)掃描顯示
15、方法。動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣各列就可以公用一個列驅(qū)動器,就16 x16的點陣來說,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起,通過單片機送出對應第1行發(fā)光管亮滅的數(shù)據(jù)給鎖存器鎖存,選通第1行并使其燃亮一定時間, 然后熄滅:再送出第2行數(shù)據(jù)并鎖存,選通第2行使其燃亮相同的時間,然后熄滅;照此類推,第16行之后,又重新燃亮 第1行,反復輪回。當這樣輪回的速度足夠快時(每秒24次以上),由于人
16、眼視覺的暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定不閃爍的圖形了。采用掃描方式進行顯示</p><p> 在一般的比較小的廣告牌里面,只需要有到單片機的I/O口,就可以制作成。不過在我們的32*64的三色大型組合點陣中,要通過CPLD技術來作擴展,重難度上也增加了不少。單片機P1口輸出行號經(jīng)EPM7128-84-15譯碼后選通第一行, P0口發(fā)送8位顯示數(shù)據(jù)到列驅(qū)動芯片TIPC8B273, P2口輸出行號經(jīng)EPM7128-
17、84-15譯碼后產(chǎn)生列驅(qū)動芯片選通信號,進行列芯片選通.選中的芯片會把8位列列顯示數(shù)據(jù)鎖存到列驅(qū)動輸出I/O口上.驅(qū)動三色點陣的列.因為一行有64個點而一塊驅(qū)動芯片是8位.所以選通第一行后要送8個8位列顯示數(shù)據(jù)到列驅(qū)動芯片TIPC8B273完成一行的顯示.32*64三色點陣一共有32行.所以要循環(huán)32次。</p><p><b> 1.原理圖:</b></p><p&g
18、t; 如圖1.1該顯示牌由顯示模塊、控制模塊、行驅(qū)動模塊、列驅(qū)動模塊、ISP下載線接口、電源組成。能夠顯示三種顏色(紅、黃、橙);存儲200個漢字。文字和圖片能向左移動和向上移動.</p><p> ●顯示模塊:由32塊8*8的雙色點陣組成;</p><p> ●控制模塊:用89S52作為控制核心(有8K的FLASH ROM);</p><p> ●行驅(qū)動電
19、路:由EPM7128-15可編程邏輯器件及達林頓管tipc127驅(qū)動放大電路構成;</p><p> ●列驅(qū)動電路:由兩組(紅色一組、黃色一組) TIPC6B273及EPM7128-15可編程邏輯器件構成,</p><p> ●ISP下載線接口:是用下載程序的,方便顯示內(nèi)容的更改。</p><p> ●電源:是用開關電源來供電的</p><
20、p> 通過在電腦中輸入想要顯示的內(nèi)容,用字模轉(zhuǎn)換軟件提取字模。將字模復制到程序中,更改程序中的字符數(shù),重新編譯。然后通過ISP下載線直接下載到單片機里面。這樣三色廣告牌能從右到左和從下到上顯示剛才輸入的文字。</p><p><b> 圖1.1</b></p><p><b> 1.2原來框圖</b></p><p
21、><b> 2.硬件部分</b></p><p> 該三色廣告牌,主要由單片機AT89S52,基于CPLD技術的EPM7128SL,MAX+PLUS的邏輯電路功能實現(xiàn),ISP下載線接口,32塊8×8的三色點陣,用于存方字庫的EEPROMAT24c64, 輸出5v的直流開關電源所組成。</p><p> 2.1單片機AT89S52</p>
22、;<p> 核心芯片采用ATMEL公司的51系列單機AT89S52,該芯片帶有8K的程序程序存貯空間,256字節(jié)的RAM,六個中斷源,帶有ISP監(jiān)控程序,可在線下載。</p><p> 其中P2.5--P2.0口是行驅(qū)動,選擇任一行亮,P2.4控制前16行的開關允許,P2.5控制后16行的開關允許;</p><p> P1.4--P1.0口是列驅(qū)動,鎖存任一點陣數(shù)據(jù),P
23、1.4是鎖存的開關允許,0開,1關.</p><p> P0作為數(shù)據(jù)輸出口;</p><p> P3.3,P3.4分別是EEPROM的SDA和SCL口.</p><p> 2.2 CPLD EPM7128SL</p><p> 2.2.1 CPLE技術</p><p> 隨著大規(guī)模集成電路和單片機的迅速發(fā)展,
24、復雜可編程邏輯器件(CPLD)具有使用靈活、可靠性高、功能強大的優(yōu)點,在電子產(chǎn)品設計中得到了廣泛的應用。CPLD可實現(xiàn)在系統(tǒng)編程,重復多次,而且還兼容IEEE1149.1(JTAG)標準的測試激勵端和邊界掃描能力,若使用CPLD器件進行開發(fā),不僅可以提高系統(tǒng)的集成化程度、可靠性和可擴充性,而且還可大大縮短產(chǎn)品的設計周期。由于CPLD采用連續(xù)連接結構,易于預測延時,從而使電路仿真更加準確。CPLD是標準的大規(guī)模集成電路產(chǎn)品,可用于各種數(shù)字
25、邏輯系統(tǒng)的設計。近年來,隨著采用先進的集成工藝和大批量生產(chǎn),CPLD器件成本不斷下降,集成密度、速度和性能都大幅度提高,這樣一個芯片就可以實現(xiàn)一個復雜的數(shù)字電路系統(tǒng);再加上使用方便的開發(fā)工具,給設計修改帶來很大方便。</p><p> 2.2.2. EPM7128SL的主要特征及工作方式</p><p> EPM7128SL是Ahera公司生產(chǎn)的CPLD芯片,該芯片密度為6000門,有
26、60個專用I/O 口,PLCC84封裝,正常工作溫度范圍0~70℃ 。該CPLD芯片內(nèi)部</p><p><b> 結構如圖1所示。</b></p><p> 從圖中可以看出,該芯片內(nèi)部由邏輯陣列模塊、可編程I/O單元和可編程連線陣列三部分組成。每個邏輯陣列模塊中包含16個宏單元,共128個宏單元。可編程I/O單元能兼容TrI’L和CMOS多種接口和電壓標準,可配
27、置為輸入、輸出、雙向、集電極開路和三態(tài)等形式,能提供適當?shù)尿?qū)動電流,以降低功耗,防止過沖</p><p> 和減少電源噪聲??删幊踢B線陣列在各個邏輯宏單元之間以及邏輯宏單元與I/O單元之間提供信號連接。</p><p> 圖中的數(shù)字代表芯片的引腳號,其中1、2、83、84為全局輸入引腳.</p><p> GCLK(83):全局時鐘腳,這個腳的驅(qū)動能力最強,到
28、所有邏輯單元的延時基本相同,所以如系統(tǒng)有外部時鐘輸入,建議定義此腳為時鐘輸入腳。</p><p> OE1(84):全局輸出使能,如有三態(tài)輸出,建議由此腳來控制(也可由內(nèi) 部邏輯產(chǎn)生輸出使能信號),優(yōu)點和用法同上。</p><p> OE2/GCLK2(2):全局輸出使能/全局時鐘腳,兩者皆可。</p><p> GCLRn(1):全局清零,如有寄存器清零,建
29、議由此腳來控制(也可由內(nèi)部邏輯產(chǎn)生清零信號),優(yōu)點和用法同上。</p><p> 如圖示板上留有下載插口FC1(針對PLCC84的插座中CPLD芯片),你只要把隨配的ByteblasterMV電纜的10PIN端插入下載插口FC1,另一端連接到電腦并口上(有時為了方便操作,可以通過并口延長線公頭接電腦并口,母頭接ByteblasterMV的公頭)就可以在線編</p><p> 2.3 M
30、AX+PLUS</p><p> 2.3.1 74154集成電路的真值表</p><p> 2.3.2列驅(qū)動所需邏輯功能的實現(xiàn)</p><p> 如圖,p14口產(chǎn)生片選信號,當片選信號是1的時候,集成塊74154不工作;當片選信號是0的時候,集成塊74154工作,此時A B C D口輸入信號,輸出端才有對應的輸出信號。輸入和輸出的具體參數(shù),如2.3.1 741
31、54集成電路的真值表</p><p><b> 所示。</b></p><p> 在集成塊輸出端接反相器的原因:是因為片選信號是低電平觸發(fā),輸出的信號為低電平,而TPIC273工作時有片損,需要高電平驅(qū)動。</p><p> 2.3.3行驅(qū)動所需邏輯功能的實現(xiàn)</p><p> 如圖所示,此部分主要由兩塊7415
32、4集成塊成,使用兩塊集成塊的原因是為了控制點陣三種顏色的顯示。</p><p> P24口產(chǎn)生片選信號,控制上面74154集成塊的工作狀態(tài),當片選信號是1的時候,集成塊74154不工作;當片選信號是0的時候,集成塊74154工作,此時A B C D口輸入信號,輸出端才有對應的輸出信號。輸入和輸出的具體參數(shù),如2.3.1 74154集成電路的真值表所示。</p><p> P25口產(chǎn)生片
33、選信號,控制下面74154集成塊的工作狀態(tài),當片選信號是1的時候,集成塊74154不工作;當片選信號是0的時候,集成塊74154工作,此時A B C D口輸入信號,輸出端才有對應的輸出信號。輸入和輸出的具體參數(shù),如2.3.1 74154集成電路的真值表所示。</p><p> 2.3.4行驅(qū)動電路</p><p> TIP122的參數(shù) :</p><p> 名
34、 稱 封裝 極性 功 能 耐 壓 電 流 功 率 配對管</p><p> TIP122 28 NPN 音頻功放開關 100V 5A 65W TIP127 </p><p> TIP122的工作原理:</p><p> 1.我們先簡單分析,如圖當TIP122的B極輸入高電平的
35、時候,TIP122三極管就導通,所以 C E極就導通了,在三極管的E極連接控制著點陣中的一個小點(它是由一個紅色二極管,一個綠色二極管組成的),這時 E 極是高電平,鎖存器TPIC6B273就控制左發(fā)光二極管的導通。當R處單獨導通時,二極管發(fā)出紅色光;當G處單獨導通時,二極管發(fā)出綠色光;當R G處同時導通時,二極管發(fā)出藍色光。</p><p> 2.在第5頁的原理圖1.1所示,在圖中,一共有32個TIP122三
36、極管,而在我們的32*64的三色點陣中,一共有32小行,我們就是使用這32個TIP122三極管來控制這32小行的導通。然后再由鎖存器TPIC6B273來控制64小列的的點亮和發(fā)光的顏色。</p><p> 2.3.5列驅(qū)動電路</p><p><b> ?。薄「攀?</b></p><p> TPIC6B273是美國TI公司生產(chǎn)的一種8通道
37、D型觸發(fā)器鎖存、功率輸出新型器件,該器件集8位數(shù)據(jù)鎖存、驅(qū)動輸出控制為一體,可用于LED顯示器的驅(qū)動等方面。其基本特點為:</p><p> ● 具有8通道功率DMOS晶體管輸出,每個通道可連續(xù)輸出150mA的電流;</p><p> ● 各輸出回路導通電阻低至5Ω;</p><p> ● 每個輸出通道典型限定能力為500mA;</p><
38、p> ● 輸出端為OC門形式,外接設備(器件)驅(qū)動電源可高達50V。</p><p> TPIC6B273采用20腳雙列直插式DIP封裝形式,其引腳排列如圖1所示。它的控制方式與74LS(HC)273的控制方式相同。</p><p><b> ?。病秒娐?lt;/b></p><p> ?。裕校桑茫叮拢玻罚称骷牵罚矗蹋樱玻罚撑cMC14
39、13兩器件結合的產(chǎn)物(MC1413為7路輸入/輸出驅(qū)動,而TPIC6B273為8路輸出驅(qū)動),因此,該器件使用簡單且應用電路設計方便,現(xiàn)給出利用該器件設計的3種LED顯示器驅(qū)動電路的實例。</p><p> ?。玻?LED電子禮花樹驅(qū)動控制</p><p> 本電路的驅(qū)動電路原理圖如圖2所示。為了擴展方便,該電路系統(tǒng)采用插板結構,每個輸出插板選用4個TPIC6B273作數(shù)據(jù)鎖存和功率驅(qū)
40、動,圖中通過譯碼芯片74HC688、74HC393與跳線開關K1等完成地址選擇、譯碼及TPIC6B273的選通和數(shù)據(jù)鎖存工作。電子禮花樹上的LED工作于動態(tài)狀態(tài),設其工作電流為45mA(3~4倍的靜態(tài)額定工作電流),各色LED的平均電壓為2.5V,各芯片的每一路輸出可帶動的LED為:2.5×20×3=150個,實際情況下,為了可靠工作,通常選擇驅(qū)動一半數(shù)量(約80個)的LED驅(qū)動,這樣,每個電子禮花樹驅(qū)動板可驅(qū)動
41、的LED為:80×8×4=2560個。該電路經(jīng)長時間的工作實踐檢驗,TPIC6B273工作可靠,系統(tǒng)工作性能良好。圖2 LED電子禮花樹驅(qū)動電路原理圖 2.2 LED顯示屏驅(qū)動控制</p><p> 用于發(fā)布消息、顯示漢字的點陣式LED顯示屏通常由若干塊LED點陣顯示模塊組成;用于顯示漢字、圖形的8×8單色LED顯示點陣模塊,每塊有64個
42、LED;而紅、綠雙色LED顯示點陣模塊有64個紅色LED和64個綠色LED。為了減少引腳且便于封裝,各種LED顯示點陣模塊都采用陣列形式排布,即在行列線的交點處接有顯示LED。因此,LED點陣顯示模塊的顯示驅(qū)動只能采用動態(tài)驅(qū)動方式,每次最多只能點亮一行LED(共陽形式LED顯示點陣模塊)或一列LED(共陰形式LED顯示點陣模塊)。由于TPIC6B273是以OC門方式輸出的,所以特別適宜選擇共陽形式LED顯示點陣模塊做基礎顯示單元。圖3所
43、示是一個單色 LED顯示模塊(單色8×8點陣)的顯示驅(qū)動原理圖。圖中,由8個晶體管為LED點陣顯示模塊(8行LED)提供行驅(qū)動電流,TPIC6B273則用于控制一個單色LED顯示模塊的列方向顯示,微機通過總線操作控制來完成對每一個LED點陣顯示模塊內(nèi)每個LED顯示點的亮、暗控制操作。以此類推,可實現(xiàn)整屏LED點陣的亮、暗控制,從而實現(xiàn)LED顯示屏漢字或圖象的顯示控制操作。 紅、綠雙色LE
44、D顯示點陣模塊在同一</p><p> 2.4 ISP下載線</p><p><b> 2.5三色點陣</b></p><p> 圖(1)8×8點陣LED外觀及引腳圖</p><p> 圖(2)8×8點陣LED等效電路</p><p> 8X8三色點陣LED工作原理說
45、明 </p><p> 從圖(2)中可以看出,8X8點陣一共有64個點,每個點里面包含有兩個發(fā)光二極管,一個紅色一個黃色, 總共由128個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上,當對應的某一列置1電平,某一行置0電平,則相應的二極管就點亮;</p><p><b> 顯色原理</b></p><p> 如圖(2)所示
46、,以行1(22)的位置上,第一組相鄰的黃色二極管和紅色二極管為例,它們的的正極是相連接的,共用一行來控制.它們的正極是相連接的,當黃色二極管導通,紅色三極管不導通時,該點就顯示黃色。當紅色二極管導通,黃色二極管不導通,該點就顯示紅色。當兩個發(fā)光二極管同時導通時,該點就會顯示綠色。</p><p> 點陣LED掃描法介紹</p><p> 點陣LED一般采用掃描式顯示,實際運用分為三種方
47、式:</p><p> ?。?)點掃描; (2)行掃描; (3) 列掃描。</p><p> 若使用第一種方式,其掃描頻率必須大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三種方式,則頻率必須大于16×8=128Hz,周期小于7.8ms即可符合視覺暫留要求。此外一次驅(qū)動一列或一行(8顆LED)時需外加驅(qū)動電路提高電流,否則LED亮度會不
48、足。 </p><p> 2.6系統(tǒng)字庫數(shù)據(jù)存儲部 EEPROM AT24C64</p><p> 采用可電擦寫EEPROM AT24C64。原理圖如</p><p><b> 右所示。</b></p><p><b> I2c原理~</b></p>&l
49、t;p><b> 2.7電源</b></p><p> 該電源是輸入220v輸出5v的直流開關電源。</p><p><b> 3.軟件部分</b></p><p> 3.1靜態(tài)字的顯示原理</p><p> 其實一般情況下,要4塊8×8的點陣才可以顯示一個字。我們?yōu)榱朔奖?/p>
50、起見,就拿一塊點陣來說明一個簡單的靜態(tài)字的顯示原理。例如我們要在點陣上顯示一個“二”字,大家知道,點陣不會一直都在發(fā)亮的,它只是在不停的閃爍的。而點陣就是采用逐行輪流點亮,這樣各列就可以公用一個列驅(qū)動器,就右圖點陣來說,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起,通過單片機送出對應第1行發(fā)光管亮滅的數(shù)據(jù)給鎖存器鎖存,選通第1行的具體點并使其燃亮一定時間, 然后熄滅:再送出第2行數(shù)據(jù)并鎖存,選通第2行使其具體點
51、燃亮相同的時間,然后熄滅;照此類推,第8行之后,又重新燃亮第1行,反復輪回。而圖中的“二”字,只有第2行跟第5行有點要點亮,其他行第點都不需要點亮。當這樣輪回的速度足夠快時(每秒24次以上),由于人眼視覺的暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定不閃爍的“二”字了。</p><p> 3.2移動字的顯示原理</p><p> 移動字的顯示原理其實是在靜態(tài)字顯示原理的基礎上對要顯示字在點陣點亮點的
52、位置進行移位。例如:我們在3.1上說到對點陣的掃描是逐行掃描的,而掃描的速度足夠快,我們就感覺到字體是靜態(tài)的沒有閃爍地顯示著。如圖2所示,移動字的顯示是在點陣完整掃描一次之后在下一次重新掃描的時,對點亮的位置進行移位向前先后向上向后的移位,點陣就可以實現(xiàn)文字的向前,向后向上向下的動態(tài)顯示了。</p><p><b> 3.3字模取模</b></p><p> 我們
53、要在32*64的三色點陣中顯示我們想要的內(nèi)容,就要分別控制點陣上的各個小點的點亮跟熄滅。這樣,許多點亮的點就構成了我們所要顯示的字體或符號拉。在這里,我們就用到了一個字模取模軟件來實現(xiàn)我們漢字的組合顯示了。</p><p> 軟件開始的輸入界面(以我們輸入“好”字為例):</p><p> 我們輸入了“好”字跟其他相應的參數(shù)之后,先按一下“參數(shù)確認”,之后再按“輸入字串”,軟件就會生成
54、一串程序,如下圖所示:</p><p> 其中:0x10,0x00,0x11,0xFC,0x10,0x04,0x10,0x08,</p><p> 0xFC,0x10,0x24,0x20,0x24,0x24,0x27,0xFE,</p><p> 0x24,0x20,0x44,0x20,0x28,0x20,0x10,0x20,</p><p
55、> 0x28,0x20,0x44,0x20,0x84,0xA0,0x00,0x40 </p><p> 就是“好”字對應在點陣的顯示代碼了。</p><p><b> 4.總結</b></p><p> 在這次的畢業(yè)制作中,我們存在的主要問題及解決措施</p><p> 1:單片機的內(nèi)部ROM不足夠,從而
56、不能把所有中文字固化在單片機里供顯示時調(diào)用。</p><p> 解決方法:外接大容量FLASHROM</p><p> 2:單片機的內(nèi)部RAM不足夠,導致顯示緩沖區(qū)不足夠大,不能全屏顯示出來。</p><p> 解決方法:外接大空量RAM</p><p> 3:EPM7128-15可編程邏輯器件供電電流不足</p>&l
57、t;p> 解決方法:外接上拉電阻</p><p> 4:使用者不能通過在電腦輸入文字傳輸給三色廣告牌顯示出來。</p><p> 解決方法:通過VB編程來完成三色廣告牌的上位機,完成電腦輸入文字傳輸給三色廣告牌顯示。</p><p> 5:不能雙色同時顯示在同一個屏幕上。</p><p> 解決方法:使紅色與黃色相互配合,完成
58、一屏文字的顯示。</p><p> 6:顯示屏刷新頻率不足,導致文字移動時閃爍</p><p> 解決方法:提高單片機工作速度(使用24M晶振),優(yōu)化程序代碼。</p><p> 7:由于32塊三色點陣所需電流比較大。普通電源功率不夠,導致點陣顯示亮度不夠。</p><p> 解決方法:使用開關電源(因為開關電源能提供足夠的電流給顯示
59、牌)</p><p> 8:行驅(qū)動電流不足夠?qū)е氯珡V告牌顯示亮度不足。</p><p> 解決方法:采用大功率達林頓管TIP127(耐壓100伏,電流8安),足以驅(qū)動一行(黃色64個點,紅色64個點)。</p><p> 9:單片機I/O口不足夠。</p><p> 解決方法:采用EPM7128-15可編程邏輯器件來完成選行與列驅(qū)動
60、芯片的片選,從而減少了單片機I/O口的使用。</p><p><b> 致謝:</b></p><p> 在本畢業(yè)設計制作既論文的撰寫過程中,得到信息工程學院蘇祖全助教、黃大星助教以及03電子(3)班的毆錦華同學、計算機系的陳催同學的幫助和支持。畢業(yè)設計要求用三色點振和結合單片機做出一個可以實現(xiàn)英文、漢字及其他標點符號滾動顯示的三色廣告牌。對于在廣告牌的設計制作中
61、,蘇老師、黃老師、歐錦華同學總是在百忙之中抽出寶貴的時間詳細地、不厭其煩地給予本人指導,解答疑難。在此,我表示衷心感謝!</p><p><b> 參考文獻</b></p><p> 胡漢才編著. 單片機原理及接口技術(第二版). 清華大學出版社</p><p> 朱昌晨. 示屏系統(tǒng)原理及工程技術. 電子科技大學出版社</p>
62、<p> 鐘文耀,段玉生,何麗靜編著. EWB設計入門與應用[M]. 清華大學出版社 2000</p><p> 高福祥,張君. 接口技術[M]. 東北大學出版社</p><p> 王天曦,李鴻儒. 電子技術工藝基礎. 清華大學出版社</p><p> 朱力恒主編. 子技術仿真實驗教程[M]. 電子工業(yè)出版社,2003</p>
63、<p> 王軍. 計算機基礎電路[M]. 電子工業(yè)出版社, 2000.</p><p><b> 附錄程序:</b></p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> bit mov_le
64、ft,mov_up;</p><p> sbit e_U_ROW=0xA4;</p><p> sbit e_D_ROW=0xA5;</p><p> sbit e_LIND=0x94;</p><p> unsigned char data mark1,b;</p><p> unsigned ch
65、ar idata dis[128];</p><p> //void mov_up();</p><p> //void mov_left();</p><p> void delay(unsigned int);</p><p> void clear();</p><p> void main(void)
66、</p><p> {register uchar data i,j,k,l,flat;</p><p> uchar code BMP[][128] = // 數(shù)據(jù)表</p><p><b> {</b></p><p> { 0x00,0x00,0x00,0x00,0x00,0x00,0x00
67、,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x70,0x00,//"動",</p><p> 0x00,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x00,0x30,0x30,0x00,0xF8,0x0F,0x30,0x00,</p><p> 0x00,0x00,0x30,0x00,0x00,0x00,0x
68、30,0x08,0x00,0x00,0xFF,0x1F,0x00,0x00,0x30,0x18,</p><p> 0x00,0xC0,0x30,0x18,0xFC,0x3F,0x30,0x18,0x80,0x03,0x30,0x18,0x80,0x03,0x30,0x18,</p><p> 0x80,0x01,0x10,0x18,0xC0,0x00,0x10,0x18,0x40,0
69、x08,0x18,0x18,0x60,0x10,0x18,0x18,</p><p> 0x20,0x30,0x18,0x18,0x10,0x60,0x0C,0x18,0x08,0x60,0x0C,0x08,0xCC,0xDF,0x04,0x08,</p><p> 0xFC,0xC0,0x06,0x08,0x08,0x40,0x03,0x0C,0x00,0x80,0x01,0x0C,
70、0x00,0x80,0x00,0x0C,</p><p> 0x00,0x40,0xE0,0x07,0x00,0x30,0x80,0x07,0x00,0x08,0x00,0x01,0x00,0x00,0x00,0x00},</p><p> /*"感"*/{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98
71、,0x00,0x00,0x00,0x88,0x01,</p><p> 0x00,0x00,0x08,0x03,0x20,0x00,0x08,0x13,0xE0,0xFF,0xFF,0x3F,0x60,0x00,0x18,0x00,</p><p> 0x60,0x00,0x18,0x00,0x60,0x00,0x19,0x04,0x60,0xFF,0x1B,0x0E,0x60,0x0
72、0,0x1C,0x06,</p><p> 0x60,0x00,0x10,0x03,0x60,0x06,0xB3,0x01,0x60,0xFE,0xB3,0x01,0x20,0x06,0xE1,0x00,</p><p> 0x20,0x06,0x61,0x00,0x30,0x06,0xF1,0x10,0x10,0xFE,0xD9,0x11,0x18,0x06,0x8F,0x13,&l
73、t;/p><p> 0x08,0x00,0x06,0x3E,0x04,0x00,0x01,0x3C,0x02,0xC2,0x01,0x20,0x00,0x8E,0x03,0x03,</p><p> 0x20,0x06,0x03,0x06,0x20,0x06,0x02,0x0C,0x30,0x06,0x20,0x0C,0x38,0x06,0x60,0x0C,</p><
74、p> 0x18,0x06,0x60,0x00,0x00,0xFC,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},</p><p> /*"地"*/{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x40,0x00,0x38,0x00,</p>
75、<p> 0xC0,0x00,0x18,0x00,0xC0,0x00,0x18,0x00,0xC0,0x40,0x18,0x00,0xC0,0xC0,0x18,0x00,</p><p> 0xC0,0x40,0x18,0x00,0xC0,0x40,0x18,0x04,0xC0,0x40,0x18,0x0F,0xC0,0x44,0xD8,0x04,</p><p> 0
76、xC0,0x44,0x38,0x04,0xFC,0x43,0x1F,0x04,0xC0,0xC0,0x18,0x04,0xC0,0x78,0x18,0x04,</p><p> 0xC0,0x44,0x18,0x04,0xC0,0x40,0x18,0x04,0xC0,0x40,0x18,0x04,0xC0,0x40,0x18,0x04,</p><p> 0xC0,0x40,0x18,
77、0x06,0xC0,0x40,0xD8,0x07,0xC0,0x40,0x18,0x13,0xC0,0x4C,0x18,0x10,</p><p> 0xC0,0x43,0x08,0x10,0xF0,0x40,0x00,0x10,0x3E,0xC0,0x00,0x30,0x0C,0xC0,0x00,0x70,</p><p> 0x00,0xC0,0xFF,0x3F,0x00,0x80
78、,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},</p><p> /*"帶*/{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x20,0x00,0x00,0x86,0xE3,0x00,</p><p> 0x00,0x86,0x61,0x00,0x00,0x86
79、,0x61,0x00,0x00,0x86,0x61,0x08,0xF8,0xFF,0xFF,0x1F,</p><p> 0x00,0x86,0x61,0x00,0x00,0x86,0x61,0x00,0x00,0x86,0x61,0x00,0x00,0x86,0x60,0x00,</p><p> 0x00,0x00,0x00,0x10,0xF0,0xFF,0xFF,0x3F,0x1
80、0,0x80,0x00,0x38,0x18,0x80,0x03,0x0C,</p><p> 0x1C,0x80,0x01,0x04,0x88,0x80,0x01,0x03,0x00,0xFF,0xFF,0x03,0x00,0x81,0x81,0x01,</p><p> 0x00,0x81,0x81,0x01,0x00,0x81,0x81,0x01,0x00,0x81,0x81,0x
81、01,0x00,0x81,0x81,0x01,</p><p> 0x00,0x81,0x81,0x01,0x00,0x81,0x81,0x01,0x00,0x81,0xF9,0x01,0x00,0x81,0xE1,0x01,</p><p> 0x80,0x80,0xC1,0x00,0x00,0x80,0x01,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0
82、x00,0x00}</p><p><b> };</b></p><p> uchar code BMP2[][128]=</p><p><b> {{</b></p><p> 0x40,0x12,0xF0,0x36,0x3C,0x66,0x30,0x26,0x30,0x06,0xFE
83、,0x7F,0x30,0x26,0xB0,0x66,</p><p> 0x70,0x36,0x38,0x34,0x3E,0x1C,0x34,0x0C,0x30,0x9E,0x30,0xB3,0xBC,0xE0,0x10,0xC0,</p><p> 0x08,0x08,0x18,0x18,0x0C,0x0C,0x46,0x44,0xFE,0xFE,0x66,0x63,0x66,0x6
84、1,0x66,0x62,</p><p> 0x7E,0x66,0x66,0x6C,0x66,0x64,0x66,0x60,0x66,0x60,0x7E,0x34,0x22,0x38,0x00,0x10,</p><p> 0x00,0x04,0x08,0x0C,0x18,0x0C,0x98,0x4C,0x98,0xFD,0xFE,0x6F,0xD8,0x6D,0x98,0x6D,&l
85、t;/p><p> 0x98,0x6D,0x98,0x7D,0xD8,0x2D,0xB8,0x01,0x9E,0x41,0x84,0x41,0x80,0xFF,0x00,0x7F,</p><p> 0x00,0x03,0x90,0x11,0xF0,0x3F,0xB0,0x19,0x30,0x5B,0xFE,0xFF,0xB0,0x19,0x30,0x1B,</p><
86、p> 0x18,0x1D,0x0C,0x28,0xFA,0x7F,0xD8,0x36,0xD8,0x36,0xD8,0x36,0xD8,0x36,0xFE,0xFF},</p><p> {0x40,0x12,0xF0,0x36,0x3C,0x66,0x30,0x26,0x30,0x06,0xFE,0x7F,0x30,0x26,0xB0,0x66,</p><p> 0x70,
87、0x36,0x38,0x34,0x3E,0x1C,0x34,0x0C,0x30,0x9E,0x30,0xB3,0xBC,0xE0,0x10,0xC0,</p><p> 0x80,0x61,0x04,0x37,0x8C,0x5A,0x98,0xFF,0x88,0x61,0x90,0x61,0xBE,0x61,0x98,0x7F,</p><p> 0x98,0x5A,0x18,0x1E
88、,0x18,0x1E,0x58,0x1B,0x38,0x9B,0x9C,0x99,0xC8,0xF8,0x20,0xF0,</p><p> 0x00,0x10,0xF8,0x3F,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x03,0x00,0x03,0x00,0x03,</p><p> 0x00,0x03,0x00,0x03,0x00,0x03,0x0
89、0,0x03,0x00,0x03,0x20,0x03,0xC0,0x03,0x80,0x01,</p><p> 0x10,0x08,0x30,0x18,0xF8,0xFD,0xD8,0x36,0xFC,0x7F,0x32,0x18,0xF0,0x1F,0x30,0x18,</p><p> 0xF0,0x1F,0x30,0x18,0xF0,0x1F,0xC0,0x4C,0xFE,0x
90、FF,0x60,0x0C,0x30,0x0C,0x08,0x0C}};</p><p><b> // 漢字表:</b></p><p> // 我的地盤我說了算</p><p><b> mov_up=0;</b></p><p> mov_left=0;</p><p
91、><b> IE=0xff;</b></p><p> //e_LIND=1;</p><p><b> mark1=0;</b></p><p><b> clear();</b></p><p><b> P2=0xff;</b><
92、;/p><p><b> P1=0xff;</b></p><p> //mov_left();</p><p><b> TH0=0xF8;</b></p><p><b> TL0=0x30;</b></p><p> TMOD=0x01;&l
93、t;/p><p><b> while(1)</b></p><p><b> {</b></p><p> mov_left=0;</p><p><b> mov_up=0;</b></p><p> for(l=0;l<2;l++)&l
94、t;/p><p><b> {</b></p><p> for(j=0;j<16;j++)</p><p><b> {</b></p><p> for(k=0;k<4;k++)</p><p><b> {</b></p&g
95、t;<p> dis[flat++]=BMP2[l][j*2+k*32];</p><p> dis[flat++]=BMP2[l][j*2+k*32+1];</p><p><b> }</b></p><p><b> }</b></p><p><b> fl
96、at=0;</b></p><p> mov_left=1;</p><p><b> TR0=1;</b></p><p> delay(1000);</p><p> //mark1=0;</p><p> for(i=0;i<63;i++)</p>
97、<p><b> {</b></p><p> for(j=0;j<16;j++)</p><p><b> {</b></p><p> for(k=0;k<3;k++)</p><p><b> {</b></p><p&
98、gt; dis[8*j+2*k]=dis[8*j+2*k]>>1|dis[8*j+2*k+1]<<7;</p><p> dis[8*j+2*k+1]=dis[8*j+2*k+1]>>1|dis[8*j+2*k+2]<<7;</p><p><b> }</b></p><p> dis[
99、8*j+6]=dis[8*j+6]>>1|dis[8*j+7]<<7;</p><p> dis[8*j+7]=(dis[8*j+7]>>1)&0x7f;</p><p><b> }</b></p><p> delay(300);</p><p><b>
100、 }</b></p><p><b> }</b></p><p> mov_left=0;</p><p><b> TR0=0;</b></p><p><b> mov_up=1;</b></p><p> for(i=0;i
101、<128;i++)</p><p><b> {</b></p><p> dis[i]=BMP[0][i];</p><p><b> }</b></p><p><b> TR0=1;</b></p><p> for(i=1;i&l
102、t;5;i++)</p><p><b> {</b></p><p> for(j=0;j<32;j++)</p><p><b> {</b></p><p> for(k=0;k<31;k++)</p><p><b> {</b&
103、gt;</p><p> for(l=0;l<4;l++)</p><p><b> {</b></p><p> dis[k*4+l]=dis[k*4+l+4];</p><p><b> }</b></p><p><b> }</b>
104、;</p><p> dis[124]=BMP[i][j*4];</p><p> dis[125]=BMP[i][j*4+1];</p><p> dis[126]=BMP[i][j*4+2];</p><p> dis[127]=BMP[i][j*4+3];</p><p> delay(200);<
105、;/p><p><b> }</b></p><p><b> }</b></p><p><b> mov_up=0;</b></p><p><b> }</b></p><p><b> }</b>
106、</p><p> void display(void) interrupt 1 using 1</p><p><b> {</b></p><p> register uchar j,a,p;</p><p><b> TH0=0xF8;</b></p><p>
107、<b> TL0=0x30;</b></p><p> e_U_ROW=1;</p><p> e_D_ROW=1; //關顯示</p><p><b> a=P2;</b></p><p><b> a++;</b></p>&l
108、t;p><b> P1=0x1f;</b></p><p> if(mov_left==1)</p><p><b> {</b></p><p> if(mark1==128)</p><p><b> {</b></p><p>&l
109、t;b> mark1=0;</b></p><p><b> b=0;</b></p><p><b> }</b></p><p><b> else ;</b></p><p> for(j=0;j<8;j++)</p>&l
110、t;p><b> {</b></p><p> P0=dis[mark1++];</p><p><b> p=P1;</b></p><p><b> P1=++p;</b></p><p><b> }</b></p>&
111、lt;p><b> e_LIND=1;</b></p><p><b> if(b==8)</b></p><p><b> {</b></p><p><b> a=a|0x10;</b></p><p> a=a&0x1F;
112、 //確保開后8行開關允許</p><p><b> P2=a;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p&g
113、t;<b> a=a|0x28;</b></p><p> a=a&0x2F; //確保開前8行開關允許,其保持后數(shù)位不變</p><p><b> P2=a;</b></p><p><b> b++;</b></p><p><b
114、> }</b></p><p><b> }</b></p><p> else if(mov_up==1) //向上顯示漢字的掃描程序</p><p><b> {</b></p><p><b> P1=0x11;</b></
115、p><p> if(mark1==128) </p><p><b> {</b></p><p><b> mark1=0;</b></p><p><b> b=0;</b></p><p><b> }</b&
116、gt;</p><p><b> else ;</b></p><p> for(j=0;j<4;j++)</p><p><b> {</b></p><p> P0=dis[mark1++];</p><p> p=P1&0x0f;</p&g
117、t;<p><b> P1=++p;</b></p><p><b> }</b></p><p><b> e_LIND=1;</b></p><p> if(b==0x10)</p><p><b> {</b></p&g
118、t;<p><b> a=a|0x10;</b></p><p> a=a&0x1F; //確保開后16行開關允許</p><p><b> P2=a;</b></p><p><b> }</b></p><p><b
119、> else</b></p><p><b> {</b></p><p><b> a=a|0x20;</b></p><p> a=a&0x2F; //確保開前16行開關允許,其保持后數(shù)位不變</p><p><b> P2=a
120、;</b></p><p><b> b++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void clear
121、()</p><p><b> {</b></p><p> register uchar data i,a;</p><p><b> P0=0;</b></p><p><b> P1=0xFF;</b></p><p> for(i=0;
122、i<16;i++)</p><p> { a=P1;</p><p><b> a++;</b></p><p><b> P1=a;</b></p><p><b> }</b></p><p><b> e_LIND=
123、1;</b></p><p><b> }</b></p><p> void delay(unsigned int t)</p><p><b> {</b></p><p> register unsigned char d;</p><p> fo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——基于cpld技術的大型廣告牌制作
- 廣告牌制作方案
- 廣告牌制作合同
- 大型廣告牌方案
- led點陣廣告牌的設計畢業(yè)論文
- 本科畢業(yè)論文(設計)led點陣廣告牌的設計與制作
- 廣告牌制作、安裝合同
- led電子廣告牌的設計畢業(yè)論文
- 廣告牌制作安裝合同
- 大型廣告牌方案(doc)
- 畢業(yè)論文--淺談led在廣告牌中的應用
- 畢業(yè)論文淺談led在電子廣告牌的應用
- 廣告牌制作安裝合同書
- 廣告牌制作、安裝合同范本
- 廣告牌畢業(yè)設計
- 廣告牌制作安裝合同書
- 跨道廣告牌施工制作方案
- 戶外廣告牌制作安裝合同
- 智能抗風廣告牌的設計-畢業(yè)論文(終極版)
- 戶外廣告牌設計制作安裝合同
評論
0/150
提交評論