基于單片機的166LED點陣顯示屏的設計.doc
基于單片機的16*16LED點陣顯示屏的設計隨著單片機在各個領域的廣泛應用,許多用單片機作控制驅動LED顯示屏也應運產(chǎn)生。本系統(tǒng)設計使用單片機MCS-51控制掃描方法實現(xiàn)LED點陣顯示器的字符的顯示,介紹了用單片機進行顯示系統(tǒng)開發(fā)的方法,單片機軟件、硬件調試技術,還有點陣顯示驅動擴展的一般方法。1.引言1.1 研究的目的、意義LED因其體積小,耗電量低,亮度及環(huán)保等優(yōu)點而被廣泛應用于公共場所的大屏顯示上,LED點陣大屏可應用于戶外廣告,交通導航,大廳公告,比賽的多媒體實時顯示等領域。本設計作品的用途正是在于實現(xiàn)大屏顯示的核心功能,即漢字的顯示,可實際應用于簡單的顯示系統(tǒng)中,如簡單的排隊叫號顯示屏,電梯顯示屏等。通過此次設計將單片機軟硬件結合起來對程序進行編輯,校驗,鍛煉實踐能力和理論聯(lián)系實際的能力。 1.2 本設計所要做的工作為了完成該設計實現(xiàn),經(jīng)過考慮論證,決定分為以下幾個階段進行:(1)對課題進行全面的分析,明確系統(tǒng)要實現(xiàn)的功能,大致了解要解決的問題,制定總的設計方案;(2)根據(jù)論證設計硬件系統(tǒng)并畫出電路圖,并根據(jù)電路圖制電路板;(3)在硬件的基礎上設計軟件程序;(4)利用仿真器編譯軟件程序,進行調試仿真;(5)把調試成功的程序利用燒入器燒入到芯片中去;(6)把固化好程序的芯片插入到實際應用系統(tǒng),投入到實際使用。2系統(tǒng)設計方案2.1系統(tǒng)構成框圖 CPU晶振復位74HC15474LS37374LS373 16*16LED點陣顯示屏 行列3 硬件電路設計3.1 主要器件介紹3.1.1 LED點陣LED點陣顯示屏采用4個8*8共256個象素的點陣,通過萬用表檢測發(fā)光二極管的方法測試判斷出該點陣的引腳分布,如圖3.1所示。8*8的LED點陣為雙色共陽模塊,單點的工作電壓為正向(Vf)=1.8v,正向電流(if)=8-10MA。靜態(tài)點亮器件時(64點全亮)總電流為640mA??傠妷簽?.8v,總功率為1.15w.動態(tài)時取決于掃描頻率(1/8或1/16秒),單點瞬間電流可達80-160mA。點陣16 15 14 13 12 11 10 91 2 3 4 5 6 7 8圖3.1 點陣LED掃描法介紹點陣LED一般采用掃描式顯示,實際運用分為三種方式:(1) 點掃描(2) 行掃描(3) 列掃描若使用第一種方式,其掃描頻率必須大于16*64=1024HZ,周期小于1MS即可。若使用第二和第三種方式,則頻率必須大于16*8=128HZ,周期小于7.8MS即可符合視覺暫留要求。此外一次驅動一列或一行(8顆LED)時需外加驅動電路提高電流,否則LED亮度會不足。 我們把行列總線接在單片機的IO口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入AT89S52單片機,則需要使用32條IO口,這樣會造成IO資源的耗盡,系統(tǒng)也再無擴充的余地。因此,我們在實際應用中只是將LED點陣的16條行線直接接在P2口,至于列選掃描信號則是由4-16線譯碼器74HC154來選擇控制,這樣一來列選控制只使用了單片機的4個IO口,節(jié)約了很多IO資源,為單片機系統(tǒng)擴充使用功能提供了條件。漢字掃描顯示的基本過程是這樣的:通電后由于電阻R1,電容C1的作用,使單片機的RST復位腳電平先高后低,從而達到復位;之后,在C2,C3,X1以及單片機內部時鐘電路的作用下,單片機AT89S52按照設定的程序在接口輸出與內部漢字對應的代碼電平送至LED點陣的行選線,同時在P1.0,P1.1,P1.2,P1.3接口輸出列選掃描信號,從而選中相應的象素LED發(fā)光,并利用人眼的視覺暫留特性合成整個漢字的顯示。3.1.2鎖存器74LS37374ls373是常用的地址鎖存器芯片,它實質是一個是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機系統(tǒng)中為了擴展外部存儲器,通常需要一塊74ls373芯片,其內部結構圖如圖3.2所示。 圖3.2 74ls373內部結構圖(1).1腳是輸出使能(OE),是低電平有效,當1腳是高電平時,不管輸入3、4、7、8、13、14、17、18如何,也不管11腳(鎖存控制端,G)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)15(Q5)、16(Q6)、19(Q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài));(2).當1腳是低電平時,只要11腳(鎖存控制端,G)上出現(xiàn)一個下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現(xiàn)輸入腳3、4、7、8、13、14、17、18的狀態(tài).鎖存端LE 由高變低時,輸出端8 位信息被鎖存,直到LE 端再次有效。 當三態(tài)門使能信號OE為低電平時,三態(tài)門導通,允許Q0Q7輸出,OE為高電平時,輸出懸空。當74LS373用作地址鎖存器時,應使OE為低電平,此時鎖存使能端C為高電平時,輸出Q0Q7 狀態(tài)與輸入端D1D7狀態(tài)相同;當C發(fā)生負的跳變時,輸入端D0D7 數(shù)據(jù)鎖入Q0Q7。51單片機的ALE信號可以直接與74LS373的C連接。3.1.3 譯碼器74HC15474HC154為4線16線譯碼器,其管腳圖如圖3.3所示: 圖3.3 74HC154管腳圖其邏輯圖如圖3.4所示:圖3.4 74HC154邏輯圖其功能表如表3.1所示:說明: H高電平 L低電平 X任意 表3.1 74HC154功能表3.2硬件設計思想及電路圖 3.2.1硬件設計思想由單片機進行處理,并將行列信號分別通過顯示驅動輸入點陣大屏,控制點陣的顯示。 (1) 單片機: 采用AT89S52單片機芯片作為中控,控制LED點陣顯示。 (2)顯示:考慮到標準地顯示一個漢字至少需要16*16LED點陣屏,而我們也只需要實現(xiàn)大屏顯示的基本功能,并不需要太大的顯示屏,因此決定采用16x16 LED點陣屏顯示漢字。 (3)顯示驅動:考慮到設計所需端口較多的問題,為減少資源占用,使用74HC154 416譯碼器作為列驅動芯片,采用74HC373串入并出8位鎖存器作行驅動芯片。但由于兩種芯片的最大輸出電流均不夠大(雖然74HC373輸出電流已經(jīng)較大了),為讓LED顯示亮度夠強,采用PNP型三極管來進行電流的放大,同時為保護芯片,我們又采用1K電阻來進行限流。3.2.2硬件電路圖 本設計16X16系統(tǒng)的制作主要在于擴展用戶I/O口,最終系統(tǒng)實現(xiàn)的關鍵在于掃描電路的擴展及程序的編寫。系統(tǒng)I/O口的擴展是采用了4-16譯碼器74HC154來實現(xiàn)的,74HC154作為16*16系統(tǒng)的列掃描脈沖產(chǎn)生電路,其地址線連接到AT89S52的P1口的低4位上。利用P2口為8個行數(shù)據(jù)端口傳送數(shù)據(jù)。由于P口的驅動力不強,因此在P2的每個輸出端都加上三極管,以加大驅動電流,提高點陣的顯示亮度。設計原理圖如圖3.5所示: 圖3.5 設計原理圖其中芯片74HC154為4線-16線譯碼器,有四個地址輸入(A0-A3)、兩個選通輸入(STs、STb)和十六個輸出(Y0-Y15)。當STs和STb均為低電平時器件被選通,A0-A3可確定Y0-Y15中的一個以低電平呈現(xiàn),當STs或STb為高電平時,Y0-Y15均為高電平。 AT89S52單片機P1口與74HC154的輸入端(A,B,C,D)連接,74HC154的16個輸出端與1616LED的列線相連,P2口與行線相連。由于單片機端口輸出的電流較小,不足以驅動LED。故在LED的每個列線上加上一個三極管,對電流進行放大,如圖3.6。通過74HC154對1616LED進行逐列掃描,選中一列時通過P2口選中列即點亮行上的LED,快速的逐列掃描即可實現(xiàn)文字信息顯示。由上可知,可采用逐列掃描的方法實現(xiàn)LED的字符顯示。 圖3.6 LED驅動電路圖系統(tǒng)各個部分的原理圖:圖3.7 單片機控制電路圖圖3.8列驅動電路與行驅動電路圖 圖3.9 點陣顯示電路圖4.軟件設計4.1漢字的點陣顯示原理及字庫代碼獲取方法我們先以簡單的漢字顯示為例,每一個字由16行16列的點陣組成顯示。即國標漢字庫中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個象素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256象素范圍內的任何圖形。如用8位的AT89S52單片機控制,由于單片機的總線為8位,一個字需要拆分為2個部分,如圖4.1所示。 圖4.1 漢字“龍”為了弄清楚漢字的點陣組成規(guī)律,首先通過列掃描方法獲取漢字的代碼。漢字可拆分為上部和下部,上部由816點陣組成,下部也由816點陣組成。通過列掃描方法首先顯示左上角的第1列的上半部分,顯示漢字“龍”時,P2.4點亮,由上往下排列,為:P2.0滅,P2.1滅,P2.2滅P2.3滅,P2.4亮,P2.5滅,P2.6滅,P2.7滅。即二進制00001000,轉換為十六進制為08h。上半部一列完成后,繼續(xù)掃描下半部的一列,為了方便,我們仍設計成由上往下掃描,從圖4.1可以看到,這一列全部為不亮,即為00000000,十六進制則為00h。依照這個方法掃描16列,一共掃描32個8位,可以得出漢字“龍”的掃描代碼為:00H,08H,08H,08H,08H,08H,0FFH,08H0FH,48H,28H,08H,08H,18H,08H,00H00H,00H,02H,06H,30H,0C4H,04H,08H0FCH,24H,44H,84H,04H,04H,3CH,00H由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出他的掃描代碼從而顯示在屏幕上。本系統(tǒng)是設計龍巖學院字體的顯示,使用這個方法可以分析出龍巖學院這幾個字的代碼。4.2 程序流程圖軟件程序主要由開始、初始化、主程序、字庫組成。其中主程序和子程序的流程圖如圖4-2和圖4-3所示。 開始系統(tǒng)初始化R0=16,掃描16列R7=16,一個字掃描16次載入第1個字的地址調用顯示子程序載入第2個字的地址調用顯示子程序載入第3個字的地址調用顯示子程序載入第4個字的地址調用顯示子程序 圖4-2 主程序流程圖 P1=0,列掃描計數(shù)R1=0,查表指針查表,送數(shù)據(jù)到P2口顯示一列上邊8位R1R1+1查表,送數(shù)據(jù)到P2口顯示一列下邊8位R1R1+1P1P1+116位是否掃描完重置R016一個字是否掃描16次重置R716幀延時返回主程序開始NONOyesyes圖4-3子程序流程圖4.3程序清單:COLUMN EQU P1 ;列掃描信號輸出端口ROW EQU P2 ;顯示信號輸出端口LATCH_H EQU P3.0 ;上鎖存信號輸出端口LATCH_L EQU P3.1 ;下鎖存信號輸出端口SCANCODE EQU 0 ;掃描信號SPEED EQU 10 ;0.5s延遲S_TIME_H EQU 0FDH ;2.5ms掃描時間S_TIME_L EQU 0D0H ;2.5ms掃描時間 ORG 00H ;程序從0地址開始 JMP START ;跳至START ORG 0BH ;TIMER0中斷向量 JMP TIMER0 ;跳至TIMER0中斷子程序;=START: MOV IE,#10000010B ;設定TIMER0中斷 MOV TMOD,#1 ;設定TIMER0為MODE1 MOV SP,#60H ;移開堆棧指針 SETB RS0 ;切換到RB1 MOV R0,#20H ;上面部分開始存放地址 MOV R1,#30H ;下面部分開始存放地址 MOV R2,#16 ; 掃描16列 MOV R3,#SCANCODE ;載入掃描碼 CLR RS0 ;切換回RS0 MOV TH0,#S_TIME_H ;設定每列掃描時間 MOV TL0,#S_TIME_L ;設定每列掃描時間 SETB TR0 ;啟動TIMER0 MOV DPTR,#TABLE ;將常數(shù)指針指向TABLE地址 MOV 41H,#4 ;4次加載字型 MOV R0,#20H ; 上面部分開始存放地址 MOV R1,#30H ;下面部分開始存放地址;=LOOP: CALL LOADING ;加載字型 CALL DELAY ;稍等一下 CLR C MOV A,DPL ADD A,#32 MOV DPL,A MOV A,DPH ADDC A,#0 MOV DPH,A MOV R0,#20H ; 上面部分開始存放地址 MOV R1,#30H DJNZ 41H,LOOP ;跳至LOOP形成一個循環(huán)(一次寫1字) JMP START ;跳至START形成一個循環(huán);=LOADING: PUSH ACC ;存儲ACC PUSH PSW ;存儲PSWMOV R2,#16 ;加載各16筆數(shù)據(jù) MOV R3,#0 ;間距 MOV R4,#10H ;間距LOAD_1: MOV A,R3 ;將間距放入ACC MOVC A,A+DPTR ;讀入數(shù)據(jù) MOV R0,A ;將上面部分數(shù)據(jù)存入存儲器 INC R0 ;指向下一個地址 INC R3 ;指向下一個地址,相對DPTR地址加1、 MOV A,R4 ;將間距放入ACC MOVC A,A+DPTR ;讀入數(shù)據(jù) MOV R1,A ;將上面部分數(shù)據(jù)存入存儲器 INC R1 ;指向下一個地址 INC R4 ;指向下一個地址 DJNZ R2,LOAD_1 ;跳至LOAD_1形成一個循環(huán)(1上字節(jié)1下字節(jié)) POP PSW ;取回PSW POP ACC ;取回ACC資料 RET;=DELAY: MOV R7,#SPEEDD2: MOV R6,#200D1: MOV R5,#250 DJNZ R5,$ DJNZ R6,D1 DJNZ R7,D2 RET;=DELAY1: MOV R7,#1D22: MOV R6,#1D11: MOV R5,#100 DJNZ R5,$ DJNZ R6,D11 DJNZ R7,D22 RETTIMER0: CLR TR0 ;關閉TIMER0 PUSH ACC ;存儲ACC SETB RS0 ;切換到RB1 MOV A,R3 ;載入掃描碼 MOV COLUMN,A ;輸出掃描碼(顯示一列) INC R3 ;下一個掃描碼 MOV A,R0 ;取出顯示信號;=;使用共陽極式LED陣列,則加入下一行指令; ;= CPL A MOV ROW,A ;輸出顯示信號 SETB LATCH_H ;打開鎖存器 NOP CLR LATCH_H ;關閉鎖存器 INC R0 MOV A,R1 ;取出顯示信號;=;使用共陽極式LED陣列,則加入下一行指令;=CPL A MOV ROW,A ;輸出顯示信號 SETB LATCH_L ;打開鎖存器 NOP CLR LATCH_L ;關閉鎖存器 INC R1 CALL DELAY1 MOV A,#0FFH MOV P2,A DJNZ R2,NEXT_C ;未超過16行則跳至NEXT_C MOV R2,#16 ;從新開始掃描 MOV R0,#20H ;從第一列開始 MOV R1,#30H ;從第一列開始NEXT_C: MOV TH0,#S_TIME_H ;設定每列掃描時間 MOV TL0,#S_TIME_L ;設定每列掃描時間 SETB TR0 ;啟動TIMER0 CLR RS0 ;切換回RB0 POP ACC ;取回ACC RETITABLE: DB 00H,10H,10H,10H,10H,10H,0FFH,10HDB 0F0H,12H,1CH,0D0H,10H,10H,10H,00HDB 00H,40H,20H,10H,0CH,03H,10H,08HDB 3FH,42H,41H,40H,40H,40H,70H,00HDB 00H,40H,5EH,50H,50H,0D0H,50H,5FHDB 50H,50H,50H,50H,5EH,40H,40H,00HDB 10H,08H,04H,02H,7FH,22H,22H,22HDB 22H,22H,22H,22H,7EH,00H,00H,00HDB 40H,30H,10H,12H,5CH,54H,50H,51HDB 5EH,0D4H,50H,18H,57H,32H,10H,00HDB 00H,02H,02H,02H,02H,02H,42H,82HDB 7FH,02H,02H,02H,02H,02H,02H,00HDB 0FEH,02H,32H,4AH,86H,0CH,24H,24HDB 25H,26H,24H,24H,24H,0CH,04H,00HDB 0FFH,00H,02H,04H,83H,41H,31H,0FHDB 01H,01H,7FH,81H,81H,81H,0F1H,00H END5.設計結果在實際應用中,16*16的點陣LED上,依次顯示“龍”、“巖”、“學”、“院”四個字, 達到預期效果。雖然本設計只使用了1616LED點陣,電路簡單,但是已經(jīng)包涵了LED顯示屏的電路基本原理,只要擴展單片機的IO接口,并增加一些LED點陣和相關芯片,就能設計出更大面積、更多花樣的LED顯示屏。因此本文對同類設計具有一定的理論和實踐參考價值。6論文小結在本次設計中,電路連線很多,焊接有一定的難度。特別是譯碼器74HC154要焊接的線非常之多,還好焊接過程比較細心,這塊芯片工作很正常。不過在調試的過程,也的確遇到了一個小問題。當我編簡單的程序進行掃描時,發(fā)現(xiàn)有一列不亮。心想會不會是哪個芯片接錯了,再認真觀察了一下,發(fā)現(xiàn)其他的行和列都工作正常。由此,我初步估測是LED沒接好?;仡^檢查了一遍,發(fā)現(xiàn)問題的確出在LED的管腳上,有兩個焊點忘了連起來。連好以后,重新調了一遍。還好,成功了,硬件部分圓滿完成??磥砗附右J真、認真、再認真,來不得半點的含糊。否則,要花很多的時間來檢查復雜的電路,得不償失。另外一個問題是掃描的頻率太快,以至讓人看不清楚字。在增大了幀延時常數(shù)之后,情況得到改善。 碩士論文 是碩士研究生所撰寫的學術論文,具有一定的理論深度和更高的學術水平,更加強調作者思想觀點的獨創(chuàng)性,以及研究成果應具備更強的實用價值和更高的科學價值。碩士論文是碩士研究生所撰寫的學術論文。優(yōu)秀的碩士論文能夠反映出作者對所學習專業(yè)的理論知識掌握的程度和水平,能夠幫助作者構建起良好的完整的知識體系,還能夠反映作者獨立的科研能力和學術理論的應用水平,對研究的課題的思考和獨立見解。較之學士論文,碩士論文應當具有一定的理論深度和更高的學術水平,更加強調作者思想觀點的獨創(chuàng)性,以及研究成果應具備更強的實用價值和更高的科學價值。因而撰寫碩士論文將對作者提出更高的要求數(shù)據(jù)資料翔實充分、論證分析詳盡縝密、推理演算思路清晰、論文結構規(guī)范清晰、專業(yè)詞匯運用準確。電路與系統(tǒng) 學科研究電路與系統(tǒng)的理論、分析、測試、設計和物理實現(xiàn)。它是信息與通信工程和電子科學與技術這兩個學科之間的橋梁,又是信號與信息處理、通信、控制、計算機乃至電力、電子等諸方面研究和開發(fā)的理論與技術基礎。因為電路與系統(tǒng)學科的有力支持,才使得利用現(xiàn)代電子科學技術和最新元器件實現(xiàn)復雜、高性能的各種信息和通信網(wǎng)絡與系統(tǒng)成為現(xiàn)實。信息與通訊產(chǎn)業(yè)的高速發(fā)展以及微電子器件集成規(guī)模的迅速增大,使得電子電路與系統(tǒng)走向數(shù)字化、集成化、多維化。電路與系統(tǒng)學科理論逐步由經(jīng)典向現(xiàn)代過渡,同時和信息與通訊工程、計算機科學與技術、生物電子學等學科交疊,相互滲透,形成一系列的邊緣、交叉學科,如新的微處理器設計、各種軟、硬件數(shù)字信號處理系統(tǒng)設計、人工神經(jīng)網(wǎng)絡及其硬件實現(xiàn)等。 廣告提案 廣告提案 廣告提案的準備工作 創(chuàng)意、表現(xiàn)提案 廣告實施計劃提案 策略提案 廣告策劃大師 廣告策劃的含義、特點及作用 廣告策劃的內容和程序 廣告策劃的基本原則 廣告調查與分析 廣告市場調查的內容 廣告市場調查的步驟 廣告市場調查問卷的構成設計 市場細分與產(chǎn)品定位 市場細分 產(chǎn)品定位 廣告戰(zhàn)略策劃 廣告預算策劃 廣告創(chuàng)意 廣告文案創(chuàng)意 第一節(jié)平面廣告創(chuàng)意 廣播廣告創(chuàng)意 電視廣告創(chuàng)意 網(wǎng)絡廣告創(chuàng)意 廣告媒體與渠道策劃 廣告推進程序策劃 廣告實施策略 廣告效果評估 廣告策劃文案寫作 廣告策劃書的編制技巧 可行性研究報告 行業(yè)分析報告 可行性研究 可行性報告 項目可行性報告 行業(yè)調查報告 可行性報告格式 調查報告 報告格式 辭職報告 述職報告 實習報告 社會實踐報告 報告范文 申請報告 材料加工碩士論文,主要介紹液態(tài)金屬的成型工藝、金屬焊接成型和材料表面處理工程。具體包括:液態(tài)金屬的工藝性能、砂型鑄造、鑄造工藝設計、鑄造工藝CAD/CAE、電弧的特性、焊絲的熔滴過渡、焊縫成形、埋弧焊、氬弧焊、二氧化碳氣體保護焊、等離子弧焊、熱噴涂、氣相沉積、激光表面工程技術等。是碩士研究生所撰寫的學術論文,具有一定的理論深度和更高的學術水平,更加強調作者思想觀點的獨創(chuàng)性,以及研究成果應具備更強的實用價值和更高的科學價值。試卷分析 中學試卷 高中試卷 高考試卷 英語四級試卷 成人高考試卷 考卷 公務員考試 小學試卷 中考試卷 高考試卷 高考試卷 數(shù)學試卷 英語試卷 語文試卷 醫(yī)學論文,論文下載中心 免費論文,畢業(yè)論文,各專業(yè)論文 論文聯(lián)盟-論文網(wǎng),論文,論文下載,論文發(fā)表,論文網(wǎng)站,畢業(yè)論文,論文,畢業(yè)論文,論文下載,論文范文-找論文網(wǎng) 論文,畢業(yè)論文,論文下載,論文范文-找論文網(wǎng) 19