




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機控制的8X8點陣漢字顯示屏的設計_本科畢業設計論文 基于單片機控制的點陣漢字顯示屏的設計【摘要】該設計是一款以單片機AT89c51為控制器的LED點陣顯示屏系統。該系統可實現漢字的靜態和動態特效顯示。系統采用PC機作為上位機,上位機向單片機發送控制命令和上位機所存儲的顯示代碼,AT89c51單片機接收并處理PC機的控制命令以及顯示代碼,由顯示驅動模塊驅動一個1616分辨率的LED點陣顯示屏的掃描顯示。PC機與單片機之間的通信采用RS?232C通信標準來實現。 【關鍵字】AT89c51;LED點陣顯示;串行通信Design and Realization of the Lattice
2、Screen of LED Based on AT89C51 Abstract: This paper introduces a design of the LED lattice display system base on MCU AT89c51. The system can display Chinese characters of the show and from top to bottom and move around the magic show. And can be cascaded to expand the screen size to achieve increas
3、ed content purposes. The PC sends control commands and displays code to microcontroller, AT89c51 receives control commands from PC and shows the code, Driver module drives a 1616-resolution LED lattice LEDs panel display scan showed. Communication between PC and the microcontroller using RS-232C com
4、munications standards Key words: AT89c51;lattice LEDs panel display;serial communication 目錄引言11.課題相關知識21.1 AT89C51簡介21.2串并轉換器74LS164 簡介21.3鎖存器74L373 簡介31.4 DSP 簡介31.5 EDA簡介42.系統設計方案52.1 通信系統設計52.2 LED點陣顯示屏設計52.3 硬件設計方案圖62.4 系統軟件編譯器的選擇72.5 上位機控制傳輸軟件設計73. 硬件開發83.1 硬件整體設計概述及功能分析83.2 控制系統設計83.3 譯碼電路設計10
5、3.4 列驅動電路設計103.5 通信系統硬件設計113.6 電源設計113.7 LED顯示屏設計124. 軟件設計及開發144.1 程序設計流程圖144.2 LED顯示屏的顯示方式的設計154.2.1 點陣數據表達方式的設計154.2.2 顯示程序的設計164.3 通信設計185. 系統測試205.1 系統硬件局部調試方法205.1.1 串口調試205.2 系統聯合調試及結果20總 結22致 謝23參考文獻24科技外文翻譯25附錄A 硬件原理圖32附錄B 仿真圖33附錄C 設計程序34引言 隨著現代計算機技術和自動化技術的開展,帶動了嵌入式技術的飛速開展。以單片機作為控制中心的嵌入式系統在實
6、際生活中應用越來越廣泛。該設計課題使我們能夠掌握LED顯示屏的根本顯示原理和設計方法,對LED顯示屏這個行業有了較為深刻的了解和認識。并且對大學期間所學習的一些理論進行了實踐,使我們對所學過的理論知識有了新的認識。并且通過該設計課題掌握了51單片機的的軟硬件開發工具的使用方法,為以后從事相關行業的工作積累了實際工作經驗。目前我國的信息行業開展迅速,作為主要平面顯示媒介的LED顯示屏的作用也越練越廣泛,相關的從業人員也會越來越緊缺。但同時應該清楚的認識到我國的LED技術雖然開展迅速但和世界先進水平還有一定的差距。因此此課題不管是對自己的就業還是對我國LED顯示技術的開展都有非常現實與積極的意義。
7、 AT89C51是美國ATMEL公司生產的低功耗,高性能CMOS8位單片機,片內含4k bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89C51單片機可提供許多高性價比的應用場合,可靈活應用于各種控制領域。AT989C51具有以下特點:與MCS-51產品指令系統完全兼容4k字節在系統編程(ISP)Flash閃速存儲器1000次擦寫周期全靜態工作模式:0Hz-33MHz三級
8、程序加密鎖1288字節內部RAM32個可編程I/O口線2個16位定時/計數器6個中斷源全雙工串行UART通道系統看門狗(WDT)及雙數據指針掉電標識和快速編程特性靈活的低功耗空閑和掉電模式中斷可從空閑模喚醒在系統編程(ISP字節或頁寫模式) AT89C51提供以下標準功能:4k字節Flash閃速存儲器,128字節內部RAM,32個I/O口線,看門狗(WDT),兩個數據指針,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數
9、器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。1.2 串并轉換器74LS164 簡介 列譯碼采用的是芯片74LS164。如果不采用譯碼電路完全依靠單片機的端口輸出來控制1616的LED點陣屏顯示,需要32個端口。而采用了譯碼電路后僅僅需要79個端口便可實現控制顯示。大大減少了I/O口的占用數目,為單片機擴展其他功能預留下來了空間。 74LS164為一個8位數據的串并轉換器。當去除端(CLEAR)為低電平時,輸出端(QA-QH)均為低電平。串行數據輸入端(A,B)可控制數據。當A、B任意一個為低電平,那么禁止新數據輸入,在
10、時鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。當A、B有一個為高電平,那么另一個就允許輸入數據,并在CLOCK上升沿作用下決定Q0的狀態。 參數 最小值 標準值 最大值 單位 高電平輸入電壓 2 ? ? V 低電平輸入電壓 ? ? 0.8 V 高電平輸出電壓 2.4 3.2 - V 低電平輸出電壓 ? 0.2 0.4 V 時鐘頻率 0 ? 25 MHZ表3.1 74LS164工作參數這就要求單片機的引腳輸出的上下電平要在芯片的識別范圍內,由于采用了列選通行傳送顯示代碼的方法所以行譯碼電路上也加上了74L373鎖存芯片。這就要求74LS164芯片的輸出要滿足鎖存芯片的上下電平區分范圍和頻率要
11、求。1.3鎖存器74L373 簡介 74LS373為八D鎖存器3S,鎖存允許輸入有回環特性。373為三態輸出的八D透明鎖存器,共有54/74S373和54/74LS373兩種線路結構形式當三態允許控制端OE為低電平時,O0O7為正常邏輯狀態,可用來驅動負載或總線。當OE為高電平時,O0O7呈高阻態,即不驅動總線,也不為總線的負載,但鎖存器內部的邏輯操作不受影響。當鎖存允許端LE為高電平時,O隨數據D而變。當LE為低電平時,O被鎖存在已建立的數據電平。參數最小值額定值最大值單位電源電壓4.7555.25V輸入高電平電壓2?V輸入低電平電壓?0.8V輸出高電平電壓?-2.6mA輸出低電平電壓?24
12、mA表3.2 74LS373工作參數表 由表與表比擬可以看出,74LS164的輸出條件與74LS373的輸入條件相匹配,理論上可以實現鎖存器對譯碼器的數據鎖存。1.4 DSP 簡介 DSP 又叫數字信號處理器。顧名思義,DSP主要用于數字信號處理領域,非常適合高密度,重復運算及大數據容量的信號處理。現在已經廣泛應用于通信、便攜式計算機和便攜式儀表、雷達、圖像、航空、家用電器、醫療設備等領域,DSP具有修正的哈佛結構,多總線技術以及流水線結構。將程序與數據存儲器分開,使用多總線,取指令和取數據同時進行,以及流水線技術,這使得速度有了較大的提高。DSP區別于一般微處理器的另一重要標志是硬件乘法器以
13、及特殊指令,一般微處理器用軟件實現乘法,逐條執行指令,速度慢。而DSP 依靠硬件乘法器單周期完成乘法運算,而且還具有專門的信號處理指令,如TM320 系列的FIRS ,LMS,MACD指令等。1.5 EDA簡介 EDA即Electronic Design Automation 即電子設計自動化,它是以計算機為工具,在EDA 軟件平臺上,對用硬件描述語言HDL 完成的設計文件自動地邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優化、邏輯布局布線、邏輯仿真,直至對于特定目標芯片進行適配編譯、邏輯影射和編程下載等。設計者只需用HDL 語言完成系統功能的描述,借助EDA工具就可得到設計結果,將編譯后的代碼下
14、載到目標芯片就可在硬件上實現。由于FPGA/CPLD可以通過軟件編程對該硬件的結構和工作方式進行重構,修改軟件程序就相當于改變了硬件,軟件編寫可以采用自頂向下的設計方案,而且可以多個人分工并行工作這樣便縮短了開發周期和上市時間,有利于在劇烈的市場競爭中搶占先機。而且MCU和DSP都是通過串行執行指令來實現特定功能,不可防止低速,而FPGA/CPLD那么可實現硬件上的并行工作,在實時測控和高速應用領域前景廣闊;另一方面,FPGA/CPLP器件在功能開發上是軟件實現的,但物理機制卻和純硬件電路一樣,十分可靠。 三種設計方式相比擬各有優點且都能夠實現控制功能,但單片機的技術門檻較低開發本錢也較低非常
15、適合初學者進行學習和鍛煉使用。現在市場上常用的單片機主要有MCS-51、AVR、ARM、PIC等。其中應用最廣泛的單片機首推Intel的51系列,由于產品硬件結構合理,指令系統標準,加之生產歷史“悠久,有先入為主的優勢常作為單片機學習的教材。且51系列的I/O腳的設置和使用非常簡單,當該腳作輸入腳使用時,只須將該腳設置為高電平(復位時,各I/O口均置高電平)。當該腳作輸出腳使用時,那么為高電平或低電平均可。所以在控制局部方案的選擇中選定51系列單片機作為控制局部的核心器件。 2.1 通信系統設計 通信局部要滿足的設計要求就是穩定、快速、簡單易實現。因為通常情況下顯示屏和上位機的距離不會很遠,所
16、以通信距離的要求不是很高。本設計那么采用串行通信。 串行通信數據是一位一位順序傳送,只用很少幾根通信線,串行傳送的速度低,但傳送的距離長,因此串行適用于長距離而速度要求不高的場合。在串行發送時,數據是一位一位按順序進行的,而計算機內部的數據是并行的。因此,當計算機向外發送數據時,必須將并行數據轉換為串行數據再發送。反之,又必須將串行數據轉換為并行數據輸入計算機中。這種轉換即可以用硬件實現也可以用軟件實現。單由軟件實現會增加CPU負擔,降低其利用率,故目前常采用硬件實現。通用的通用異步接收/發送器,簡稱UART(Universal Asynchromous Receeiver/Trabsnitt
17、er)是完成這一功能的硬件電路。在單片機芯片中,UART已經集成在其中,作為其組成局部,構成一個串行口。 綜上所述,題目設計已經選定了單片機為開發方式而單片機的UART已經集成在單片機內,所以通信系統選擇串行通信為通信方式。2.2 LED點陣顯示屏設計 顯示局部包括了一塊至少可以顯示一個漢字的顯示屏,以及驅動該顯示屏的驅動電路。由于單片機的I/O口有限要不能直接用I/O口來驅動LED顯示屏,所以需要對單片機IO口進行擴展增加單片機并行輸出的能力。 LED顯示屏是由一個一個的發光二極管點陣構成的,要構成大屏幕的LED顯示屏就需要多個發光二極管。構成LED屏幕的方法有兩種,一是由單個的發光二極管逐
18、點連接起來,如圖2.2所示;二是選用一些由單個發光二極管構成的LED點陣子模塊構成大的LED點陣模塊。目前市場上普遍采用的點陣模塊有88、1616幾種;這兩種屏幕構成方法各有有缺點,單個發光二極管構成顯示屏優點在于當單個的發光二極管出現問題時只需更換一個二極管即可,檢修的本錢較低,缺點在于連接線路復雜;而點陣模塊構成的方法卻正好與之相反,模塊構成省約了大量的連線,不過當一個LED出現問題時同在一個模塊的所有LED都必須被更換。 采取模塊構成的方法來制作一個LED點陣顯示屏。為了防止模塊的缺點,選擇點陣數較小的模塊來減小出現這一問題的風險。所以構建一個1616的LED點陣屏選用四塊88點陣模塊。
19、 發光二極管light emitting diode, LED,是一種把電能變成光能的特種器件,當向LED器件施加正向電壓時,有電流流過器件的正向電流使其發光。圖 2.2 LED點陣圖一個1616的LED顯示屏行和列各有16支引腳,不能單靠51單片機的端口驅動所以必須要對單片機的端口個數進行擴展。經常采用的端口擴展方法是用串并轉換芯片進行譯碼。常用的串并轉換芯片有74LS154(4線-16線譯碼器)、74LS164(8位串并轉換器)、74HC595等。51系列單片機端口低電平時,吸入電流可達20mA,具有一定的驅動能力;而為高電平時,輸出電流僅數十A甚至更小(電流實際上是由腳的上拉電流形成的)
20、,根本上沒有驅動能力,所以單片機不能直接驅動LED顯示屏顯示。在單片機和顯示屏之間還需要增加以功能放大位目的的驅動電路。2.3 硬件設計方案圖 最終方案如圖2.3所示,以PC機作為上位機存儲和處理顯示內容用串行通信的方式將顯示內容和控制指令傳輸到單片機系統,單片機根據上位機傳輸來的內容和指令通過端口譯碼擴展后驅動4塊88LED點陣模塊構成的1616的LED點陣顯示屏。題目將以此方案為指導思想展開具體的硬件電路設計。圖2.3 硬件設計方案2.4 系統軟件編譯器的選擇 C語言編寫的程序并不能被單片機直接執行還需要編譯為單片機可執行的機器語言。因此在系統軟件設計中,編譯器必不可少。支持MCS-51用
21、C語言編程的編譯器主要有兩種:Franklin C51編譯器和KEILC51編譯器。該設計選擇在單片機開發中普遍使用的KEIL C51來進行編譯。因此軟件設計最終方案為采用C語言為程序語言,KELC為編譯工具按照控制、通信、顯示等幾個功能模塊來編寫程序。2.5 上位機控制傳輸軟件設計 其中系統采用現在已經非常普遍的PC機作為上位機,這樣對該顯示系統的硬件要求便降低了,增加了系統的通用性。上位機的作用是存儲并處理顯示內容,然后通過通信系統傳送到控制系統驅動顯示。 LED顯示上位機的內容一般有實時顯示和存儲顯示兩種方法。實時顯示及上位機屏幕上的內容同時顯示在LED顯示屏上,上位機上內容變化LED顯
22、示屏也跟著變化。存儲顯示是將顯示內容處理過后存儲在上位機中通過通信系統傳輸到顯示屏顯示。兩種顯示方法相比擬:實時顯示屏幕能及時反響上位機內容的變化,顯示的效果和內容的實時性好多用于新聞播報、實況轉播用,但實時顯示硬件開銷大,對通信系統要求高,工藝復雜,本錢高;存儲顯示雖實時性不高但硬件開銷小,本錢低廉。課題設計題目對顯示的實時性要求較低且所設計的顯示屏尺寸不大同時顯示的內容不多,所以實時顯示就沒有必要。所以上位機選擇存儲顯示的方法,控制LED顯示屏的顯示內容。3. 硬件開發3.1硬件整體設計概述及功能分析 顯示系統具體設計主要由上位機,通信系統,單片機系統,譯碼電路,顯示驅動電路和1616的點
23、陣屏六局部組成。具體工作流程為:上位PC機通過通信系統向單片機發送控制指令和顯示代碼內容,單片機接收后執行控制指令處理顯示代碼將顯示內容通過I/O口串行輸出并且控制譯碼電路完成串并轉換并行輸出,最后由顯示驅動電路進行電壓和電流的處理以到達LED顯示屏的顯示電流,電壓要求進而使顯示屏顯示內容。根據硬件的功能結構圖選取適宜器件,器件不但要求能實現所要求的功能還要能兼容至整個系統之中。通過查閱資料和比照最終的硬件原理圖如圖3.1所示。 圖3.1 硬件原理圖該系統所要實現的功能和要求有以下幾點:(1)LED顯示屏的面積必須滿足至少顯示一個漢字的標準。并且顯示要清晰。(2)驅動電路要能提供LED顯示所需
24、范圍內的電壓和電流要求。(3)譯碼電路的上下電平的區分能力以及譯碼的輸入輸出頻率必須滿足單片機以及驅動電路的要求。(4)單片機要能接收上位機的指令和顯示內容且能夠處理后控制LED顯示屏的顯示,并且端口驅動能力要足以驅動譯碼電路。執行頻率要能到達掃描顯示的最低要求。(5)單片機由ISP下載線下載程序和供電,可不設立專用供電電源。(6)由串口完成單片機與上位機的通信,通信速度和數據傳輸的可靠性要到達顯示要求。3.2 控制系統設計 控制電路設計中采用的是單片機系統,該系統必須要是工作在一個最小系統(指單片機的可以的最小配置系統)。AT89C51的最小系統包括了外界時鐘電路和復位電路,選定一定數量的I
25、O口作為控制口控制外部的各種器件和數據的輸出。根據功能選擇一定的單片機端口添加外圍的器件,具體電路如圖3.2所示。 在該系統中,P1各口主要用作LED顯示數據的控制輸出。由于端口的驅動能力有限所以該端口外接了5K的上拉電阻來提高驅動能力。其中P1.5P1.6P1.7還復用為ISP下載功能口。具體接法為:P1.0,P1.1,P1.4,P1.5分別接四塊74LS164的A端,向74LS164送入串行數據經過其轉換后并行輸出;P1.2和P1.6分別接列和行的74LS164的CLOCK端,產生移位脈沖是串行數據并行輸出;P1.3和P1.7接列和行的CLEAR端,在一組數據完成串并轉換后去除164芯片中
26、的內容轉換新的數據;其中P1.5P1.6P1.7還復用為ISP下載功能口。P2.0接164芯片的使能控制端,當為高電平使允許輸出;P2.2和P2.3接鎖存器74LS373的OE和LE端控制鎖存器的工作狀態。 端口30,EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。因為沒有擴展外部程序存儲器所以將EA置為高電平。圖3.2 控制局部電路圖 由于P3口是特殊功能口,在該系統中根本是采用其第二功能。其第二功能和實際運用如表3.1所示:表3.1 AT89C51P3口第二功能的應用端口第二功能實際作用P3.0RXD(串行輸入口)與
27、上位機通信的數據輸入口P3.1TXD串行輸出口與上位機通信的數據輸出口P3.2外部中斷0做按鍵中斷,控制顯示狀態P3.3外部中斷1做按鍵中斷,控制運行模式 AT89C51單片機的P1在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,P2口在訪問外部程序存儲器或16位地址的外部數據存儲器時,P2口送出高8位地址數據。所以P1和P2口留為外部數據存儲器和程序存儲器的擴展用,以備內部存儲器和程序存儲器不夠用的情況時使用。 3.3 譯碼電路設計 譯碼電路的功能是為了解決單片機I/O端口缺乏。行譯碼所用器件為串并轉換器74LS164和鎖存器74LS373。具體電路如圖3.
28、3所示,代碼的方法所以行譯碼電路上也加上了74L373鎖存芯片。這就要求74LS164芯片的輸出要滿足鎖存芯片的上下電平區分范圍和頻率要求圖3.3 行譯碼電路圖 。 3.4 列驅動電路設計 列驅動采用ULN2803。ULN2803是一種高電壓大電流達林頓管陣列內部結構,該陣列中的八個NPN達林頓連接晶體管是低邏輯電平數字電路(如TTL,CMOS或PMOS)和大電流高電壓的燈,繼電器,打印機錘和其他類似負載間的接口的理想器件。廣泛用于計算機,工業和消費類產品中。所有器件有集電極開路輸出和用于瞬變抑制的續流箝位二極管。集電極輸出功率可達50V600mA。 ULN2803作為列驅動執行的是列選的工作
29、,中選通的列輸入高電平時其對應的輸輸出低電平。相對應的輸出取反,并能提供較大的灌電流來吸收行驅動流出進過顯示屏后的電流。具體電路如圖3.7所示。圖3.7 列驅動原理圖3.5 通信系統硬件設計 AT89C51單片機具有全雙工串行UART通道,支持單片機進行數據的串行傳輸。除了單片機要與PC機制定通信協議,確定發送速率外還需要解決的問題就是信號電平問題。RS-232C標準規定了PC機發送數據總線TXD和接收數據總線RXD采用EIA電平,即傳送數字“1時傳輸線上的電平在-3-15V之間;傳送數字“0時,傳輸線上的電平在+3+15之間。但單片機串行口采用正邏輯TTL電平,即數字“1時為+5V數字“0時
30、為-5V,所以單片機與計算機不能直接相連進行通信必須將RS-232C與TTL電平進行轉換。 在通用的電平轉換芯片中232系列的芯片以集成度高,單+5V電源工作,只需外接5個小電容即可完成RS-232C與TTL電平之間的轉換而成為單片機系統中的常用芯片。在該顯示系統中,232為通信系統中最重要的硬件組成局部。電路如圖3.8所示:圖3.8 串口通信系統電路圖3.6 電源設計 在系統中232、74LS164、74LS373、AT89S51都需要5V的供電電壓,在系統開發過程中可以使用電腦USB供電。在實際的大屏幕LED顯示屏設計中,用電腦USB供電明顯不切實際。此時需要對民用的220V進行降壓整流為
31、5V直流電壓為顯示系統供電。電路圖如圖3.9所示。 圖3.9 電源原理圖如下圖,用220V轉12V的變壓器進行降壓后再通過一個橋式整流電路將交流電整流為直流電。最后通過5V三端穩壓模塊LM7805得出穩定的5V輸出。3.7 LED顯示屏設計 LED顯示屏主要采用內部譯碼器級連和多個單片機系統級連的方法。譯碼器級連如圖3.10所示。 將第1個74LS164的Q7端接第2個74LS164的A端,將第2個74LS164的Q7端接第3個74LS164的A端,如此炮制當N塊74LS164相級連時就變為一個串行輸入7N口輸出的串并轉換器。這種級連的優點在于一塊單片機可以同時控制更多的LED點陣顯示屏,且7
32、4LS164的價格低廉整體本錢得到了降低。但是這種級連方法也存在一定的缺點,51系列的單片機的晶振頻率不高74LS164級連過多會增加一次掃描的時間從而導致顯示出現閃爍。從端口輸出的顯示數據的顯示也要作出相應的改變。圖3.10 74LSL64級連 構建LED顯示屏的另一種方法是將以較小的LED顯示系統做為模塊進行級連。如圖3-11所示,由獨立的LED顯示系統組成一個大的LED顯示系統。其中各子顯示系統之間在功能和控制上都是相互獨立的,將畫面拆分為幾塊小畫面再分別送入到各子系統中,各子系統同步顯示便可以得到一幅大的畫面。使用這種級連的方法可以防止51單片機晶振頻率低的弱點,更容易實現大屏幕的顯示
33、。但這種方法仍然存在難點,一是各獨立的子系統的通信和協調性要求更高了,如果要實現顯示內容的實時性必須需要上位機不斷更新顯示內容那么增加了上位機的通信數據量,逐個的單片機傳送數據也會影響整個畫面的更新速度。圖3.11 由子系統構建LED顯示屏 在實際應用中通常采用內部擴展和外部級連聯合使用的方法來構建大屏幕LED顯示屏幕。即增加單個顯示系統顯示屏幕大小的同時又將單個的顯示系統級連。詳細硬件原理圖見附錄A。4. 軟件設計及開發4.1 程序設計流程圖 系統軟件采用C語言編寫,按照模塊化的設計思路設計。首先分析程序所要實現的功能,程序要實現串口通信,靜態顯示,動態顯示三大功能。其功能結構如圖2.4所示
34、。通信程序接收上位機數據,交給主程序處理再通過控制程序選擇不同的顯示程序進行顯示。主程序的工作流程如圖4.1所示: 圖4.1 主程序流程圖 程序開始時首先必須對單片機進行初始化,其中初始化的內容包括:中斷優先級的設定,中斷初始化,串行通信時通信方式的選擇和波特率的設定,各IO口功能的設定等。初始化完成后程序進入待機狀態等待中斷的發生,該程序中主要用到了兩個外部中斷源和串行中斷。外部中斷源由按鍵的電平變化觸發,外部中斷主要功能是選擇LED點陣顯示屏的控制方式是由按鍵控制還是上位機控制和顯示狀態是靜態顯示還是動態顯示。串行中斷包括發送中斷和接收中斷都是由軟件觸發。中斷產生后由預先初始化時設定跳轉執
35、行中斷子程序。中斷程序設定了LED點陣顯示屏所要顯示的內容和顯示的方式,最后執行的是各種顯示程序。按照設定的方式和內容顯示出所需要的內容。4.2 LED顯示屏的顯示方式的設計 LED點陣屏顯示方式主要由靜態顯示和動態掃描顯示兩種。對靜態顯示來說,每一個發光二極管都需要一套驅動電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示內容,需要重新輸出新的點陣數據.這種方式系統原理相對簡單一些,但所需的譯碼驅動裝量很多,引線多而繁雜,不便于大屏幕的制造,本錢高,其可靠性也較低。 另一種動態掃描顯示是把整個LED屏幕分成假設干局部,每一幅畫面的顯示是顯示完一局部后,又顯示第二局部直到顯示完最后一
36、局部又重新開始顯示第一局部,重復循環進行.在重復掃描速度足夠快的情況下,我們看到的就是一幅穩定的畫面.也就是說采用動態掃描顯示需要不斷進行畫面的刷新。圖4.2 掃描顯示程序原理圖4.2.1 點陣數據表達方式的設計 該顯示系統的顯示數據采取縱向取模方向正向的數據存儲方式如圖4.3 圖4.3 點陣數據原理圖 即數據是縱向的,一個像素對應一個位。8個像素對應一個字節,字節的位順序是上高低低,比方從上到下8個點的狀態是“*-*-*為黑點,-為白點,那么轉換的字模數據是0x82B1000_0010。如圖4-3所示,一幅1616的點陣畫面點陣數據按照B1B2B3B31B32存儲。所以一幅畫面的數據量為32
37、字節。畫面顯示時選通的第i列對應的數組元素為第i和i+16個元素。4.2.2 顯示程序的設計 顯示程序分為靜態顯示程序、左移顯示、右移顯示、上移顯示、下移顯示五種種顯示方式。其中上下左右移動程序都調用了靜態顯示程序為子程序。靜態顯示程序流程圖如圖4.4所示: 圖4.4 靜態顯示程序流程圖 靜態顯示采用的是列掃描的顯示方式,選通一列后按照列與數據元素的對應關系第i列對應的行數據為數組中的第i和第i+16個元素。將對應元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與0X01相與,所得結果通過單片機端口輸出到串并轉換器的A端,鎖存在鎖存器里完成一列數據移位后再將其輸出。如此依次循環選
38、通各列來顯示所需畫面。圖4.5 左右移/上下移程序流程圖 動態顯示程序流程如圖4.5所示,根據顯示數據的存儲原理通過改變實際LED列與數據邏輯列的方法來實現程序的左右移動。顯示數據與列的對應關系為:第i列對應的數據為數組中i和第2i個數據。所以當ULN2803選通時,而送入后一列的數據那么相當于畫面左移移位,同理送入前一列數據相當于右移一位。如此循環那么產生一幅穩定運動的畫面。4.3 通信設計 系統采用串行中斷的方式進行通信。MCS-51單片機的五個中斷源兩種類型:一類是外部中斷源;另一類是內部中斷源,包括兩個定時器/計數器(T0和T1)的溢出中斷和串行口的接收和發送中斷。MCS-51單片機設
39、置了4個專用存放器用于中斷控制,分別為定時器控制存放器(TCON),串行口中斷控制器(SCON),中斷允許控制存放器(IE),中斷優先級控制存放器(IP)。編程時通過設置其狀態來管理中斷系統。 在編輯中斷程序時首先是將中斷控制存放器(IE)初始化。其控制位分布如表。EA為中斷允許總控制位,EA1時CPU開發中斷;EA=1時。CPU屏蔽所有中斷。ES、ET、EX1、ET0、EX0為對應的串行口中斷、定時器/計數器1中斷、外部中斷1中斷、定時器/計數器0中斷、外部中斷0中斷的中斷允許位。對應位為1時允許其中斷,對應位為0時,禁止其中斷。D7D6D5D4D3D2D1D0EA?ESET1EX1ET0E
40、X0表4.1 中斷允許存放器格式 所以初始化時設定中斷允許存放器初值為0XFF,指令為 IE0XFF。程序設計時還要考慮到中斷優先級的問題。因為不同的中斷同時產生而CPU響應的順序取決于內部查詢順序。 設置串口工作方式1,波特率9600,計算可得計數器初值的十六進制表示為0XFD。通信協議如表4.2所示: 數據結構 第1個字節 第2至第33個字節 第34個字節 內容 起始標志位S 顯示數據 控制指令 作用 判斷是否開始接收數據 LED的顯示內容 控制LED顯示方式表4.2 串口通信數據結構 具體串口中斷程序流程圖如圖4.6所示,在主程序中先進行了串行中斷的初始化,初始化內容包括了串行工作方式選
41、擇,波特率的設定,計數初值的設定。程序開始進入中斷等待,當PC機向單片機發送數據時產生中斷接收允許位RI置1,將SBUF(緩沖存放器)中的值輸入到暫存器中進行數據處理。首先判斷數據是否設定的起始標志位S如果是那么開始接收起始位后的33個字節,不是那么中斷返回繼續等待。接收到第34個字節后便將收到的數據發送回PC機進行驗證比擬。 圖4.6 通信程序流程圖 所有軟件編寫完成后都必須經過編譯才能被單片機識別使用。為了減小軟件的修改和優化難度,先把各子程序寫為一個可單獨執行的完整程序。各子程序編譯沒有錯誤后再輸入單片機進行驗證,這兩項都通過后再將所有的程序整合到一起形成一個完整的程序再進行編譯和驗證。
42、詳細程序見附錄B。 5. 系統測試 硬件制作和軟件編寫過后,得出實物如圖5.1所示。實物完成后必須對其進行調試,檢查設計功能是否實現了。軟件硬件完成后開始進行調試。調試可分為硬件調試,軟件調試和系統聯合調試。5.1 系統硬件局部調試方法 硬件調試主要是調試各局部的焊接是否合格和各芯片的輸出輸入電壓是否符合設計要求,最后測試各硬件局部能否完成設計功能。因此把硬件調試按照以下四局部分步來進行: (1)測試所有焊點是否有短路和虛焊的現象存在; (2)通電測試所有硬件芯片的輸入輸出電壓是否在設計要求的范圍內; (3)測試ISP下栽線的功能是否能夠實現; (4)測試串口系統的通信功能是否能夠實現。 由于
43、最重要的顯示系統功能的測試需要軟件配合所以在硬件調試局部只測試單片機復位電平,功能局部測試放在系統聯合調試局部來完成。5.1.1 串口調試 串口局部的作用為單片機與PC機之間通信,要檢查硬件是否正常工作可以采用將232芯片的單片機端輸出口與輸入口直接相連的方法來測試。具體電路圖如圖5-2所示,將232的第10端和第9端直接短接。功能上表示將單片機的輸出口與輸入口直接相連,單片機收到數據的同時就將數據發送回PC機。如果發送的數據能夠被接收那么證明串口通信局部的硬件是正常的。將串口與電腦COM1相接,通過串口調試助手發送不同位數的數據再在把發送的數據與接收數據相比擬。圖5.2 串口硬件調試5.2
44、系統聯合調試及結果 經過硬件調試和軟件調試,排除了硬件的連接問題和驗證了串口功能的可實現性。其余功能的軟件便可以在此根底上調試驗證其功能的正確性。聯合調試的具體方法如下:(1)編寫一個逐點掃描的顯示程序,再結合硬件電路運行。這樣做的目的在于檢測各器件是否能夠正常運行和顯示屏的各個LED燈是否有損壞。結果顯示顯示屏中只有邊角出有一個LED燈被燒壞,其他器件邏輯功能運行正常。(2)將靜態顯示子程序與各種動態顯示程序結合硬件電路進行調試。系統運行時顯示如圖5-1所示,顯示圖像比擬清晰,各動態顯示效果也能夠實現。但顯示存在兩個問題。一是發光點的下方會出現一個很微弱的亮點,影響了整體的顯示效果。二是同一
45、列的LED燈被點亮的數量與其亮度出反比,即如果同一列的燈都被點亮那么亮度比只點亮幾個時要暗一點。圖5.4 點陣漢字顯示效果圖總 結 經過一段時間的努力,終于完成了基于51單片機的LED顯示系統的設計,工程所要求的功能全部到達。通過這次設計收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實際經驗和過程中所發現的問題。 接手題目之后從互聯網上對LED進行了詳細的資料收集,從技術和產業的兩方面對LED進行了了解。通過了解我認識到LED是一門當今應用非常廣泛的技術,整個產業每年都會有巨大的產值而且技術還在不斷開展和創新。 從設計之初就確定了參照大屏幕顯示屏的實現方法和實際情況設計一款小屏幕的L
46、ED點陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了題目的設計方案。整個設計采用AT89C51做核心控制器,74LS164和74LS373組成譯碼電路,三極管8550和ULN2803做行和列驅動。在實現這一設計的過程中所遇到的問題和困難給我留下了珍貴的經驗和深刻教訓。這些經驗和教訓是:(1)設計之前應該進行大量的資料收集和分析,確定一個清晰的設計思路;(2)器件選擇時要詳細閱讀器件使用手冊,不但要考慮器件的功能實現還要考慮器件在整個系統中的兼容性;(3)硬件的系統的建立必須合理和穩定,實物建立之前最好進行仿真這樣才能為軟件提供一個可靠的試驗平臺;(4)軟件的編寫不但要實現功能還要不斷的優化、
47、簡練、易讀。 隨著課題的進行,對LED的了解也越來越深入。認為LED技術也會進一步開展,LED應用將會更加廣泛。可以設想利用LED的高穩定性和低能耗,再與無線通信技術相結合在沙漠深處或者人跡罕至的雪山之顛樹立一塊依靠太陽能充電,通過無線傳輸方式更改顯示內容的信息板為登山者提供指示和天氣信息,為沙漠迷路的人指引方向。 設計結束了,但學習還在繼續。我相信通過此次設計所得到的知識、心得、經驗乃至感受都會讓我在以后的日子里受益匪淺。致 謝 這次能夠圓滿完成畢業設計我首先要感謝我的指導老師潘繼強老師,感謝他在畢業設計期間對我的指導、勉勵、和督導。同時我要感謝大學四年里教過我課程的老師們,感謝他們對我知識
48、增長所付出的辛勤勞動。在我畢業論文寫作期間,老師給我提供了各種專業知識上的指導,沒有您們的幫助,我不會這么順利的完成畢業設計,借此時機,向您們表示由衷的感謝。接著,我要感謝同組的各位同學。在畢業設計的短短3個月里,你們給我提出很多珍貴的意見,給了我不少幫助還有工作上的支持,在此也真誠的謝謝你們。和他們的相互幫助和啟發中,才有我今天的小小收獲。最后我要深深地感謝我的家人,正是他們含辛茹苦地把我養育成人,在生活路上的和學習上給予我無盡的愛、理解和支持,才使我時刻充滿信心和勇氣,克服成長種種困難,順利的完成大學學習。 還有許許多多給予我學業上鼓勵和幫助的師長、朋友,在此無法一一列舉,在此也一并表示忠
49、心地感謝!參考文獻1戴梅萼,史嘉權.微型計算機技術及應用(第四版)M. 北京:清華大學出版社,2021.2李建忠.單片機原理及應用M. 西安:西安電子科技大學出版社,2021.3何欽銘,顏暉.C語言程序設計M. 北京:高等教育出版社,20074李群芳.單片機微型計算機與接口技術M.北京:電子工業出版社,20215步維提,郭強.最新液晶顯示應用M. 北京:電子工業出版社,2007.6李華.MCU-51系列單片機實用接口技術M.北京:北京航空航天大學出版社,2021.7胡強,張昆.C+ Builder 6編程實例教程M.北京:北京希望電子出版社,2021.8王波.基于51單片機的LED顯示系統的設
50、計M.山西:山西大學出版社,2021.9陳新忠.基于RS232總線的單片機多機通信軟件設計M.北京:人民出版社,2021.10 李桂平.LED屏幕顯示器的設計M.西安:西安交通大學出版社,2021. Based on AT89C51 LED dot matrix Chinese characters display LED Light Emitting Diode, light-emitting diode, is a solid state semiconductor devices, which can be directly converted into electricity to l
51、ight. LED is the heart of a semiconductor chip, the chip is attached to one end of a stent, is the negative side, the other end of the power of the cathode, the entire chip package to be epoxy resin. Semiconductor chip is composed of two parts, part of the P-type semiconductor, it inside the hole-dominated, the other side is the N-type semiconductor,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025監理工程師《合同管理》知識點合同違約責任
- (高清版)DB3301∕T 0365-2022 放心消費商圈創建與管理規范
- 2025版權法律服務合同示范文本
- 《電動汽車智能座椅加裝》課件
- 2025年進出口商品購銷合同
- 商業特許經營培訓
- 《精確數據展示》課件
- DB1311T 084-2025 抗旱谷子品種選育技術規程
- 學生宿舍建設項目可行性分析報告
- 探索集中儲能項目的可行性與未來潛力
- 未來趨勢與職業前景智慧樹知到期末考試答案章節答案2024年聯盟推+薦
- 2024年福建省泉州市中考二模物理試題
- 水生產企業(自來水公司)安全生產風險分級管控和隱患排查治理雙體系方案全套資料(2021-2022版)
- (正式版)JBT 14449-2024 起重機械焊接工藝評定
- 2020混凝土結構加固修復用聚合物水泥砂漿施工及驗收規程
- 化妝培訓課件版
- 營地指導員基礎教程
- 初級電工證考試試題庫電工證考試題庫
- 潔凈廠房設計方案
- 北京市通州區2021-2022學年高二下學期期中地理試題(解析版)
- 企業財務共享中心成熟度研究-以海爾集團為例
評論
0/150
提交評論