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

下載本文檔

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

文檔簡介

1、 2014 屆畢業(yè)設(shè)計說明書 基于單片機(jī)的多點(diǎn)陣LED字符顯示屏的設(shè)計與制作 院 、 部: 電氣與信息工程學(xué)院 學(xué)生姓名: 饒偉 指導(dǎo)教師: 桂友超 職稱 講師 肖金鳳 職稱 副教授 專 業(yè): 電氣工程及其自動化 班 級: 電氣本1004班 完成時間: 2014年5月 摘 要隨著顯示器件與顯示技術(shù)的進(jìn)而發(fā)展,作為一種重要的傳媒,屏幕顯示系統(tǒng)已經(jīng)廣泛應(yīng)用于國民經(jīng)濟(jì)中。LED顯示屏是由LED點(diǎn)陣模塊或像素單元構(gòu)成的。計算機(jī)技術(shù)的飛速發(fā)展,使得LED數(shù)碼管能夠在減少驅(qū)動器的情況下直接被驅(qū)動。LED數(shù)碼管具有高可靠性、長壽命、高性價比、低成本、強(qiáng)適應(yīng)能力等特點(diǎn),使得它在平板顯示領(lǐng)域一直扮演著舉足輕重的

2、角色,而且它今后的發(fā)展空間還相當(dāng)大。本次畢業(yè)設(shè)計是以單片機(jī)為基礎(chǔ)控制核心,用4塊88 LED點(diǎn)陣組合制作了一個能顯示16x16 點(diǎn)陣LED電子顯示屏。要求顯示屏的各發(fā)光二極管的亮度足夠并且均勻,顯示穩(wěn)定、清晰的圖形或者文字,其顯示出的圖形或者文字應(yīng)能有靜止、移入移出的效果。點(diǎn)陣顯示屏采用動態(tài)顯示方式,動態(tài)掃描逐行輪流點(diǎn)亮。點(diǎn)陣顯示數(shù)據(jù)的傳輸采用串行傳輸方法。本文重點(diǎn)講述的是LED顯示屏的硬件電路的組成及軟件部分的編程、LED點(diǎn)陣顯示屏的功能實(shí)現(xiàn)。關(guān)鍵字:1616點(diǎn)陣;單片機(jī);LED顯示屏ABSTRACTWith the further development of display device

3、s and display technologies , as an important media -screen display system has been widely used in the national economy. LED display is a LED dot matrix module or pixel units. The rapid development of computer technology , makes digital LED can be driven directly in the drive to reduce the case . LED

4、 digital tube with high reliability, long life , cost-effective , low-cost, adaptable characteristics, making it the field of flat panel display has been playing a pivotal role in the future development of space and it is also quite large.The graduation project is a microcontroller -based control ce

5、nter, with four 8 8 LED dot matrix display combination can produce a 16x16 dot matrix LED display . Requirements of each light-emitting diode display brightness and uniform enough , shows a steady , clear graphics or text, which shows a graphic or text should be able to have a rest , moved out of th

6、e results. Dot matrix display with a dynamic display, dynamic progressive scan turns lights. Dot matrix display using serial transmission of data transfer methods. This article focuses on the LED display is composed of programming hardware and software parts of the circuit , LED dot matrix display f

7、unction realization .Key words: 16 16 dot matrix; SCM;LED display目 錄1 緒論1 1.1設(shè)計的背景1 1.2 LED點(diǎn)陣顯示屏的發(fā)展趨勢22 整體設(shè)計方案3 2.1 設(shè)計所實(shí)現(xiàn)的功能及構(gòu)成3 2.2 顯示模塊的方案3 2.2.1靜態(tài)顯示方式3 2.2.2動態(tài)顯示方式3 2.3數(shù)據(jù)傳輸方案論證43 硬件電路的構(gòu)成5 3.1設(shè)計框圖及介紹5 3.2 51系列單片機(jī)5 3.3單片機(jī)的最小應(yīng)用系統(tǒng)8 3.4 LED點(diǎn)陣9 3.5 LED顯示方式10 3.6點(diǎn)陣的移動11 3.7 點(diǎn)陣顏色的轉(zhuǎn)換14 3.8 LED點(diǎn)陣列驅(qū)動電路154軟件

8、設(shè)計18 4.1單片機(jī)延時子程序18 4.2點(diǎn)陣左移顯示的流程圖及分析19 4.3 PROTEUS ISIS仿真21參考文獻(xiàn)22致 謝23附 錄24 附錄124 附錄234 附錄3371 緒論1.1設(shè)計的背景隨著顯示器件與顯示技術(shù)的進(jìn)而發(fā)展,作為一種重要的傳媒,屏幕顯示系統(tǒng)已經(jīng)廣泛應(yīng)用于國民經(jīng)濟(jì)中。LED顯示屏是由LED點(diǎn)陣模塊或像素單元構(gòu)成的。計算機(jī)技術(shù)的飛速發(fā)展,使得LED數(shù)碼管能夠在減少驅(qū)動器的情況下直接被驅(qū)動。LED數(shù)碼管由于具有高可靠性、長壽命、高性價比、低成本、強(qiáng)適應(yīng)能力等特點(diǎn),使得它在平板顯示領(lǐng)域一直扮演著舉足輕重的角色,而且它今后的發(fā)展空間還相當(dāng)大。因此,LED數(shù)碼管廣泛用于我

9、們?nèi)粘I钪校缪葜男畔@示與廣告宣傳的角色。組合型LED點(diǎn)陣顯示器是開始出現(xiàn)于20世紀(jì)末,它具有很高的亮度、較低的能耗、廣闊的視角、長久的使用時間及引腳少和耐高溫極寒,耐腐蝕的多種特點(diǎn)。點(diǎn)陣顯示器有單色的點(diǎn)陣顯示器和雙色的點(diǎn)陣顯示器,可顯示紅,橙、黃、綠等多種不同顏色。LED點(diǎn)陣具有多種不同的點(diǎn)陣;本文設(shè)計制作的就是1616的LED顯示屏,在下文會詳細(xì)概述。LED點(diǎn)陣顯示器以像素的數(shù)目可將其區(qū)分為雙基色和三基色等類型。根據(jù)不同像素顏色所顯示的圖文等信息的顏色也不盡相同,單色色彩的顯示是使用單基色的點(diǎn)陣,如紅、黃、綠等,其都是固定的。將顏色不同的發(fā)光二極管組合點(diǎn)亮使得顯示出不同顏色的點(diǎn)陣。

10、如紅藍(lán)都亮?xí)r即可顯示紫色,要想實(shí)現(xiàn)256或更高級的灰度的這種真彩色顯示,就需使用脈沖方式來決定二極管點(diǎn)亮的時間。一般的數(shù)碼管能顯示阿拉伯?dāng)?shù)字和其他的一些中西文字與符號,這種數(shù)碼管還可以用一個單塊的LED點(diǎn)陣顯示器來替代。常用的英文字母可以使用57點(diǎn)陣顯示器來顯示,顯示中英文就可以用58點(diǎn)陣顯示,顯示文本和圖形可以采用88點(diǎn)陣來顯示。要形成大屏幕的顯示,它需組合使用多個點(diǎn)陣顯示器。像這種大屏幕點(diǎn)陣顯示器是通過單片機(jī)或者微型計算機(jī)控制其驅(qū)動來實(shí)現(xiàn)多種信息的顯示。1.2 LED點(diǎn)陣顯示屏的發(fā)展趨勢改革開放后期,LED點(diǎn)陣顯示屏作為一種新式的信息顯示媒介在全世界快速的成長起來,因?yàn)槠溆兄梢蚤L期使用的

11、壽命、非常可靠和可觀的性價比、環(huán)境適應(yīng)能力強(qiáng)、低廉的使用成本、低能耗等特性,僅僅在短短的八十年后期至九十年代初期的這段時間內(nèi),就迅速發(fā)展成為主流高科技領(lǐng)域顯示所采用的產(chǎn)品,并得到普及的推廣使用,引領(lǐng)著信息顯示領(lǐng)域的發(fā)展。在現(xiàn)如今高速發(fā)展的社會,信息傳播顯示產(chǎn)品技術(shù)在飛速的往前進(jìn)步,人們對視覺效果的要求也越來越高,也就意味著對顯示屏的顯示技術(shù)要求日益求精。二十一世紀(jì)的顯示技術(shù)也將成為平板顯示的時代,作為平板顯示的主要架構(gòu)產(chǎn)品,LED顯示屏無庸置疑將會有更快的發(fā)展,并成為全球代表性的主流顯示產(chǎn)品。隨著基礎(chǔ)材料的實(shí)現(xiàn)產(chǎn)業(yè)化,使得LED顯示屏的成本也逐步降低,應(yīng)用性也得到更廣泛的普及。由此可預(yù)計在今后

12、的時間內(nèi),LED顯示屏的發(fā)展會越發(fā)迅速,其在戶外媒體廣告宣傳顯示中將逐漸的完全替代那些傳統(tǒng)的霓虹燈、燈箱等產(chǎn)品。多種顏色的LED顯示屏的普遍性的應(yīng)用將使得LED顯示屏產(chǎn)業(yè)的發(fā)展達(dá)到一個增長點(diǎn)的新高。未來LED顯示屏的發(fā)展方向也將越發(fā)標(biāo)準(zhǔn)、規(guī)范、結(jié)構(gòu)多樣化。2 整體設(shè)計方案2.1 設(shè)計所實(shí)現(xiàn)的功能及構(gòu)成基于單片機(jī)的1616 LED點(diǎn)陣顯示屏的設(shè)計,要求其顯示屏的各發(fā)光二極管的亮度足夠并且均勻,顯示穩(wěn)定、清晰的圖形或者文字,其顯示出的圖形或者文字應(yīng)能有靜止、移入移出的效果。本設(shè)計的1616點(diǎn)陣顯示屏是采用四個88的點(diǎn)陣組合構(gòu)成的。行列之間的交錯處都含有一個發(fā)光二極管,總共是由256個發(fā)光二極管組成

13、。2.2 顯示模塊的方案為了達(dá)到顯示效果的增強(qiáng),一般都具有幾種顯示模式,可分為兩種顯示模式,一種為靜態(tài)顯示方式,一種為動態(tài)顯示方式。2.2.1靜態(tài)顯示方式靜態(tài)顯示,每一位顯示器的字段都用獨(dú)立的控制線。由于每一位顯示器分別由一個8位的輸出口控制其字段碼,所以每一位顯示器就得需要8根的輸出控制線,這樣來說,更多位的顯示器就需要更多的輸出控制線。這樣一來將占用較多I/O資源。而單片機(jī)只能提供的有限的I/O口。因此,在實(shí)際使用中,輸出口數(shù)目不夠的問題,可以通過I/O口擴(kuò)展的方式解決。 靜態(tài)顯示主要的優(yōu)點(diǎn)是顯示穩(wěn)定,在發(fā)光二極管電流導(dǎo)通一定的情況下顯示器的亮度高亮,系統(tǒng)運(yùn)行過程中,在需要更新顯示內(nèi)容時,

14、CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時間,又提高了CPU的工作效率。其不足之處是硬件占用資源較多,由于每個LED數(shù)碼管需獨(dú)自占用8條輸出線。因而顯示器位數(shù)的一增加,需求的I/O口線也將一一增加。2.2.2動態(tài)顯示方式在多位顯示時,為了彌補(bǔ)靜態(tài)顯示方式的不足一般來說可以以采用動態(tài)顯示方式來代替,全部數(shù)碼管共用一套段碼驅(qū)動電路,各位數(shù)碼管的同段引腳短接后再接到對應(yīng)段碼的驅(qū)動線上。顯示時通過位控信號采用掃描的方法逐位地循環(huán)點(diǎn)亮各位數(shù)碼管。動態(tài)顯示雖然在任一時刻只有一位數(shù)碼管被點(diǎn)亮,但是由于人眼具有的視覺殘留效應(yīng),看起來與全部數(shù)碼管持續(xù)點(diǎn)亮的效果完全一樣。動態(tài)顯示具有硬件簡單,功耗低和顯

15、示靈活性強(qiáng)等優(yōu)點(diǎn)。鑒于LED顯示器為并排使用的多位數(shù)碼管,本次設(shè)計將采用動態(tài)顯示方式,動態(tài)掃描逐行輪流點(diǎn)亮,因?yàn)槊恳恍卸加幸粋€行驅(qū)動器,而各行的同名列又共用一個驅(qū)動器。單片機(jī)中存儲器放置著顯示所需數(shù)據(jù),這些顯示數(shù)據(jù)按8位一個字節(jié)的形式順序排列放置。當(dāng)要顯示時就需把一行中的各列數(shù)據(jù)信息都傳給其對應(yīng)的列驅(qū)動器上面去,在這中情況下就會出現(xiàn)一個顯示數(shù)據(jù)傳輸?shù)膯栴}。所以這時可以使用并列的方式或串行方式來實(shí)現(xiàn)控制電路到列驅(qū)動器之間的傳輸。2.3數(shù)據(jù)傳輸方案論證在采用并行模式的時候,從控制電路到列驅(qū)動器傳輸數(shù)據(jù)需要非常多的線路和硬件數(shù)。這樣在很多列數(shù)時,并行傳輸模式是行不通的。使用串行傳輸方法來實(shí)現(xiàn)顯示數(shù)據(jù)

16、的傳輸時,用一根信號線就能把列數(shù)據(jù)送到列驅(qū)動器中,該方法具有十分的經(jīng)濟(jì)性。但由于串行傳輸過程比較長,根據(jù)順序?qū)?shù)據(jù)發(fā)送到列驅(qū)動器時,要想這一行的每列并行顯示就得等待其各列的數(shù)據(jù)都傳送完畢。在采用這種串行傳輸方式的時候,且在確定行掃描周期的情況下,因?yàn)榱袛?shù)據(jù)所耗費(fèi)的準(zhǔn)備時間可能會比較長,因此行顯示時間就會不足,將導(dǎo)致發(fā)光二極管亮度也會不足。重疊處理法的關(guān)鍵點(diǎn)是該行列數(shù)據(jù)進(jìn)行顯示的時候,同時把該行的下一行列數(shù)據(jù)傳送給列驅(qū)動器。這種處理法可以用來解決列數(shù)據(jù)顯示時間與準(zhǔn)備時間之間的互相矛盾的問題。要想達(dá)到重疊處理,要求列數(shù)據(jù)的顯示必須得具有鎖存的功能。為了不影響本行的顯示,列數(shù)據(jù)準(zhǔn)備應(yīng)具有實(shí)現(xiàn)串入并出

17、的移位功能。3 硬件電路的構(gòu)成3.1設(shè)計框圖及介紹LED顯示點(diǎn)陣的硬件電路由單片機(jī)系統(tǒng)及外圍電源電路、列驅(qū)動電路和行驅(qū)動電路組成。設(shè)計的點(diǎn)陣總體框圖如圖1所示。圖1 點(diǎn)陣顯示的總體框圖3.2 51系列單片機(jī)單片機(jī)又稱微處理器。它是計算機(jī)的一個分支,它的組成原理和典型PC計算機(jī)有點(diǎn)相似,由多部分基本功能部件集成而來,它一般包括著中央處理器CPU、內(nèi)部數(shù)據(jù)存儲器、程序存儲器、定時器/計數(shù)器、并行I /O口、串行口、中斷控制電路、位處理器和一些必須的內(nèi)部總線。單片機(jī)的基本結(jié)構(gòu)如圖2所示。圖2 51單片機(jī)的基本結(jié)構(gòu)控制器運(yùn)算器構(gòu)成cpu、內(nèi)外程序數(shù)據(jù)存儲加上串并行通信口、中斷與定時計數(shù)這類事件觸發(fā)單元

18、構(gòu)成單片微型計算機(jī)最基本外設(shè)通過外部設(shè)備的擴(kuò)展從而構(gòu)成單片機(jī)最小系統(tǒng)。單片機(jī)的核心是中央處理器(CPU),主要用于完成一些運(yùn)算和實(shí)現(xiàn)控制操作。算術(shù)邏輯控制單元加控制器即中央處理器兩個最核心部分運(yùn)算器電路和控制器電路。算術(shù)邏輯單元主要對數(shù)據(jù)進(jìn)行處理包括加、乘、減、基本算術(shù)運(yùn)算,邏輯單元進(jìn)行邏輯功能運(yùn)算,布爾處理器進(jìn)行位操作。運(yùn)算的實(shí)現(xiàn)是把運(yùn)算數(shù)值放置累加器ACC中通過指令進(jìn)行各種四則運(yùn)算當(dāng)然這還需要其它寄存器的配合。一個用來寄存指令執(zhí)行的狀態(tài)信息的8位寄存器PSW即程序狀態(tài)字。PSW的位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令讀出。其各位的為序所定義的標(biāo)志位如下:PSW中最常用的標(biāo)志位是進(jìn)位標(biāo)志

19、位,即CY;在加法的運(yùn)算中存放,若有進(jìn)位時,CY置1,沒有進(jìn)位時CY需要清零;而在減法的運(yùn)算中它用來存放借位標(biāo)志位,若有借位CY置1,沒有借位CY清零。 半進(jìn)位標(biāo)志位AC是低半字節(jié)的進(jìn)位位,AC置1表示低4位在往高4位進(jìn)位,AC清零表示低4位在向高4位借位??捎捎脩糇远x的標(biāo)志位叫做用戶標(biāo)志位(F0);通過低半字節(jié)對其置位和復(fù)位。 RS1和RS0:寄存器組選擇控制位,用來設(shè)置4組工作寄存器的組號。OV:溢出標(biāo)志位。在加減運(yùn)算中,運(yùn)算超出了累加器A的有效范圍(-128+127)時,則OV置1,產(chǎn)生滿溢,否則OV由硬件清零,代表運(yùn)算的結(jié)果無錯誤。在無符號乘法運(yùn)算中,當(dāng)乘法結(jié)果超過255時,OV=1

20、,高8位的乘積放在B中,低8位放在A中;沒超過255時,則OV清零,代表乘積置存放在A中。奇偶標(biāo)志位用P表示。表明累加器A中1的個數(shù)的奇偶性,若A中1的個數(shù)是偶數(shù)時,則P=0;若A中1的個數(shù)是奇數(shù),則P=1。單片機(jī)是一種通過程序控制的微型計算機(jī);工作過程是從程序存儲器中取指令送指令存儲器,譯碼器譯碼生成一系列符合定時要求的微操作信號,來控制單片機(jī)的各部分執(zhí)行動作。在80C51內(nèi)部的功能部件間數(shù)據(jù)的傳送和運(yùn)算是由控制器所協(xié)調(diào)的。(2)存儲器組織51系列的單片機(jī)的存儲器具有兩個部分,即程序存儲器和數(shù)據(jù)存儲器。程序存儲器和數(shù)據(jù)存儲器兩個的結(jié)構(gòu)是分開的。程序存儲器是用來存放單片機(jī)系統(tǒng)的目標(biāo)程序的,可分

21、片內(nèi)和片外程序存儲器。同理數(shù)據(jù)存儲器就是存儲數(shù)據(jù)的,其也具有片內(nèi)和片外之分。哈佛類型結(jié)構(gòu)單片機(jī)指的是有著它自己的尋址機(jī)構(gòu)和尋址方式的存儲結(jié)構(gòu)。還有一種與哈佛結(jié)構(gòu)單片機(jī)不同結(jié)構(gòu)的單片機(jī)叫做普利適頓型,這種結(jié)構(gòu)單片機(jī)的存儲器的邏輯空間是唯一的,訪問存儲器時共用一種相同的指令,它的程序存儲器和數(shù)據(jù)存儲器可以隨便安排。80C51的片內(nèi)具有的程序存儲器和數(shù)據(jù)存儲器大小分別為4KB(ROM)、256K,程序存儲器和數(shù)據(jù)存儲器都可在片外擴(kuò)展64KB的尋址范圍,也就是說80C51在片外的存儲器擴(kuò)展范圍上限為264KB。80C51單片機(jī)的存儲器的配置如圖3所示。 圖3 80C51單片機(jī)的存儲器配置80C51程序

22、存儲器有64KB空間的可尋址地址,程序存儲器通過16位的地址總線以程序計數(shù)器PC作為地址指針,用來存放程序和一些表格及常數(shù)。8031片內(nèi)沒有程序存儲器,需要在外部擴(kuò)展。而8051與8031不同,在8051單片機(jī)片內(nèi)有駐留最低4KB存儲器地址空間(0000HFFFH)。51系列單片機(jī)中,64KB的程序存儲器編址都是統(tǒng)一的。EA引腳可區(qū)分片內(nèi)ROM和片外ROM,8051單片機(jī)中,EA引腳接高電平時,單片機(jī)從片內(nèi)ROM取指令執(zhí)行程序,當(dāng)超過片內(nèi)ROM地址空間0FFFH后,自動轉(zhuǎn)向片外ROM取指令執(zhí)行程序,所以片外程序存儲器ROM地址空間是1000HFFFFH。EA引腳接低電平,中央處理器CPU只從片

23、外程序存儲器ROM中取用指令來執(zhí)行。8051單片機(jī)有256個單元的數(shù)據(jù)存儲器,根據(jù)功能可以把256個單元分為低128單元和高128單元。低128單元(00H7FH)稱為內(nèi)部RAM,內(nèi)部RAM是真正意義上的RAM區(qū),其各單元可直接尋址,用于讀寫各種類型數(shù)據(jù)。高128單元(80HFFH)是給特殊功能寄存器(SFR)專用的,用于存放相應(yīng)功能的控制命令、狀態(tài)或數(shù)據(jù)。8051片內(nèi)還有著21個8位的特殊功能寄存器,訪問時可使用它們的位符號或者位地址,還可用“寄存器名.位”表示,像表示ACC的最低位為ACC.0,表示B寄存器的最高位為B.7。3.3單片機(jī)的最小應(yīng)用系統(tǒng)將片內(nèi)有程序存儲器的單片機(jī)與時鐘電路、復(fù)

24、位電路組合,再與單片機(jī)內(nèi)部的中斷系統(tǒng)、定時器計數(shù)器、串、并行接口連接就構(gòu)成了單片機(jī)的最小應(yīng)用系統(tǒng)。如圖4所示,就是一個單片機(jī)最小應(yīng)用系統(tǒng)。 圖4 單片機(jī)最小應(yīng)用系統(tǒng)單片機(jī)實(shí)現(xiàn)復(fù)位的方式只有2種,加電復(fù)位和手動復(fù)位。加電復(fù)位是指單片機(jī)在開機(jī)時由系統(tǒng)自動通過復(fù)位電路完成。手動復(fù)位是單片機(jī)系統(tǒng)必須有的一項(xiàng)功能,在系統(tǒng)出現(xiàn)死機(jī)或進(jìn)入程序跑飛死循環(huán)的情況時,可通過手動復(fù)位重新啟動操作來解決。我們通常把加電復(fù)位電路與手動復(fù)位所結(jié)合成一個既可以自動加電復(fù)位也能手動的復(fù)位電路。單片機(jī)的復(fù)位電路簡圖如圖5所示。圖5 單片機(jī)的復(fù)位電路簡圖51系列單片機(jī)的工作電壓為5V,其EA引腳需接高電平,51系列單片機(jī)的電源電

25、路如圖6所示。 圖6 51系列單片機(jī)的電源電路3.4 LED點(diǎn)陣在LED顯示屏系統(tǒng)中,其構(gòu)成的基本單元為點(diǎn)陣結(jié)構(gòu)。每一個顯示屏的單元都是由若干個88的單色LED點(diǎn)陣顯示模塊組成。每個88的LED點(diǎn)陣都是由64個單個發(fā)光二極管組合的,在每行與每列的交匯點(diǎn)放置一個單個的發(fā)光二極管排列成了一個88的單色LED點(diǎn)陣。使用兩塊單色的88 LED點(diǎn)陣正確的連線可以顯示兩種顏色,這就是雙色88點(diǎn)陣。單色88 LED點(diǎn)陣和雙色88 LED點(diǎn)陣的結(jié)構(gòu)如圖7所示。單色88 LED點(diǎn)陣 雙色88 LED點(diǎn)陣 圖7 單雙色88 LED點(diǎn)陣結(jié)構(gòu) 本設(shè)計是采用4塊88的LED點(diǎn)陣模塊組合成1個1616的LED點(diǎn)陣顯示模塊

26、。如圖8所示。圖8 1616 LED 點(diǎn)陣3.5 LED顯示方式 本設(shè)計所設(shè)計的1616 LED點(diǎn)陣采用的是動態(tài)掃描方法,將所有位數(shù)碼管的段選線一起并聯(lián),即同一列發(fā)光二極管陰極一起連接,同以行發(fā)光二極管陽極一起連接。從首行開始,把數(shù)據(jù)送出并且鎖存,使首行對應(yīng)的發(fā)光二極管亮熄一定時間;然后依照這樣,再進(jìn)行接下來的每一行都以相同時間亮熄,直至第十六行完成后,又重新回到第一行執(zhí)行亮熄,如此反復(fù)循環(huán)的亮熄。當(dāng)以每秒24次以上的亮熄速度時,穩(wěn)定的圖形就能出現(xiàn)在顯示屏上,這是因?yàn)槿搜鄣囊曈X暫留現(xiàn)象產(chǎn)生的。相比靜態(tài)掃描來說,這種靈活的動態(tài)掃描方法能有效的節(jié)省單片機(jī)的資源。顯示數(shù)據(jù)傳輸使用的是串行傳輸?shù)姆椒ā?/p>

27、使用串行傳輸方法來實(shí)現(xiàn)顯示數(shù)據(jù)的傳輸時,用一根信號線就能把列數(shù)據(jù)送到列驅(qū)動器中,該方法具有十分的經(jīng)濟(jì)性。但由于串行傳輸過程比較長,根據(jù)順序?qū)?shù)據(jù)發(fā)送到列驅(qū)動器時,要想這一行的每列并行顯示就得等待其各列的數(shù)據(jù)都傳送完畢。在采用這種串行傳輸方式的時候,且在確定行掃描周期的情況下,因?yàn)榱袛?shù)據(jù)所耗費(fèi)的準(zhǔn)備時間可能會比較長,因此行顯示時間就會不足,將導(dǎo)致發(fā)光二極管亮度也會不足。串行傳輸過程中列數(shù)據(jù)的準(zhǔn)備時間會與數(shù)據(jù)顯示時間相矛盾,一般使用重疊處理方法解決。重疊處理法的關(guān)鍵點(diǎn)是該行列數(shù)據(jù)進(jìn)行顯示的時候,同時把該行的下一行列數(shù)據(jù)傳送給列驅(qū)動器。要想達(dá)到重疊處理,要求列數(shù)據(jù)的顯示必須得具有鎖存的功能。為了不影

28、響本行的顯示,列數(shù)據(jù)準(zhǔn)備應(yīng)具有實(shí)現(xiàn)串入并出的移位功能。LED點(diǎn)陣顯示模塊有水平方向(X方向)掃描和豎直方向(Y方向)掃描方式。水平掃描法即列掃描方法:用一個P口輸出列的位碼來確定點(diǎn)亮哪一列,另一個P口輸出行的位碼確定行上的具體點(diǎn)亮哪個發(fā)光二極管。自左向右循環(huán)掃描16次,顯示出穩(wěn)定的圖像。3.6點(diǎn)陣的移動如下為1616點(diǎn)陣移動介紹。點(diǎn)陣的組字是通過橫向和縱向的16點(diǎn)數(shù)據(jù)顯示不同的字符,每一組成的字符都可以水平、豎直的在點(diǎn)陣屏上移動。1.字符左右移動的顯示(1)豎直(列)掃描方法左移動:即豎直方向的字符在水平方向移動(左方移動)介紹兩個方法:方法一:延長數(shù)組法。將原先的字符點(diǎn)陣數(shù)組的16個數(shù)據(jù)延長

29、為32個數(shù)據(jù)。掃描儀的每幀取八個顯示數(shù)據(jù),每一幀取數(shù)時應(yīng)該在數(shù)組的后一位取,也就是向后移一位。要想呈現(xiàn)字符的水平方向的向左的移動的影像。首先,設(shè)想有兩個1616的點(diǎn)陣模塊,每次掃描16幀的數(shù)據(jù),先從左邊開始,然后都以16幀向右掃描,先前的16位被罩住,如此循環(huán),就能實(shí)現(xiàn)16幀換面的動態(tài)掃描顯示。如圖9.字符“江”沿水平向左移動的圖像圖9方框圖法左右移動示意圖列向若想顯示一個移動的字符,首先理解列掃描方式其點(diǎn)陣數(shù)據(jù)時行碼,高位在下面,低位在上面,所以當(dāng)?shù)谝淮稳〕?16數(shù)據(jù)是從行碼的點(diǎn)陣數(shù)組中取出的,接著把得到的行碼送到輸出口,與之相對應(yīng)的這八個數(shù)組數(shù)據(jù)用列碼傳送至輸出口端,分別把控116列。這1

30、6個數(shù)據(jù)被掃描完成后,第二次就去214個數(shù)據(jù),因?yàn)閮蓚€相同的數(shù)據(jù)1和17,再次送到輸出口端,這樣又對應(yīng)了相應(yīng)的數(shù)據(jù),送給列的輸出端口同時輸出相應(yīng)的列碼,于是控制著相應(yīng)的列(116列)三次的掃描取得數(shù)據(jù)為318,而18與2是相同的數(shù)據(jù)碼,這樣循環(huán)的掃描完成了字符的左向移動。上述實(shí)現(xiàn)的是圖形化移動的方法,也可理解為是移動了多個不同的形狀字形。如圖10所示,通過對16行的掃描與顯示,完成一個個字型的掃描,多少次的重復(fù)循環(huán)實(shí)現(xiàn)字符的左向移動。 圖10 字形法左右移動示意圖假定一個漢字的字型編碼如下:00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C

31、0H,0D0H,0E0H,0F0H;假設(shè)第二個漢字的編碼如下:10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H,00H相當(dāng)于將字型的編碼的行顯示數(shù)據(jù)往后推一行,即第一行變?yōu)榈诙?,第二行變?yōu)榈谌校绱送扑?。第一個字型掃描結(jié)束就接著產(chǎn)生第二個字型的編碼,以此類推,不斷的進(jìn)行編碼的變換調(diào)整。編碼的根據(jù)順序存入相應(yīng)的地址,若要進(jìn)行左移,先得把第一個地址存入到另外的 一個地址,不是保存本數(shù)組數(shù)據(jù)的地址,然后存數(shù)據(jù)的地址依次向前移,例如,21H地址的數(shù)據(jù)移到20H,接著22H的數(shù)據(jù)就得移到21H地址,相互移動,達(dá)到相應(yīng)的

32、效果。方法二:數(shù)組數(shù)據(jù)的循環(huán)左移;即是把數(shù)組中的數(shù)據(jù)向左移不是二進(jìn)制數(shù)據(jù)的位移。不延長原先數(shù)組中的數(shù)據(jù),而是去相應(yīng)下一幀的十六個數(shù)據(jù),然后把前一幀的數(shù)據(jù)前移,也就是左移,把后面的每一幀數(shù)據(jù)向前移,一直移下去,直到第16個。數(shù)組數(shù)據(jù)的左移方法選擇C語言實(shí)現(xiàn),首先得設(shè)置數(shù)組的下標(biāo)志,將相應(yīng)的數(shù)據(jù)輸入到數(shù)組中,然后根數(shù)數(shù)組的下標(biāo)值,利用程序中的循環(huán)結(jié)構(gòu),進(jìn)行遍歷,將相應(yīng)的值賦給前一個標(biāo)號的數(shù)組中,這樣就可以實(shí)現(xiàn)數(shù)組數(shù)據(jù)的左移。(2)橫向(行)掃描方法左移動:即橫向方向的字符在水平方向移動(左方移動)。豎直掃描方式也就是行掃描方式,第一次掃描取116個數(shù)據(jù),輸送到列向的輸出口端,相聯(lián)系的八個數(shù)值,用行

33、碼輸出口段輸出相應(yīng)的行碼值,決定著116行的掃描。接著,第二次掃描十六個數(shù)據(jù),這次掃描需要右移第一次掃描的數(shù)據(jù),如此掃描循環(huán),關(guān)鍵的是后一次的掃描需讓前一次的掃描右移一位。與此同理,右移的原理與左移相似,只是取碼的次序不同而已(相反)。2.數(shù)據(jù)的上下移動(1)列掃描方式向上移動將第一次點(diǎn)陣中掃描到的116個數(shù)據(jù)取出來,輸送到列向碼的輸出口端,對此的十六個數(shù)據(jù),然后要列碼端的輸出端口輸出相應(yīng)的列碼,同時決定116行的掃描。又因?yàn)榱邢虻臄?shù)組的組字是下低上高的,所以在完成了第一次的十六個數(shù)掃描后,在掃描第二次十六位數(shù)據(jù)的時候,需要將第一次的數(shù)據(jù)的行碼右移一位,這樣就完成了數(shù)據(jù)的上方向移動。上述實(shí)現(xiàn)的

34、是圖形化移動的方法,也可理解為是移動了多個不同的形狀字形。通過對16行的掃描與顯示,完成一個個字型的掃描,多少次的重復(fù)循環(huán)實(shí)現(xiàn)字符的向上移動。同時將每一個顯示的數(shù)據(jù)都右移一位,隨之長生一個動態(tài)向上滾動的字符,也就是有滾動的視覺感應(yīng)。當(dāng)字符被掃描完成后,然后進(jìn)行相應(yīng)的動作調(diào)整改變,產(chǎn)生后面的字型的編碼,再將編碼存入存儲器,然后將地址數(shù)據(jù)調(diào)整,即將每組數(shù)據(jù)向右移一位。 圖11 字形法上移動示意圖(2)橫向(行)掃描方式上下移動介紹兩種方法于字符的豎直方向的移動。方法一:延長數(shù)組法。在行向組列字的基礎(chǔ)上,若想將一個字符向上移動,則在第一次去點(diǎn)陣數(shù)據(jù)的116數(shù)據(jù)時,把它輸送到輸出口端,與之相對應(yīng)的八個

35、數(shù)值,然后在行碼輸出口端輸出相應(yīng)的行碼值決定116行。第二此數(shù)據(jù)的取出就從217數(shù)據(jù)取,因?yàn)?7與1的數(shù)據(jù)相同,然后在輸出,相應(yīng)的在控制相應(yīng)的行,后面的數(shù)據(jù)取出就是318的數(shù)據(jù),以此類推,往復(fù)循環(huán)實(shí)現(xiàn)字符的上方向移動。方法二:即數(shù)組數(shù)據(jù)的左方向循環(huán)移動,也就是上文所述的數(shù)組的左向移動利用變量的變化來檢測數(shù)組數(shù)據(jù)的左方向循環(huán)移動。3.7 點(diǎn)陣顏色的轉(zhuǎn)換 以88雙色點(diǎn)陣為例介紹兩種顏色的轉(zhuǎn)換原理。88雙色點(diǎn)陣是由2個88的單色點(diǎn)陣一起組合而成的,如圖13所示。在電路設(shè)計的時候可以從公共的引腳接入顯示信號,接89C51的一個PORT口,另外2個PORT分別接顯示紅、黃的部分。這樣,編程執(zhí)行時,掃描輸

36、出顯示紅色的信號就會顯示出紅色,掃描輸出顯示黃色的信號就顯示了黃色。 圖12 雙色88點(diǎn)陣掃描圖3.8 LED點(diǎn)陣列驅(qū)動電路當(dāng)至少提供10毫安到20毫安時,發(fā)光二極管才會被正向點(diǎn)亮。提供的電流不足夠大,發(fā)光二極管就會不足夠亮。8051的輸入、輸出端的高態(tài)輸出電流都不過12毫安而已,難以直接驅(qū)動發(fā)光二極管的點(diǎn)亮。而需要額外加入驅(qū)動電路來驅(qū)動發(fā)光二極管的的點(diǎn)亮,根據(jù)兩種不同的共用極向的LED點(diǎn)陣有著不同的驅(qū)動方式。根據(jù)不同的輸出態(tài)也可以分為四種方式,即:低態(tài)掃描-高態(tài)顯示、低態(tài)掃描-低態(tài)顯示、高態(tài)掃描-高態(tài)顯示和高態(tài)掃描-低態(tài)顯示。如圖13 所示是針對共陰性LED陣列而設(shè)計的驅(qū)動電路,在這種驅(qū)動電

37、路采用低態(tài)掃描,也就是任何時間只有一個高態(tài)信號,其他則為低態(tài)。一行掃描完成之后,再把高態(tài)信號轉(zhuǎn)到臨近的其他行。掃描信號經(jīng)限流電阻接到PNP晶體管的基極,晶體管的集電極接地,射極則連至LED點(diǎn)陣的列引腳,若要同時點(diǎn)亮該列的16個LED,則晶體管的電流必須大于200毫安才行。常用的2N3904之類就可以達(dá)到當(dāng)?shù)蛻B(tài)的列掃描信號輸入晶體管的基極后,該晶體管即為正向,而產(chǎn)生電流,即可使該列的LED具有點(diǎn)亮的條件。 圖 13共陰型低態(tài)掃描-低態(tài)顯示信號驅(qū)動電路 PNP晶體管的連接如圖13中,基極接顯示信號,射極連電源VCC。當(dāng)輸入低態(tài)的顯示信號時,晶體管集電極電流流入行二極管的陽極,使得發(fā)光二極管被點(diǎn)亮。

38、像本設(shè)計所設(shè)計的1616 LED點(diǎn)陣列是由4個88 LED點(diǎn)陣列并接所成的,這種多個并接的LED陣列掃描時,一個掃描信號同時驅(qū)動著2個LED陣列。如圖14所示。 當(dāng)一個掃描信號驅(qū)動2行LED陣列時,需要使用鎖存器將兩組顯示信號鎖存住。鎖存器74LS595的輸出是低態(tài)輸出,輸出電壓可以達(dá)到24毫安,發(fā)光二極管的驅(qū)動電流最低為10毫安,所以24毫安足夠驅(qū)動點(diǎn)亮發(fā)光二極管。如果驅(qū)動電流不足,發(fā)光二極管不夠亮,可選用輸出電壓能達(dá)到48毫安的74A373鎖存器。 圖14中的電路驅(qū)動有16條掃描信號,由8051直接輸出的話,占用了2個P口,浪費(fèi)了P口資源。可以使用74LS164譯碼器,將16進(jìn)位碼解碼成低

39、態(tài)的掃描信號輸出,輸出的信號直接接PNP晶體管的基極,若電流信號太大可中間串一個電阻限流,再接晶體管基極,晶體管把信號放大后就能驅(qū)動16個發(fā)光二極管點(diǎn)陣了。1616的點(diǎn)陣驅(qū)動圖如圖14所示。 圖14 1616的點(diǎn)陣驅(qū)動圖4軟件設(shè)計4.1單片機(jī)延時子程序 在單片機(jī)的程序編程過程中,延時經(jīng)常被用到,延時程序是整個程序中非常重要的一部分。本次畢業(yè)設(shè)計中,LED點(diǎn)陣的行掃描時間、顯示字符的移動的時間間隔都用到了延時,延時可以保持字符移動的連貫性,也可以作為間隔停頓。下面簡要的介紹延時程序涉及的一些基本概念及一些相關(guān)的指令的詳細(xì)用法。1.機(jī)器周期和指令周期單片機(jī)完成一個基本指令操作所耗費(fèi)的時間叫做機(jī)器周

40、期。機(jī)器周期視脈沖頻率而定,振蕩脈沖頻率為12MHz時,機(jī)器的周期為1us;振蕩脈沖頻率為6MHz時,機(jī)器周期就為2us。執(zhí)行以條指令所耗費(fèi)的時間叫做指令周期,指令周期用機(jī)器周期的數(shù)目來表示。2.延時指令由于單片機(jī)每執(zhí)行一條指令都需要耗費(fèi)一定時間,所以可使單片機(jī)執(zhí)行無操作命令的指令,即空指令來達(dá)到延時的效果。(1)MOV數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個地方傳送、拷貝到另一個地方。例如:MOV R0,80H;表示把數(shù)據(jù)80H送到R7中,該指令占用一個機(jī)器周期,并沒有實(shí)際的操作。(2)NOP空操作指令空操作指令占用一個機(jī)器周期,單片機(jī)不做任何的操作。因此,NOP指令常用于程序等待或時間的

41、延時。(3)DJNZ循環(huán)轉(zhuǎn)移指令 將第一個數(shù)減1判0。如果該數(shù)減1后結(jié)果不為0,程序就轉(zhuǎn)移;結(jié)果為0,程序就順序繼續(xù)往下執(zhí)行。這指令耗費(fèi)2個機(jī)器周期的時間。運(yùn)用上面三條指令組合在程序編程中能夠?qū)崿F(xiàn)相對精確的延時程序。本次設(shè)計中程序的延時程序如下:MOV R3,#200 D1: MOV R5,#250 F 1: DJNZ R5,F(xiàn)1 DJNZ R3,D1 RET 2其延時的時間為:1+(1200)+(2250200)+(2200)+2=(2*250+3)*200+3 =s 100ms =0.1s4.2點(diǎn)陣左移顯示的流程圖及分析 點(diǎn)陣掃描作準(zhǔn)備,設(shè)定程序的初始地址為0H,選擇符號F的初值為0。主程

42、序開始的延時子程序延時0.1秒,子程序使用2次,在程序開始啟動作停頓用和一次左移結(jié)束到下一次重新開始間的停頓。從M3運(yùn)行程序循環(huán),M3的開始程序來確定列掃描出口即選擇點(diǎn)陣的顏色,F(xiàn)初值為0,從P1口輸出掃描信號,首先顯示紅色點(diǎn)陣。設(shè)定每列掃描時間為:MOV R3,#50 DJNZ R3,$ ;1+(250)=101us0.1ms。字型顯示移動完后,返回重新開始移動。4個字符字型碼128個,取碼指針初值為0,每次對其加2,至128時循環(huán)結(jié)束,再改變F的狀態(tài),程序跳回開始部分,黃色點(diǎn)陣顯示開始移動。顯示效果:開始顯示時,停頓0.1秒,然后向左以每0.1秒移動顯示4個紅色的字,當(dāng)顯示到左后第4字后,

43、停頓0.1秒。再依次以每0.1秒顯示4個黃色的字,黃色的字型顯示完,停頓0.1秒,再重復(fù)接4個紅色的字依次從左移動顯示出。依此循環(huán)。點(diǎn)陣左移顯示的流程圖如圖16所示。整個顯示過程的程序見附錄A所示。圖15顯示流程圖4.3 PROTEUS ISIS仿真 Proteus是由ISIS和ARES兩部分組成的軟件。其中ISIS是用于電子系統(tǒng)原理設(shè)計和仿真平臺的軟件。ARES是用于高級的PCB布線編輯軟件。我們用ISIS來進(jìn)行本次設(shè)計的仿真。首先,先在軟件中畫出仿真線路圖和所用的各個元件,編寫相應(yīng)單片機(jī)的程序,加載程序,生成HEX文件。新建Keil項(xiàng)目,導(dǎo)入源程序。設(shè)置好單片機(jī)時鐘頻率,為12MHz,選擇

44、正確的文件路徑然后加載。設(shè)置完各項(xiàng)就能實(shí)現(xiàn)仿真。若出現(xiàn)仿真結(jié)果不對,修改程序,重新編譯運(yùn)行,直至沒有錯誤。仿真結(jié)果見附錄3。 參考文獻(xiàn)1. 張義和 陳敵北編著例說8051人民郵電出版社2006年Zhang Yihe,Chen Dibei Ed cases, said 8051M. People Post Press 20062周越主編單片機(jī)技術(shù)實(shí)驗(yàn)實(shí)訓(xùn)教程中國水利水電出版社2007年Zhou Yue editorchip technology experimental training course M.China Water Power Press 2007 3. 周越主編單片機(jī)應(yīng)用技術(shù)中國

45、水利水電出版社2009年Zhou Yue editorSCM Application TechnologyM.China Water Power Press 2009 4李全利編單片機(jī)原理及應(yīng)用技術(shù)高等教育出版社2004年 Liquan Li series Principles and Applications TechnologyM.Higher Education Press 20045. 李忠國 陳剛編著單片機(jī)應(yīng)用技能實(shí)訓(xùn)人民郵電出版社2006年Li Zhongguo Chen Gang edited microcomputer application skills trainingM.

46、People Post Press 20066. 趙建領(lǐng)編著Protel電路設(shè)計與制版寶典電子工業(yè)出版社2007年Zhao Jianling edited Protel circuit design and platemaking CollectionM.Electronic Industry Publishing House 20077郭振民丁紅主編電子設(shè)計自動化EDA中國水利水電出版社2009年Guo Zhenmin Ding Hong editor Electronic Design Automation EDA M. China Water Power Press 20098. 周潤景

47、等編著Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例電子工業(yè)出版社2006年 Zhourunjing eds Proteus application hundred cases in MCS-51 & ARM7 systemM.Electronic Industry Publishing House 20069. Vizimuller.P. RF design guide-systems,circuits,and equations. 1995.10 .R.Dye. Visual Object-Orientated Programming,Dr.Dobbs Macintosh Jour

48、nal. Sept.1st.1991 致 謝畢業(yè)論文暫告收尾,這也意味著我在大學(xué)學(xué)習(xí)生活既將結(jié)束?;厥准韧?,自己一生最寶貴的時光能于這樣的校園之中,能在眾多學(xué)富五車、才華橫溢的老師們的熏陶下度過,實(shí)是榮幸之極。在這幾年的時間里,我在學(xué)習(xí)上和思想上都受益非淺。這次設(shè)計的成功除了自身努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵是分不開的,我要在這里對他們表示深深的謝意。每一次經(jīng)歷都是成長,在設(shè)計當(dāng)中發(fā)現(xiàn)很多的問題,都是之前沒有遇到過的,處理著這些事情,雖然都是些不起眼的小事,但還是需要很多解決大事情的技巧與經(jīng)驗(yàn)。每次在設(shè)計時,遇到的各種問題,都不知道如何下手,沒有一個整體的思路,就有些茫然無措

49、的感覺,幸運(yùn)的是,同學(xué)與老師的教傳與啟蒙,讓我有著恍然大悟的感覺,多少次徘徊在問題當(dāng)中,想想該如何實(shí)現(xiàn)這個功能或者那個功能,自己都得到了一次鍛煉,很多事情其實(shí)都是需要耐心的,發(fā)現(xiàn)問題不懂,然后自己在網(wǎng)上查找資料,實(shí)在是不能得出肯定正確的結(jié)果,然后就找老師一一解答,老師的細(xì)心指導(dǎo),啟蒙式的教導(dǎo)方式,讓人受益匪淺,而不是那種純粹式的灌輸,這種思考方式的教導(dǎo)會給人學(xué)會面對其他問題的思考,觸類百通,授之以漁不如授之以漁。這次設(shè)計中十分感謝我的指導(dǎo)老師桂友超老師,在設(shè)計上給了很多寶貴的經(jīng)驗(yàn),給予了很多的指導(dǎo)與幫助,得以讓設(shè)計順利進(jìn)行。老師在教導(dǎo)過程中形象的用各種例子來講述各種問題,通俗易懂,敬佩他專業(yè)知

50、識淵博的同時,對他的那種生活高尚情操深深嘆服,那種一絲不茍,諄諄教誨的教師品格是學(xué)生將來工作的榜樣。同時,老師的教導(dǎo)寓事于理,不僅僅教的是專業(yè)知識,更是一種對待生活人生的達(dá)觀與理解。 最后,對老師,同學(xué)等所有的人以及學(xué)校給我們提供的這么好的學(xué)業(yè)環(huán)境,致以我最衷心的感謝,因?yàn)橛辛诉@些,大學(xué)才夠完整。附 錄附錄1一、 程序1.匯編語言程序:ORG 0000H;CLR F0;顏色選擇符號F0清零START: MOV A,#00H;清除屏幕MOV P2,A;顯示信號輸出到P2口MOV R3,#200;延時程序D1: MOV R5,#250;F1: DJNZ R5,F1;DJNZ R3,D1;MOVE:

51、MOV 20H,#00;取碼指針地址20H初值為00MOV R4,00H;74LS154掃描指針初值為00M1:MOV R1,#65;每屏停留時間M2:MOV R6,#16;每屏一個字,16個數(shù)據(jù)碼MOV R0,20H;取碼指針存入R0M3: MOV A,R4;掃描指針載入AJB F0,ORGANGE;顏色選擇CLR P0.2;清P0.2SETB P0.3;P0.3置1MOV P1,A;輸出至P1掃描列SJMP M4;ORGANGE:MOV P3,A;CLR P0.3;M4: MOV A,R0;取碼指針載入AMOV DPTR,#TABLE;數(shù)據(jù)指針指到 TABLEMOVC A,A+DPTR;到

52、TABLE取上半部數(shù)據(jù)碼SETB P0.1;P0.1口置1CLR P0.0;清P0.0口MOV P2,A;輸出至P2口顯示INC R0;取下一個碼MOV A,R0;取碼指針載入AMOV DPTR,#TABLE;數(shù)據(jù)指針指到TABLEMOVC A,A+DPTR;到TABLE取下半部碼SETB P0.0;CLR P0.1;MOV P2,A;輸出到P2口顯示INC R0;取碼值加1MOV R3,#50;延時DJNZ R3,$;MOV A,#00H;清除屏幕MOV P2,A;INC R4;掃描下一行DJNZ R6,M3;判斷顯示一屏MOV R4,#00;清除74LS154掃描指針為00DJNZ R1,

53、M2;每屏停留時間MOV A,20H;取碼指針載入AADD A,#02;指針加2MOV 20H,A;再存入20H地址取碼指針XRL A,#128;四個字是否都左移完?JNZ M1;否,跳到M1CPL F0; 顏色選擇符號F0清零SJMP START;是,跳到STARTTABLE:DB 02H,00H,02H,08H,06H,10H,0AH,20HDB 12H,48H,22H,84H,7FH,0FEH,02H,00HDB 02H,00H,7AH,00H,06H,10H,03H,0A0HDB 0AH,70H,02H,48H,02H,8CH,00H,10H;DB 0FH,00H,10H,40H,20

54、H,20H,20H,10HDB 20H,08H,10H,04H,08H,02H,04H,01HDB 04H,02H,08H,04H,10H,08H,20H,10HDB 20H,20H,20H,40H,10H,80H,0FH,00H;DB 08H,26H,44H,06H,26H,06H,30H,38HDB 01H,02H,20H,02H,20H,02H,20H,02HDB 20H,02H,2FH,0FEH,20H,02H,20H,02HDB 20H,02H,20H,02H,00H,02H,00H,00H;DB 08H,20H,44H,20H,26H,7EH,30H,80HDB 01H,00H,0F2H,00H,22H,00H,3FH,0F0HDB 22H,10H,2FH,90H,22H,10H,22

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論