基于單片機的多點陣LED字符顯示屏的設計_第1頁
基于單片機的多點陣LED字符顯示屏的設計_第2頁
基于單片機的多點陣LED字符顯示屏的設計_第3頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、display devices 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 puter technology , makes digital LED can be driven directly in the drive to reduce the

4、 case . LED 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

5、 control center, with four 8 × 8 LED dot matrix display bination 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 ,

6、moved out of the 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 posed of programming hardware and software parts of the circuit , LED dot matr

7、ix display function realization .Keywords: 16 × 16 dot matrix; SCM;LED display. v.目 錄1 緒論11.1設計的背景11.2 LED點陣顯示屏的開展趨勢22 整體設計方案32.1 設計所實現(xiàn)的功能及構(gòu)成32.2 顯示模塊的方案32.2.1靜態(tài)顯示方式32.2.2動態(tài)顯示方式32.3數(shù)據(jù)傳輸方案論證43 硬件電路的構(gòu)成53.1設計框圖及介紹53.2 51系列單片機53.3單片機的最小應用系統(tǒng)83.4 LED點陣93.5 LED顯示方式103.6點陣的移動113.7 點陣顏色的轉(zhuǎn)換143.8 LED點陣列驅(qū)動

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

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

10、顯示出不同顏色的點陣。如紅藍都亮時即可顯示紫色,要想實現(xiàn)256或更高級的灰度的這種真彩色顯示,就需使用脈沖方式來決定二極管點亮的時間。一般的數(shù)碼管能顯示阿拉伯數(shù)字和其他的一些中西文字與符號,這種數(shù)碼管還可以用一個單塊的LED點陣顯示器來替代。常用的英文字母可以使用5×7點陣顯示器來顯示,顯示中英文就可以用5×8點陣顯示,顯示文本和圖形可以采用8×8點陣來顯示。要形成大屏幕的顯示,它需組合使用多個點陣顯示器。像這種大屏幕點陣顯示器是通過單片機或者微型計算機控制其驅(qū)動來實現(xiàn)多種信息的顯示。1.2 LED點陣顯示屏的開展趨勢改革開放后期,LED點陣顯示屏作為一種新式的信

11、息顯示媒介在全世界快速的成長起來,因為其有著可以長期使用的壽命、非??煽亢涂捎^的性價比、環(huán)境適應能力強、低廉的使用本錢、低能耗等特性,僅僅在短短的八十年后期至九十年代初期的這段時間內(nèi),就迅速開展成為主流高科技領域顯示所采用的產(chǎn)品,并得到普及的推廣使用,引領著信息顯示領域的開展。在現(xiàn)如今高速開展的社會,信息傳播顯示產(chǎn)品技術在飛速的往前進步,人們對視覺效果的要求也越來越高,也就意味著對顯示屏的顯示技術要求日益求精。二十一世紀的顯示技術也將成為平板顯示的時代,作為平板顯示的主要架構(gòu)產(chǎn)品,LED顯示屏無庸置疑將會有更快的開展,并成為全球代表性的主流顯示產(chǎn)品。隨著根底材料的實現(xiàn)產(chǎn)業(yè)化,使得LED顯示屏的

12、本錢也逐步降低,應用性也得到更廣泛的普及。由此可預計在今后的時間內(nèi),LED顯示屏的開展會越發(fā)迅速,其在戶外媒體廣告宣傳顯示中將逐漸的完全替代那些傳統(tǒng)的霓虹燈、燈箱等產(chǎn)品。多種顏色的LED顯示屏的普遍性的應用將使得LED顯示屏產(chǎn)業(yè)的開展到達一個增長點的新高。未來LED顯示屏的開展方向也將越發(fā)標準、規(guī)X、構(gòu)造多樣化。. v.2 整體設計方案2.1 設計所實現(xiàn)的功能及構(gòu)成基于單片機的16×16 LED點陣顯示屏的設計,要求其顯示屏的各發(fā)光二極管的亮度足夠并且均勻,顯示穩(wěn)定、清晰的圖形或者文字,其顯示出的圖形或者文字應能有靜止、移入移出的效果。本設計的16×16點陣顯示屏是采用四個

13、8×8的點陣組合構(gòu)成的。行列之間的交織處都含有一個發(fā)光二極管,總共是由256個發(fā)光二極管組成。2.2 顯示模塊的方案為了到達顯示效果的增強,一般都具有幾種顯示模式,可分為兩種顯示模式,一種為靜態(tài)顯示方式,一種為動態(tài)顯示方式。2.2.1靜態(tài)顯示方式靜態(tài)顯示,每一位顯示器的字段都用獨立的控制線。由于每一位顯示器分別由一個8位的輸出口控制其字段碼,所以每一位顯示器就得需要8根的輸出控制線,這樣來說,更多位的顯示器就需要更多的輸出控制線。這樣一來將占用較多I/O資源。而單片機只能提供的有限的I/O口。因此,在實際使用中,輸出口數(shù)目不夠的問題,可以通過I/O口擴展的方式解決。靜態(tài)顯示主要的優(yōu)點

14、是顯示穩(wěn)定,在發(fā)光二極管電流導通一定的情況下顯示器的亮度高亮,系統(tǒng)運行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時間,又提高了CPU的工作效率。其缺乏之處是硬件占用資源較多,由于每個LED數(shù)碼管需單獨占用8條輸出線。因而顯示器位數(shù)的一增加,需求的I/O口線也將一一增加。2.2.2動態(tài)顯示方式在多位顯示時,為了彌補靜態(tài)顯示方式的缺乏一般來說可以以采用動態(tài)顯示方式來代替,全部數(shù)碼管共用一套段碼驅(qū)動電路,各位數(shù)碼管的同段引腳短接后再接到對應段碼的驅(qū)動線上。顯示時通過位控信號采用掃描的方法逐位地循環(huán)點亮各位數(shù)碼管。動態(tài)顯示雖然在任一時刻只有一位數(shù)碼管被點亮,但是由

15、于人眼具有的視覺殘留效應,看起來與全部數(shù)碼管持續(xù)點亮的效果完全一樣。動態(tài)顯示具有硬件簡單,功耗低和顯示靈活性強等優(yōu)點。鑒于LED顯示器為并排使用的多位數(shù)碼管,本次設計將采用動態(tài)顯示方式,動態(tài)掃描逐行輪流點亮,因為每一行都有一個行驅(qū)動器,而各行的同名列又共用一個驅(qū)動器。單片機中存儲器放置著顯示所需數(shù)據(jù),這些顯示數(shù)據(jù)按8位一個字節(jié)的形式順序排列放置。當要顯示時就需把一行中的各列數(shù)據(jù)信息都傳給其對應的列驅(qū)動器上面去,在這中情況下就會出現(xiàn)一個顯示數(shù)據(jù)傳輸?shù)膯栴}。所以這時可以使用并列的方式或串行方式來實現(xiàn)控制電路到列驅(qū)動器之間的傳輸。2.3數(shù)據(jù)傳輸方案論證在采用并行模式的時候,從控制電路到列驅(qū)動器傳輸數(shù)

16、據(jù)需要非常多的線路和硬件數(shù)。這樣在很多列數(shù)時,并行傳輸模式是行不通的。使用串行傳輸方法來實現(xiàn)顯示數(shù)據(jù)的傳輸時,用一根信號線就能把列數(shù)據(jù)送到列驅(qū)動器中,該方法具有十分的經(jīng)濟性。但由于串行傳輸過程比擬長,根據(jù)順序?qū)?shù)據(jù)發(fā)送到列驅(qū)動器時,要想這一行的每列并行顯示就得等待其各列的數(shù)據(jù)都傳送完畢。在采用這種串行傳輸方式的時候,且在確定行掃描周期的情況下,因為列數(shù)據(jù)所消耗的準備時間可能會比擬長,因此行顯示時間就會缺乏,將導致發(fā)光二極管亮度也會缺乏。重疊處理法的關鍵點是該行列數(shù)據(jù)進展顯示的時候,同時把該行的下一行列數(shù)據(jù)傳送給列驅(qū)動器。這種處理法可以用來解決列數(shù)據(jù)顯示時間與準備時間之間的互相矛盾的問題。要想到

17、達重疊處理,要求列數(shù)據(jù)的顯示必須得具有鎖存的功能。為了不影響本行的顯示,列數(shù)據(jù)準備應具有實現(xiàn)串入并出的移位功能。3 硬件電路的構(gòu)成3.1設計框圖及介紹LED顯示點陣的硬件電路由單片機系統(tǒng)及外圍電源電路、列驅(qū)動電路和行驅(qū)動電路組成。設計的點陣總體框圖如圖1所示。圖1 點陣顯示的總體框圖3.2 51系列單片機單片機又稱微處理器。它是計算機的一個分支,它的組成原理和典型PC計算機有點相似,由多局部根本功能部件集成而來,它一般包括著中央處理器CPU、內(nèi)部數(shù)據(jù)存儲器、程序存儲器、定時器/計數(shù)器、并行I/O口、串行口、中斷控制電路、位處理器和一些必須的內(nèi)部總線。單片機的根本構(gòu)造如圖2所示。圖2 51單片機

18、的根本構(gòu)造控制器運算器構(gòu)成cpu、內(nèi)外程序數(shù)據(jù)存儲加上串并行通信口、中斷與定時計數(shù)這類事件觸發(fā)單元構(gòu)成單片微型計算機最根本外設通過外部設備的擴展從而構(gòu)成單片機最小系統(tǒng)。單片機的核心是中央處理器CPU,主要用于完成一些運算和實現(xiàn)控制操作。算術邏輯控制單元加控制器即中央處理器兩個最核心局部運算器電路和控制器電路。算術邏輯單元主要對數(shù)據(jù)進展處理包括加、乘、減、根本算術運算,邏輯單元進展邏輯功能運算,布爾處理器進展位操作。運算的實現(xiàn)是把運算數(shù)值放置累加器ACC中通過指令進展各種四那么運算當然這還需要其它存放器的配合。一個用來存放指令執(zhí)行的狀態(tài)信息的8位存放器PSW即程序狀態(tài)字。PSW的位狀態(tài)可以用專門

19、指令進展測試,也可以用指令讀出。其各位的為序所定義的標志位如下:PSW中最常用的標志位是進位標志位,即CY;在加法的運算中存放,假設有進位時,CY置1,沒有進位時CY需要清零;而在減法的運算中它用來存放借位標志位,假設有借位CY置1,沒有借位CY清零。半進位標志位AC是低半字節(jié)的進位位,AC置1表示低4位在往高4位進位,AC清零表示低4位在向高4位借位??捎捎脩糇远x的標志位叫做用戶標志位F0;通過低半字節(jié)對其置位和復位。 RS1和RS0:存放器組選擇控制位,用來設置4組工作存放器的組號。OV:溢出標志位。在加減運算中,運算超出了累加器A的有效X圍-128+127時,那么OV置1,產(chǎn)生滿溢,否

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

21、據(jù)存儲器。程序存儲器和數(shù)據(jù)存儲器兩個的構(gòu)造是分開的。程序存儲器是用來存放單片機系統(tǒng)的目標程序的,可分片內(nèi)和片外程序存儲器。同理數(shù)據(jù)存儲器就是存儲數(shù)據(jù)的,其也具有片內(nèi)和片外之分。哈佛類型構(gòu)造單片機指的是有著它自己的尋址機構(gòu)和尋址方式的存儲構(gòu)造。還有一種與哈佛構(gòu)造單片機不同構(gòu)造的單片機叫做普利適頓型,這種構(gòu)造單片機的存儲器的邏輯空間是唯一的,訪問存儲器時共用一種一樣的指令,它的程序存儲器和數(shù)據(jù)存儲器可以隨便安排。80C51的片內(nèi)具有的程序存儲器和數(shù)據(jù)存儲器大小分別為4KB(ROM)、256K,程序存儲器和數(shù)據(jù)存儲器都可在片外擴展64KB的尋址X圍,也就是說80C51在片外的存儲器擴展X圍上限為2&

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

23、令執(zhí)行程序,所以片外程序存儲器ROM地址空間是1000HFFFFH。EA引腳接低電平,中央處理器CPU只從片外程序存儲器ROM中取用指令來執(zhí)行。8051單片機有256個單元的數(shù)據(jù)存儲器,根據(jù)功能可以把256個單元分為低128單元和高128單元。低128單元(00H7FH)稱為內(nèi)部RAM,內(nèi)部RAM是真正意義上的RAM區(qū),其各單元可直接尋址,用于讀寫各種類型數(shù)據(jù)。高128單元80HFFH是給特殊功能存放器SFR專用的,用于存放相應功能的控制命令、狀態(tài)或數(shù)據(jù)。8051片內(nèi)還有著21個8位的特殊功能存放器,訪問時可使用它們的位符號或者位地址,還可用“存放器名.位表示,像表示ACC的最低位為ACC.0

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

25、示。圖5 單片機的復位電路簡圖51系列單片機的工作電壓為5V,其EA引腳需接高電平,51系列單片機的電源電路如圖6所示。 圖6 51系列單片機的電源電路3.4 LED點陣在LED顯示屏系統(tǒng)中,其構(gòu)成的根本單元為點陣構(gòu)造。每一個顯示屏的單元都是由假設干個8×8的單色LED點陣顯示模塊組成。每個8×8的LED點陣都是由64個單個發(fā)光二極管組合的,在每行與每列的交匯點放置一個單個的發(fā)光二極管排列成了一個8×8的單色LED點陣。使用兩塊單色的8×8 LED點陣正確的連線可以顯示兩種顏色,這就是雙色8×8點陣。單色8×8 LED點陣和雙色8&#

26、215;8 LED點陣的構(gòu)造如圖7所示。單色8×8 LED點陣雙色8×8 LED點陣圖7 單雙色8×8 LED點陣構(gòu)造本設計是采用4塊8×8的LED點陣模塊組合成1個16×16的LED點陣顯示模塊。如圖8所示。圖8 16×16 LED 點陣3.5 LED顯示方式 本設計所設計的16×16 LED點陣采用的是動態(tài)掃描方法,將所有位數(shù)碼管的段選線一起并聯(lián),即同一列發(fā)光二極管陰極一起連接,同以行發(fā)光二極管陽極一起連接。從首行開場,把數(shù)據(jù)送出并且鎖存,使首行對應的發(fā)光二極管亮熄一定時間;然后依照這樣,再進展接下來的每一行都以一樣時間

27、亮熄,直至第十六行完成后,又重新回到第一行執(zhí)行亮熄,如此反復循環(huán)的亮熄。當以每秒24次以上的亮熄速度時,穩(wěn)定的圖形就能出現(xiàn)在顯示屏上,這是因為人眼的視覺暫留現(xiàn)象產(chǎn)生的。相比靜態(tài)掃描來說,這種靈活的動態(tài)掃描方法能有效的節(jié)省單片機的資源。顯示數(shù)據(jù)傳輸使用的是串行傳輸?shù)姆椒?。使用串行傳輸方法來實現(xiàn)顯示數(shù)據(jù)的傳輸時,用一根信號線就能把列數(shù)據(jù)送到列驅(qū)動器中,該方法具有十分的經(jīng)濟性。但由于串行傳輸過程比擬長,根據(jù)順序?qū)?shù)據(jù)發(fā)送到列驅(qū)動器時,要想這一行的每列并行顯示就得等待其各列的數(shù)據(jù)都傳送完畢。在采用這種串行傳輸方式的時候,且在確定行掃描周期的情況下,因為列數(shù)據(jù)所消耗的準備時間可能會比擬長,因此行顯示時間

28、就會缺乏,將導致發(fā)光二極管亮度也會缺乏。串行傳輸過程中列數(shù)據(jù)的準備時間會與數(shù)據(jù)顯示時間相矛盾,一般使用重疊處理方法解決。重疊處理法的關鍵點是該行列數(shù)據(jù)進展顯示的時候,同時把該行的下一行列數(shù)據(jù)傳送給列驅(qū)動器。要想到達重疊處理,要求列數(shù)據(jù)的顯示必須得具有鎖存的功能。為了不影響本行的顯示,列數(shù)據(jù)準備應具有實現(xiàn)串入并出的移位功能。LED點陣顯示模塊有水平方向(X方向)掃描和豎直方向Y方向掃描方式。水平掃描法即列掃描方法:用一個P口輸出列的位碼來確定點亮哪一列,另一個P口輸出行的位碼確定行上的具體點亮哪個發(fā)光二極管。自左向右循環(huán)掃描16次,顯示出穩(wěn)定的圖像。3.6點陣的移動如下為16×16點陣

29、移動介紹。點陣的組字是通過橫向和縱向的16點數(shù)據(jù)顯示不同的字符,每一組成的字符都可以水平、豎直的在點陣屏上移動。1.字符左右移動的顯示1豎直列掃描方法左移動:即豎直方向的字符在水平方向移動左方移動介紹兩個方法:方法一:延長數(shù)組法。將原先的字符點陣數(shù)組的16個數(shù)據(jù)延長為32個數(shù)據(jù)。掃描儀的每幀取八個顯示數(shù)據(jù),每一幀取數(shù)時應該在數(shù)組的后一位取,也就是向后移一位。要想呈現(xiàn)字符的水平方向的向左的移動的影像。首先,設想有兩個16×16的點陣模塊,每次掃描16幀的數(shù)據(jù),先從左邊開場,然后都以16幀向右掃描,先前的16位被罩住,如此循環(huán),就能實現(xiàn)16幀換面的動態(tài)掃描顯示。如圖9.字符“江沿水平向左

30、移動的圖像圖9方框圖法左右移動示意圖列向假設想顯示一個移動的字符,首先理解列掃描方式其點陣數(shù)據(jù)時行碼,高位在下面,低位在上面,所以當?shù)谝淮稳〕?16數(shù)據(jù)是從行碼的點陣數(shù)組中取出的,接著把得到的行碼送到輸出口,與之相對應的這八個數(shù)組數(shù)據(jù)用列碼傳送至輸出口端,分別把控116列。這16個數(shù)據(jù)被掃描完成后,第二次就去214個數(shù)據(jù),因為兩個一樣的數(shù)據(jù)1和17,再次送到輸出口端,這樣又對應了相應的數(shù)據(jù),送給列的輸出端口同時輸出相應的列碼,于是控制著相應的列116列三次的掃描取得數(shù)據(jù)為318,而18與2是一樣的數(shù)據(jù)碼,這樣循環(huán)的掃描完成了字符的左向移動。上述實現(xiàn)的是圖形化移動的方法,也可理解為是移動了多個不

31、同的形狀字形。如圖10所示,通過對16行的掃描與顯示,完成一個個字型的掃描,多少次的重復循環(huán)實現(xiàn)字符的左向移動。圖10 字形法左右移動示意圖假定一個漢字的字型編碼如下:00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H;假設第二個漢字的編碼如下:10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H,00H相當于將字型的編碼的行顯示數(shù)據(jù)往后推一行,即第一行變?yōu)榈诙?,第二行變?yōu)榈谌?,如此推算。第一個字型掃描完畢就接著產(chǎn)生第二個字型

32、的編碼,以此類推,不斷的進展編碼的變換調(diào)整。編碼的根據(jù)順序存入相應的地址,假設要進展左移,先得把第一個地址存入到另外的 一個地址,不是保存本數(shù)組數(shù)據(jù)的地址,然后存數(shù)據(jù)的地址依次向前移,例如,21H地址的數(shù)據(jù)移到20H,接著22H的數(shù)據(jù)就得移到21H地址,相互移動,到達相應的效果。方法二:數(shù)組數(shù)據(jù)的循環(huán)左移;即是把數(shù)組中的數(shù)據(jù)向左移不是二進制數(shù)據(jù)的位移。不延長原先數(shù)組中的數(shù)據(jù),而是去相應下一幀的十六個數(shù)據(jù),然后把前一幀的數(shù)據(jù)前移,也就是左移,把后面的每一幀數(shù)據(jù)向前移,一直移下去,直到第16個。數(shù)組數(shù)據(jù)的左移方法選擇C語言實現(xiàn),首先得設置數(shù)組的下標志,將相應的數(shù)據(jù)輸入到數(shù)組中,然后根數(shù)數(shù)組的下標值

33、,利用程序中的循環(huán)構(gòu)造,進展遍歷,將相應的值賦給前一個標號的數(shù)組中,這樣就可以實現(xiàn)數(shù)組數(shù)據(jù)的左移。2橫向行掃描方法左移動:即橫向方向的字符在水平方向移動左方移動。豎直掃描方式也就是行掃描方式,第一次掃描取116個數(shù)據(jù),輸送到列向的輸出口端,相聯(lián)系的八個數(shù)值,用行碼輸出口段輸出相應的行碼值,決定著116行的掃描。接著,第二次掃描十六個數(shù)據(jù),這次掃描需要右移第一次掃描的數(shù)據(jù),如此掃描循環(huán),關鍵的是后一次的掃描需讓前一次的掃描右移一位。與此同理,右移的原理與左移相似,只是取碼的次序不同而已相反。2.數(shù)據(jù)的上下移動1列掃描方式向上移動將第一次點陣中掃描到的116個數(shù)據(jù)取出來,輸送到列向碼的輸出口端,對

34、此的十六個數(shù)據(jù),然后要列碼端的輸出端口輸出相應的列碼,同時決定116行的掃描。又因為列向的數(shù)組的組字是下低上高的,所以在完成了第一次的十六個數(shù)掃描后,在掃描第二次十六位數(shù)據(jù)的時候,需要將第一次的數(shù)據(jù)的行碼右移一位,這樣就完成了數(shù)據(jù)的上方向移動。上述實現(xiàn)的是圖形化移動的方法,也可理解為是移動了多個不同的形狀字形。通過對16行的掃描與顯示,完成一個個字型的掃描,多少次的重復循環(huán)實現(xiàn)字符的向上移動。同時將每一個顯示的數(shù)據(jù)都右移一位,隨之長生一個動態(tài)向上滾動的字符,也就是有滾動的視覺感應。當字符被掃描完成后,然后進展相應的動作調(diào)整改變,產(chǎn)生后面的字型的編碼,再將編碼存入存儲器,然后將地址數(shù)據(jù)調(diào)整,即將

35、每組數(shù)據(jù)向右移一位。圖11 字形法上移動示意圖2橫向行掃描方式上下移動介紹兩種方法于字符的豎直方向的移動。方法一:延長數(shù)組法。在行向組列字的根底上,假設想將一個字符向上移動,那么在第一次去點陣數(shù)據(jù)的116數(shù)據(jù)時,把它輸送到輸出口端,與之相對應的八個數(shù)值,然后在行碼輸出口端輸出相應的行碼值決定116行。第二此數(shù)據(jù)的取出就從217數(shù)據(jù)取,因為17與1的數(shù)據(jù)一樣,然后在輸出,相應的在控制相應的行,后面的數(shù)據(jù)取出就是318的數(shù)據(jù),以此類推,往復循環(huán)實現(xiàn)字符的上方向移動。方法二:即數(shù)組數(shù)據(jù)的左方向循環(huán)移動,也就是上文所述的數(shù)組的左向移動利用變量的變化來檢測數(shù)組數(shù)據(jù)的左方向循環(huán)移動。3.7 點陣顏色的轉(zhuǎn)換

36、 以8×8雙色點陣為例介紹兩種顏色的轉(zhuǎn)換原理。8×8雙色點陣是由2個8×8的單色點陣一起組合而成的,如圖13所示。在電路設計的時候可以從公共的引腳接入顯示信號,接89C51的一個PORT口,另外2個PORT分別接顯示紅、黃的局部。這樣,編程執(zhí)行時,掃描輸出顯示紅色的信號就會顯示出紅色,掃描輸出顯示黃色的信號就顯示了黃色。. v.圖12 雙色8×8點陣掃描圖3.8 LED點陣列驅(qū)動電路當至少提供10毫安到20毫安時,發(fā)光二極管才會被正向點亮。提供的電流缺乏夠大,發(fā)光二極管就會缺乏夠亮。8051的輸入、輸出端的高態(tài)輸出電流都不過12毫安而已,難以直接驅(qū)動發(fā)光

37、二極管的點亮。而需要額外參加驅(qū)動電路來驅(qū)動發(fā)光二極管的的點亮,根據(jù)兩種不同的共用極向的LED點陣有著不同的驅(qū)動方式。根據(jù)不同的輸出態(tài)也可以分為四種方式,即:低態(tài)掃描-高態(tài)顯示、低態(tài)掃描-低態(tài)顯示、高態(tài)掃描-高態(tài)顯示和高態(tài)掃描-低態(tài)顯示。如圖13 所示是針對共陰性LED陣列而設計的驅(qū)動電路,在這種驅(qū)動電路采用低態(tài)掃描,也就是任何時間只有一個高態(tài)信號,其他那么為低態(tài)。一行掃描完成之后,再把高態(tài)信號轉(zhuǎn)到臨近的其他行。掃描信號經(jīng)限流電阻接到PNP晶體管的基極,晶體管的集電極接地,射極那么連至LED點陣的列引腳,假設要同時點亮該列的16個LED,那么晶體管的電流必須大于200毫安才行。常用的2N3904

38、之類就可以到達當?shù)蛻B(tài)的列掃描信號輸入晶體管的基極后,該晶體管即為正向,而產(chǎn)生電流,即可使該列的LED具有點亮的條件。圖 13共陰型低態(tài)掃描-低態(tài)顯示信號驅(qū)動電路PNP晶體管的連接如圖13中,基極接顯示信號,射極連電源VCC。當輸入低態(tài)的顯示信號時,晶體管集電極電流流入行二極管的陽極,使得發(fā)光二極管被點亮。像本設計所設計的16×16 LED點陣列是由4個8×8 LED點陣列并接所成的,這種多個并接的LED陣列掃描時,一個掃描信號同時驅(qū)動著2個LED陣列。如圖14所示。 當一個掃描信號驅(qū)動2行LED陣列時,需要使用鎖存器將兩組顯示信號鎖存住。鎖存器74LS595的輸出是低態(tài)輸出

39、,輸出電壓可以到達24毫安,發(fā)光二極管的驅(qū)動電流最低為10毫安,所以24毫安足夠驅(qū)動點亮發(fā)光二極管。如果驅(qū)動電流缺乏,發(fā)光二極管不夠亮,可選用輸出電壓能到達48毫安的74A373鎖存器。 圖14中的電路驅(qū)動有16條掃描信號,由8051直接輸出的話,占用了2個P口,浪費了P口資源??梢允褂?4LS164譯碼器,將16進位碼解碼成低態(tài)的掃描信號輸出,輸出的信號直接接PNP晶體管的基極,假設電流信號太大可中間串一個電阻限流,再接晶體管基極,晶體管把信號放大后就能驅(qū)動16個發(fā)光二極管點陣了。16×16的點陣驅(qū)動圖如圖14所示。圖14 16×16的點陣驅(qū)動圖. v.4軟件設計4.1單

40、片機延時子程序 在單片機的程序編程過程中,延時經(jīng)常被用到,延時程序是整個程序中非常重要的一局部。本次畢業(yè)設計中,LED點陣的行掃描時間、顯示字符的移動的時間間隔都用到了延時,延時可以保持字符移動的連貫性,也可以作為間隔停頓。下面簡要的介紹延時程序涉及的一些根本概念及一些相關的指令的詳細用法。1.機器周期和指令周期單片機完成一個根本指令操作所消耗的時間叫做機器周期。機器周期視脈沖頻率而定,振蕩脈沖頻率為12MHz時,機器的周期為1us;振蕩脈沖頻率為6MHz時,機器周期就為2us。執(zhí)行以條指令所消耗的時間叫做指令周期,指令周期用機器周期的數(shù)目來表示。2.延時指令由于單片機每執(zhí)行一條指令都需要消耗

41、一定時間,所以可使單片機執(zhí)行無操作命令的指令,即空指令來到達延時的效果。1MOV數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個地方傳送、拷貝到另一個地方。例如:MOV R0,80H;表示把數(shù)據(jù)80H送到R7中,該指令占用一個機器周期,并沒有實際的操作。2NOP空操作指令空操作指令占用一個機器周期,單片機不做任何的操作。因此,NOP指令常用于程序等待或時間的延時。3DJNZ循環(huán)轉(zhuǎn)移指令 將第一個數(shù)減1判0。如果該數(shù)減1后結(jié)果不為0,程序就轉(zhuǎn)移;結(jié)果為0,程序就順序繼續(xù)往下執(zhí)行。這指令消耗2個機器周期的時間。運用上面三條指令組合在程序編程中能夠?qū)崿F(xiàn)相對準確的延時程序。本次設計中程序的延時程序如下:MO

42、V R3,*200D1:MOV R5,*250F1: DJNZ R5,F(xiàn)1DJNZR3,D1RET 2其延時的時間為:1+1×200+2×250×200+2×200+2=2*250+3*200+3 =100603s 100ms =0.1s4.2點陣左移顯示的流程圖及分析 點陣掃描作準備,設定程序的初始地址為0H,選擇符號F的初值為0。主程序開場的延時子程序延時0.1秒,子程序使用2次,在程序開場啟動作停頓用和一次左移完畢到下一次重新開場間的停頓。從M3運行程序循環(huán),M3的開場程序來確定列掃描出口即選擇點陣的顏色,F(xiàn)初值為0,從P1口輸出掃描信號,首先顯示

43、紅色點陣。設定每列掃描時間為:MOV R3,*50 DJNZ R3,$ ;1+2×50=101us0.1ms。字型顯示移動完后,返回重新開場移動。4個字符字型碼128個,取碼指針初值為0,每次對其加2,至128時循環(huán)完畢,再改變F的狀態(tài),程序跳回開場局部,黃色點陣顯示開場移動。顯示效果:開場顯示時,停頓0.1秒,然后向左以每0.1秒移動顯示4個紅色的字,當顯示到左后第4字后,停頓0.1秒。再依次以每0.1秒顯示4個黃色的字,黃色的字型顯示完,停頓0.1秒,再重復接4個紅色的字依次從左移動顯示出。依此循環(huán)。點陣左移顯示的流程圖如圖16所示。整個顯示過程的程序見附錄A所示。圖15顯示流程

44、圖. v.4.3 PROTEUS ISIS仿真 Proteus是由ISIS和ARES兩局部組成的軟件。其中ISIS是用于電子系統(tǒng)原理設計和仿真平臺的軟件。ARES是用于高級的PCB布線編輯軟件。我們用ISIS來進展本次設計的仿真。首先,先在軟件中畫出仿真線路圖和所用的各個元件,編寫相應單片機的程序,加載程序,生成HEX文件。新建Keil工程,導入源程序。設置好單片機時鐘頻率,為12MHz,選擇正確的文件路徑然后加載。設置完各項就能實現(xiàn)仿真。假設出現(xiàn)仿真結(jié)果不對,修改程序,重新編譯運行,直至沒有錯誤。仿真結(jié)果見附錄3。. v.參考文獻1. X義和陳敵北編著·"例說8051&q

45、uot;·人民郵電·2006年Zhang Yihe,Chen DibeiEd "cases, said 8051"M. People Post Press20062周越主編·"單片機技術實驗實訓教程"·中國水利水電·2007年Zhou Yue editor"chip technology experimental training course" M.China Water Power Press 20073. 周越主編·"單片機應用技術"·中國

46、水利水電·2021年Zhou Yue editor"SCM Application Technology"M.China Water Power Press 20214李全利編·"單片機原理及應用技術"·高等教育·2004年Liquan Li series "Principles and Applications Technology"M.Higher Education Press20045. 李忠國陳剛編著·"單片機應用技能實訓"·人民郵電·

47、2006年Li Zhongguo Chen Gang edited "microputer application skills training"M.People Post Press 20066. 趙建領編著·"Protel電路設計與制版寶典"·電子工業(yè)·2007年Zhao Jianling edited "Protel circuit design and platemaking Collection"M.Electronic Industry Publishing House 20077郭振民丁紅

48、主編·"電子設計自動化EDA"·中國水利水電·2021年Guo Zhenmin Ding Hong editor "Electronic Design Automation EDA" M. China Water Power Press 20218. 周潤景等編著·"Proteus在MCS-51&ARM7系統(tǒng)中的應用百例"·電子工業(yè)·2006年Zhourunjing eds "Proteus application hundred cases in MCS-

49、51 & ARM7 system"M.Electronic Industry Publishing House 20069. Vizimuller.P. RF design guide-systems,circuits,and equations. 1995.10 .R.Dye. Visual Object-Orientated Programming,Dr.Dobbs MacintoshJournal. Sept.1st.1991致 畢業(yè)論文暫告收尾,這也意味著我在大學學習生活既將完畢?;厥准韧?,自己一生最珍貴的時光能于這樣的校園之中,能在眾多學富五車、才華橫溢的教師們的熏

50、陶下度過,實是榮幸之極。在這幾年的時間里,我在學習上和思想上都受益非淺。這次設計的成功除了自身努力外,與各位教師、同學和朋友的關心、支持和鼓勵是分不開的,我要在這里對他們表示深深的謝意。每一次經(jīng)歷都是成長,在設計當中發(fā)現(xiàn)很多的問題,都是之前沒有遇到過的,處理著這些事情,雖然都是些不起眼的小事,但還是需要很多解決大事情的技巧與經(jīng)歷。每次在設計時,遇到的各種問題,都不知道如何下手,沒有一個整體的思路,就有些茫然無措的感覺,幸運的是,同學與教師的教傳與啟蒙,讓我有著恍然大悟的感覺,多少次徘徊在問題當中,想想該如何實現(xiàn)這個功能或者那個功能,自己都得到了一次鍛煉,很多事情其實都是需要耐心的,發(fā)現(xiàn)問題不懂

51、,然后自己在網(wǎng)上查找資料,實在是不能得出肯定正確的結(jié)果,然后就找教師一一解答,教師的細心指導,啟蒙式的教導方式,讓人受益匪淺,而不是那種純粹式的灌輸,這種思考方式的教導會給人學會面對其他問題的思考,觸類百通,授之以漁不如授之以漁。這次設計中十分感謝我的指導教師桂友超教師,在設計上給了很多珍貴的經(jīng)歷,給予了很多的指導與幫助,得以讓設計順利進展。教師在教導過程中形象的用各種例子來講述各種問題,通俗易懂,敬仰他專業(yè)知識淵博的同時,對他的那種生活高尚情操深深嘆服,那種一絲不茍,諄諄教導的教師品格是學生將來工作的典范。同時,教師的教導寓事于理,不僅僅教的是專業(yè)知識,更是一種對待生活人生的達觀與理解。 最

52、后,對教師,同學等所有的人以及學校給我們提供的這么好的學業(yè)環(huán)境,致以我最衷心的感謝,因為有了這些,大學才夠完整。附 錄附錄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:MOV 20H,*00;取碼指針地址20H初值為00MOV R4,00H;74LS154掃描指針初值為00M1:MOV R1,*65;每屏停留時間M2:MOV R6,*16;每屏一個字,1

53、6個數(shù)據(jù)碼MOV R0,20H;取碼指針存入R0M3: MOV A,R4;掃描指針載入A 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;到TABLE取上半部數(shù)據(jù)碼SETB P0.1;P0.1口置1CLR P0.0;清P0.0口MOV P2,A;輸出至P2口顯示INC R0;取下一個碼MOV A,R0;取碼指針載入AMOV DPT

54、R,*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,M2;每屏停留時間MOV A,20H;取碼指針載入AADD A,*02;指針加2MOV 20H,A;再存入20H地址取碼指針XRL A,*128;四個字是否都左移完.JNZ M1;否,跳到M1

55、CPL 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,20H,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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論