基于單片機的點陣漢字顯示(附錄有C語言程序)_第1頁
基于單片機的點陣漢字顯示(附錄有C語言程序)_第2頁
基于單片機的點陣漢字顯示(附錄有C語言程序)_第3頁
基于單片機的點陣漢字顯示(附錄有C語言程序)_第4頁
基于單片機的點陣漢字顯示(附錄有C語言程序)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湖南科技大學課程設計 湖南科技大學測控技術(shù)與儀器專業(yè)單 片 機 課 程 設 計 題 目 基于單片機的點陣漢字顯示設計姓 名 學 號 指導教師 成 績 _湖南科技大學機電工程學院二一五年十二月制摘要LED顯示屏在我們的周圍隨處可見,它的應用已經(jīng)普及到社會中的方方面面。作為一種新型的顯示器件,在許多場合都可以見到它的身影,不僅是它的應用使呈現(xiàn)出來的東西更加美觀,更重要的是它的應用方便,成本很低,除了能給人視覺上的沖擊外,更能給人一種美的享受。LED顯示屏是由多個發(fā)光二極管按矩陣形式排列封裝而成,通常用來顯示時間、圖文等各種信息。本設計是基于STC89C51單片機的16*16點陣式顯示屏,該LED顯

2、示屏能實現(xiàn)16*16個漢字,簡單的顯示圖像, 然后一直循環(huán)著顯示下去。該設計包含了硬件、軟件、調(diào)試等方案,只需簡單的級聯(lián)就能實現(xiàn)顯示屏的拓展,但要注意不要超過負載能力。本次設計的作品體積小、功能多、方便實用、花費小,電路具有結(jié)構(gòu)簡單、操作方便、精度高、應用廣泛的特點。關鍵詞: LED,STC89C51單片機,顯示屏 目錄摘要i第一章 系統(tǒng)功能要求 11.1系統(tǒng)設計要求 1第二章 方案論證 1 2.1 方案論證 1第三章 系統(tǒng)硬件電路設計 13.1 STC89C51芯片的介紹 13.1.1 系統(tǒng)單片機選型 13.1.2 STC89C51引腳功能介紹 2 3.1.37

3、4LS595的總體特點和工作原理3.2 LED點陣介紹23.2.1LED點陣23.3系統(tǒng)各硬件電路介紹 33.3.1系統(tǒng)電源電路設計介紹33.3.2復位電路33.3.3晶振電路43.4系統(tǒng)的總的原理圖4第四章 系統(tǒng)程序設計 54.1基于PROTEUS的電路仿真54.2用PROTEUS繪制原理 54.3PROTEUS對單片機內(nèi)核的仿真 6第五章 調(diào)試及性能分析 65.1系統(tǒng)的調(diào)試6參考文獻7附錄7第一章 設計要求1.1 系統(tǒng)設計要求1. 以STC89C51系列的單片機為核心器件;組成一個點陣式漢字顯示屏。2. 顯示屏由一塊16x16 LED點陣顯示器組成;可以依次顯示13個漢字。3. 通過編程能

4、夠隨時對漢字進行修改、調(diào)整。第二章 方案論證2.1 方案論證以設計方案為指導思想選擇合適的器件來實現(xiàn)這一思想,選擇器件時要從功能和電氣特性兩方面來選擇和論證。經(jīng)過對比選擇選定STC89C51單片機為核心控制器件,由74LS138作為字位電路器件,三極管2N5551和2N5401為驅(qū)動電路器件。論文列出了詳細的器件參數(shù)和在系統(tǒng)中的連接使用方法。第三章 系統(tǒng)硬件電路設計3.1 AT89S51芯片的介紹(1)系統(tǒng)單片機選型單片機選擇在整個系統(tǒng)中有著至關重要的作用,這里要選擇一款低成本、高運算速度、內(nèi)存大等特點的單片機,經(jīng)過不斷的查找資料,最后我們選擇了STC89C51作為主控芯片。STC89C51是

5、一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次以上的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的STC89C51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。STC89C51芯片具有以下特性:指令與8051完全兼容;8KB片內(nèi)Flash程序存儲器;時鐘頻率為033MHz;128字節(jié)片內(nèi)隨機讀寫存儲器(RAM);32個可編程輸入/輸出

6、引腳;2個16位定時/計數(shù)器;2個外部中斷,1個串口中斷,3個定時器中斷AT89S51有32個可編程IO,1個VCC接口,1個GND接口,1個復位引腳接口,還有2個晶振接口。(2)STC89C51引腳功能介紹1) VCC:供電電壓。2) GND:接地。3) P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。4) P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向

7、I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 5) P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)

8、存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。6) P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。7) P3口也可作為AT89C51的一些特殊功能口,如下表所示:8) 口管腳 備選功能9) P3.0 RXD(串行輸入口)10) P3.1 TXD(串行輸出口)11) P3.2 /INT0(外部中斷0)12) P3.3 /INT1(外部中斷1)13) P3.4 T

9、0(記時器0外部輸入)14) P3.5 T1(記時器1外部輸入)15) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)16) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)17) P3口同時為閃爍編程和編程校驗接收一些控制信號。18) RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。19) ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時

10、,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。20) /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。21) /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLA

11、SH編程期間,此引腳也用于施加12V編程電源(VPP)。22) XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。23) XTAL2:來自反向振蕩器的輸出。(3)74LS595的總體特點和工作原理1)總體特點:74LS595是8位串行輸入轉(zhuǎn)并行輸出移位寄存器,三態(tài)輸出功能,具有數(shù)據(jù)存儲寄存器,移位寄存器和存儲器是分別的時鐘。數(shù)據(jù)在SHcp的上升沿輸入,在STcp的上升沿進入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。在移位的過程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場合很有用處,數(shù)碼管沒有閃爍感。2)工作原理每當SHcp上升沿到來時, Ds引

12、腳當前電平值在移位寄存器中左移一位,在下一個上升沿到來時移位寄存器中的所有位都會向左移一位,同時Q7'也會串行輸出移位寄存器中高位的值,這樣連續(xù)進行8次,就可以把數(shù)組中每一個數(shù)(8位的數(shù))送到移位寄存器;然后當STcp上升沿到來時,移位寄存器的值將會被鎖存到鎖存器里,并從Q17引腳輸出。74LS595的主要優(yōu)點是具有數(shù)據(jù)存儲寄存器,在移位的過程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場合很有用處,點陣沒有閃爍感。74HC595在5V供電的時候能夠達到30MHz的時鐘速度,每個并行輸出端口均能承受20mA的灌電流和拉電流。這個特點保證了不用增加額外的擴流電路即可輕松的驅(qū)動LED。它

13、輸入端允許500nS的上升(下降)時間,對嚴重畸形的時鐘脈沖仍能檢測。這樣就可以容納較大的傳輸線對地電容,使本設計的抗干擾能力增強。3.2 LED點陣介紹(1)LED點陣8×8單色點陣共需要64個發(fā)光二極管組成,且每個二極管是放置在行線與列線的叉點上。本設計是一種實用的漢字顯示屏的制作,制作的是雙色點陣。考慮到元器件的易購性,沒有使用8×8的點陣發(fā)光二極管模塊,而是直接使用了256個高亮度發(fā)光管,組成了16行16 列的發(fā)光點陣。實際使用時可以根據(jù)這個原理自行擴充顯示的字數(shù)。對比下面的8×8單色點陣和8×8雙色點陣可以看出,其實8×8雙色點陣就是

14、兩塊8×8單色點陣組合在一起的。要實現(xiàn)用兩種顏色顯示,只要在電路的設計中適當?shù)倪B線就可以了。8×8單色點陣 LED 結(jié)構(gòu)如下圖3.1所示。圖3.1 8×8單色點陣 LED 結(jié)構(gòu)3.3系統(tǒng)各硬件電路介紹(1)電源電路圖3.2電源電路(2)復位電路圖3.3復位電路圖3.4為系統(tǒng)復位電路,為確保系統(tǒng)中電路穩(wěn)定可靠工作,復位電路是必不可少的一部分,復位電路的第一功能是上電復位。一般單片機電路正常工作需要供電電源為5V±5%,即4.755.25V。由于單片機電路是時序數(shù)字電路,它需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當VCC超過4.75V低于5.25V以及晶體

15、振蕩器穩(wěn)定工作時,復位信號才被撤除,單片機電路開始正常工作。這種復位電路的工作原理是:VCC上電時,C1充電,在10K電阻上出現(xiàn)電壓,使得單片機復位;幾個毫秒后,C1充滿,10K電阻上電流降為0,電壓也為0,使得單片機進入工作狀態(tài)。工作期間,按下S1,C1放電。S1松手,C1又充電,在10K電阻上出現(xiàn)電壓,使得單片機復位。幾個毫秒后,單片機進入工作狀態(tài)。(3)晶振電路圖3.4晶振電路每個單片機系統(tǒng)里都有晶振,全稱叫晶體震蕩器,在單片機系統(tǒng)里晶振的作用非常大,它結(jié)合單片機內(nèi)部的電路,產(chǎn)生單片機所必須的時鐘頻率,單片機的一切指令的執(zhí)行都是建立在這個基礎上的,晶振的提供的時鐘頻率越高,那單片機的運行

16、速度也就越快,如圖,在晶振兩邊添加兩個30pF(27-33pF)電容,使震蕩更加穩(wěn)定。震蕩電路接在AT89S52單片機的18、19兩個引腳上,給單片機提供震蕩信號。3.4系統(tǒng)的總的原理圖該系統(tǒng)主要由單片機,電源,下載接口,晶振,三極管驅(qū)動,按鍵等組成。圖3.5系統(tǒng)總原理圖第四章 系統(tǒng)程序設計4.1基于PROTEUS的電路仿真Proteus 是英國 Labcenter electronics 公司開發(fā)的 EDA 工具軟件。主要由原理布圖的方法繪制電路并進行仿真的 ISIS 和 PCB 自動布線或人工布線電路仿真的 ARES 兩個程序組成。Proteus 運行于 Windows 操作系統(tǒng)上, 可以

17、動態(tài)實時仿真、分析 ( SPICE) 各種模擬器件和集成器件。針對微處理器及其外圍電路,可以直接在基于原理圖的虛擬原型上編程, 并實現(xiàn)軟件代碼級的調(diào)試, 配合其提供的仿真圖表或虛擬儀器如示波器、邏輯分析儀等可進行相應的測量與分析。借助Proteus的對CPU和外圍電路強大的仿真能力以及豐富的資源庫,可以有效地替代硬件仿真器進行先期的軟硬件調(diào)試,等到仿真結(jié)果基本理想時再進行實際的硬件調(diào)試,這樣的開發(fā)過程不僅高效,而且可以盡可能地減少損失,尤其對于解決實驗室資源緊張的問題是一個很好的思路。4.2用PROTEUS 繪制原理圖運行 Proteus 的 ISIS 程序后, 進入該仿真軟件的主界面。主界面

18、由菜單欄、工具欄、預覽窗口、元件選擇按鈕、元件列表窗口、原理圖繪制窗口和仿真進程控制按鈕組成(如圖1所示)。通過元件選擇按鈕 P (從庫中選擇元件命令) 命令, 在彈出的 Pick Devices 窗口中選擇電路所需的元件, 放置元件并調(diào)整其相對位置, 對元件參數(shù)設置及元器件間連線, 完成單片機系統(tǒng)的硬件原理圖繪制。4.3PROTEUS 對單片機內(nèi)核的仿真在source 菜單的Define code generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source菜單的Add/remove source files 命令下,加入單片機硬件電路的對應程序(主要

19、采用 Keil 進行程序編譯)打開如圖8所示的對話框。在 Program File 欄添加編譯好的十六進制格式的程序文件8X8.hex,給AT89C51輸入晶振頻率,此處默認為12MHZ, 單擊OK 按鈕完成程序添加工作, 下面就可以進行系統(tǒng)仿真了。Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況,也能仿真單片機CPU的工作情況。因此在仿真和程序調(diào)試時,是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。從某種意義上講Proteus仿真,基本接近與工程應用。第五章 調(diào)試及性能分析5.1系統(tǒng)的調(diào)試電路板實物做完以后,接下來的工作就是調(diào)試

20、。這是理論指導實踐最重要的一步。調(diào)試工作需要耐心與恒心。所以在調(diào)試過程中必須保持冷靜的頭腦,較強的電路分析能力。一個系統(tǒng)的調(diào)試需要軟硬件結(jié)合調(diào)試。在軟硬件結(jié)合調(diào)試的過程中所遇到的問題:(1)電子電路的設計中對各種影響因素的考慮不夠完全,比如在對過電壓情況的處理中未作防范措施。(2)系統(tǒng)設計不夠優(yōu)化,有待改善。比如系統(tǒng)的超量程信號直接由單片機送入報警電路,沒有設計保護電路再入單片機處理后送入報警電路。(3)沒有擴展更多電路,如溫度顯示功能,通訊接口電路與上位機(PC機)進行通訊,上位機顯示功能從而將大量的商品數(shù)據(jù)存于上位機,然后通過串口或并口通訊與電子稱相連,達到遠距離控制的目的。(4)對各種實

21、用芯片價格了解不夠,選擇上任有欠缺,如所選的稱重傳感器價格較貴。參考文獻1馬維華.嵌入式系統(tǒng)原理及應用M.北京郵電大學出版社.2006年9月. 2粟梅,林曠.基于S3C44BOX的大型LED顯示示系統(tǒng)設計J.單片機與嵌入式系統(tǒng)的應用.2006年第2期 3霍利民,孫麗華.大型LED顯示系統(tǒng)的設計與研制J.河北工業(yè)科技.1999年,總第56期第16卷. 4魏銀庫,陳建國,狄國偉.256級灰度LED點陣屏顯示原理及基于FPGA的電路設計J.電子設計應用. 附錄#include<reg51.h>/頭文件sbit shcp=P12;/數(shù)據(jù)輸入時鐘線 595的11腳sbit stcp=P11;

22、/輸出存儲器鎖存時鐘線 595的12腳sbit ds=P10;/數(shù)據(jù)線 595的14腳sbit s1=P31;/按下暫停再暫按繼續(xù)sbit s2=P32;/按下方向取反bit fx;/方向切換unsigned char alt;/數(shù)據(jù)移動定時時間unsigned int net;/控制顯示的字符unsigned int zong=244;/總字符 (所有的字數(shù)+1)*32 字數(shù)指的是漢字,字母、數(shù)字兩個算一個數(shù)字unsigned char code tab=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

23、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x04,0x10,0x24,0x20,0x24,0x40,0x24,0xFC,0x24,0xA2,0xFD,0x22,0x26,0x22,0x24,0x42,0x2C,0x42,0x14,0x42,0x24,0x82,0x44,0x1E,0x04,0x00,0x04,0x00,0x00,0x00,/*"老",0*/0x00,0x00,0x3F,0xE1,0x00,0x02,

24、0x00,0x0C,0xFF,0xF0,0x00,0x00,0x40,0x00,0x47,0xF8,0x44,0x00,0x44,0x00,0x7F,0xFF,0x44,0x10,0x44,0x08,0x47,0xF0,0x40,0x00,0x00,0x00,/*"師",1*/0x04,0x02,0x08,0x0C,0x10,0x00,0x3F,0xEE,0xC4,0x01,0x08,0x81,0x11,0x11,0xE6,0x4D,0x20,0x21,0x2F,0xC1,0x20,0x01,0x24,0x07,0x2A,0x00,0x31,0x88,0x00,0x06,0

25、x00,0x00,/*"您",2*/0x02,0x00,0x02,0x20,0x22,0x20,0x22,0x20,0x2A,0x20,0x26,0x20,0xA2,0x20,0x63,0xFF,0x22,0x20,0x26,0x20,0x2A,0x20,0x22,0x20,0x22,0x20,0x02,0x20,0x02,0x00,0x00,0x00,/*"辛",3*/0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x3F,0xF9,0x22,0x21,0x22,0x21,0x22,0x2F,0xE2,0x21,0x22,0x2

26、1,0x22,0xF9,0x22,0x21,0x3F,0x21,0x00,0x21,0x00,0x21,0x00,0x00,0x00,/*"苦",4*/0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x02,0x40,0x01,0x47,0xFE,0x44,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"了",5*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,

27、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;void delay(unsigned int z)/延時子函數(shù) unsigned char x; for(;z>0;z-) for(x=110;x>0;x-);void writedata(unsigned char dat1,unsigned char dat2) /595顯示子函數(shù)unsigned char i;/CY存儲移位之后的數(shù)據(jù) CY進位標志位,單片機內(nèi)部的寄存器 移位之后的數(shù)據(jù)就存在CY里面for(i=0;i<8;i+)/循環(huán)八次dat1=dat1<<1;/數(shù)據(jù)左移ds=CY;/數(shù)據(jù)發(fā)送shcp=1;/上升沿發(fā)生移位 shcp=

溫馨提示

  • 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

提交評論