畢業(yè)論文-基于STC89C52RC單片機的LED點陣系統(tǒng)設計與實現(xiàn)_第1頁
畢業(yè)論文-基于STC89C52RC單片機的LED點陣系統(tǒng)設計與實現(xiàn)_第2頁
畢業(yè)論文-基于STC89C52RC單片機的LED點陣系統(tǒng)設計與實現(xiàn)_第3頁
畢業(yè)論文-基于STC89C52RC單片機的LED點陣系統(tǒng)設計與實現(xiàn)_第4頁
畢業(yè)論文-基于STC89C52RC單片機的LED點陣系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

中國石油大學(華東)本科畢業(yè)設計(論文)3PAGE2本科畢業(yè)設計(論文)題目:基于STC89C52RC單片機的LED點陣系統(tǒng)設計與實現(xiàn)學生姓名:學號:專業(yè)班級:通信工程2008級3班指導教師:2012年6月15日本科畢業(yè)設計(論文)摘要LED點陣作為一種新興的顯示器件,是由多個獨立的LED發(fā)光二極管封裝而成,用來顯示文字、圖形、圖像、動畫和視頻等各種信息的顯示屏幕。此次設計的主要任務就是能夠實現(xiàn)漢字的顯示以及移動。本文詳細介紹了此次畢業(yè)設計的開發(fā)過程。該LED顯示屏采用16*64點陣像素,以STC89C52RC單片機作為控制核心,使用C語言編程,采用動態(tài)掃描的方式,使得能夠顯示各種文字、數(shù)字或單色圖像,全屏最多能顯示4個漢字,顯示的圖形或文字能夠實現(xiàn)靜止、左移、右移、上移、下移等多種顯示方式,并且可以通過按鍵控制。本設計還在PC機上使用VC編寫上位機程序,PC機與單片機之間的通信采用RS—232C標準,因此上位機可以向單片機發(fā)送控制命令和顯示屏所要顯示文字的的代碼,單片機接收到指令后做出相應的處理,繼而在顯示屏上顯示出對應的圖形圖像。關鍵詞:STC89C52RC單片機;LED點陣顯示屏;串行通信;動態(tài)掃描

ABSTRACTAsanewdisplayLEDdotmatrixismadebyanumberofindependentLEDlightemittingdiodeisusedtodisplaytext,graphics,images,animation,videoandotherinformationdisplayscreenThedesignofthemaintaskistoachievedisplayofChinesecharactersaswellasmoving.Thispaperdescribesthedevelopmentprocessofthegraduatedesign.TheLEDscreenismadeby16*64lattice.ThecontrolcoreisSTC89C52RCMCU.ThesystemisusingtheCprogramminglanguageanddynamicscan.Theelectronicscreencanshowallkindsofwordsimagesandnumbers.Thefullscreencandisplay4Chinesecharacters.Thescreencandisplaystaticgraphicortext.Ithasanumberofmovingformats.Suchasmovingupanddownmovingleftandright.Itcanalsousekeystocontrol.ThesystemusePCasthehostcomputerandthehostcomputercansendcommandsandDisplaycodetoMCU.CommunicationbetweenPCandMCUusetheRS-232Ccommunicationstandard.Afterthemicrocontrollerreceivescommandstomaketheappropriatetreatment,thendisplaygraphicimagesonthescreen.Keywords:STC89C52RCMicroControllerUnit;LEDLattice-Display;SerialCommunication;Dynamicscanning

目錄第1章前言 11.1課題內容及意義 11.1.1選題背景 11.1.2研究現(xiàn)狀及發(fā)展趨勢 11.2論文組織結構 2第2章功能要求與論證方案 42.1功能要求 42.1.1研究的主要內容 42.2系統(tǒng)硬件方案 42.2.1主控制器 42.2.2通信系統(tǒng) 62.2.3LED點陣顯示屏 62.2.4硬件設計方案 82.3系統(tǒng)軟件方案 82.3.1單片機編程語言 92.3.2系統(tǒng)軟件編輯器 92.3.3上位機控制程序軟件 9第3章硬件系統(tǒng)設計 113.1單片機系統(tǒng)及外圍電路 113.1.1STC89c52RC簡介 113.1.2單片機最小系統(tǒng) 123.2串口電路 133.3列驅動電路 143.3.174LS595簡介 143.3.2列驅動電路圖及工作原理 143.4行驅動電路 163.4.174LS154簡介 163.4.2行驅動電路圖及工作原理 16第4章軟件系統(tǒng)實現(xiàn) 184.1程序設計流程 184.1.1主程序流程 184.2顯示程序設計 194.2.1LED顯示屏的顯示方式 194.2.2點陣數(shù)據(jù)表達方式 204.2.3顯示程序的設計 214.3通信程序設計 234.3.1串口中斷 234.3.2串口中斷流程圖 244.4上位機程序設計 264.4.1建立程序框架 264.4.2上位機功能說明 28第5章系統(tǒng)調試 295.1硬件調試 295.1.1短路與虛焊檢測 295.1.2上電測試 305.1.3串口調試 305.2軟件調試 305.3聯(lián)合調試 31第6章總結與展望 336.1課題工作總結 336.2系統(tǒng)功能的拓展 33致謝 35參考文獻 36附錄 37附錄A 37附錄B 37PAGE3中國石油大學(華東)本科畢業(yè)設計(論文)1第1章前言課題內容及意義1.1.1選題背景LED顯示屏是八十年代后期在全球迅速發(fā)展起來的新型信息顯示媒體,顯示屏由幾萬甚至幾十萬個半導體發(fā)光二極管像素點均勻排列組成。利用不同的材料可以制造不同色彩的LED像素點。目前應用最廣的是紅色、綠色、黃色。而藍色和純綠色LED的開發(fā)已經達到了實用階段。LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點。在短短的十來年中,LED點陣顯示屏就以亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定的優(yōu)點迅速成長為平板顯示的主流產品,在信息顯示領域得到了廣泛的應用。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。LED顯示屏的應用涉及社會經濟的許多領域,主要包括:(1)證券交易、金融信息顯示。(2)機場航班動態(tài)信息顯示。(3)港口、車站旅客引導信息顯示。(4)體育場館信息顯示。(5)道路交通信息顯示。(6)調度指揮中心信息顯示。(7)郵政、電信、商場購物中心等服務領域的業(yè)務宣傳及信息顯示。(8)廣告媒體新產品等。1.1.2(1)我國LED產業(yè)發(fā)展現(xiàn)狀我國的LED顯示屏產業(yè)經過幾年的發(fā)展,基本形成了一批具有一定規(guī)模的骨干企業(yè)。據(jù)不完全統(tǒng)計,至1998年底,年度銷售總額在1000萬元以上的企業(yè)有20多家,其銷售總額達6億元左右,占行業(yè)市場總額的85%以上。全國從事LED顯示屏的各類企業(yè)有100余家,從業(yè)人員近6000人,行業(yè)年度銷售總額近8億元人民幣,1996年、1997年的增長速度均保持40%左右,1998年略有回落。在國內市場上,國產LED顯示屏的市場占有率近100%,國外同類產品基本沒有市場,四十三屆世乒賽主會場天津體育中心、京九鐵路、北京西客站、首都機場、浦東機場等,均由國內代表企業(yè)中標。技術水平相對領先,我國LED顯示屏產業(yè)在規(guī)模發(fā)展的同時,產品技術推陳出新,一直保持比較先進的水平。90年代初即具備了成熟的16級灰度256色視頻控制技術及無線遙控等國際先進水平技術,近年在全彩色LED顯示屏、256級灰度視頻控制技術、集群無經線控制、多級群控技術等方面均有國內先進、達到國際水平的技術和產品出現(xiàn);LED顯示屏控制專用大規(guī)模集成電路也已由國內企業(yè)開發(fā)生產并得到應用。LED顯示屏產業(yè)培養(yǎng)形成了一批LED顯示屏科技隊伍,在全國LED顯示屏行業(yè)的從業(yè)人數(shù)6000人中,科技人員有2800多人,將近50%。LED顯示屏產業(yè)正成為我國電子信息產業(yè)的重要組成部分,也是平板顯示領域唯一立足國內形成的民族高科技產業(yè)。(2)LED顯示屏的發(fā)展趨勢現(xiàn)代信息社會中,作為人一機信息視覺傳播媒體的顯示產品和技術得到迅速發(fā)展,進入二十一世紀的顯示技術將是平板顯示的時代,LED顯示屏作為平板顯示的主導產品之一無疑會有更大的發(fā)展,并有可能成為二十一世紀平板顯示的代表性主流產品。高亮度、全彩化藍色及純綠色LED產品自出現(xiàn)以來,成本逐年快速降低,已具備成熟的商業(yè)化條件?;A材料的產業(yè)化。使LED全彩色顯示產品成本下降,應用加快。LED產品性能的提高,使全彩色顯示屏的亮度、色彩、白平衡均達到比較理想的效果,完全可以滿足戶外全天候的環(huán)境條件要求,同時,由于全彩色顯示屏價格性能比的優(yōu)勢,預計在未來幾年的發(fā)展中,全彩色LED顯示屏在戶外廣告媒體中會越來越多地代替?zhèn)鹘y(tǒng)的燈箱、霓紅燈、磁翻板等產品,體育場館的顯示方面全彩色LED屏更會成為主流產品。全彩色LED顯示屏的廣泛應用會是LED顯示屏產業(yè)發(fā)展的一個新的增長點。未來LED顯示屏會向著標準化、規(guī)范化,產品結構多樣化的方向發(fā)展。(3)選題意義該設計課題使我們能夠掌握LED顯示屏的基本顯示原理和設計方法,對LED顯示屏這個行業(yè)有了較為深刻的了解和認識。并且對大學期間所學習的一些理論進行了實踐,使我們對所學過的理論知識有了新的認識。并且通過該設計課題掌握了51單片機的的軟硬件開發(fā)工具的使用方法,為以后從事相關行業(yè)的工作積累了實際工作經驗。目前我國的信息行業(yè)發(fā)展迅速,作為主要平面顯示媒介的LED顯示屏的作用也越練越廣泛,相關的從業(yè)人員也會越來越緊缺。但同時應該清楚的認識到我國的LED技術雖然發(fā)展迅速但和世界先進水平還有一定的差距。因此此課題不論是對自己的就業(yè)還是對我國LED顯示技術的發(fā)展都有非?,F(xiàn)實與積極的意義。1.2論文組織結構本論文共分6章,論文內容按下列章節(jié)組織:第1章是前言。本章主要給出畢業(yè)設計課題的背景,內容、意義和論文的組織結構。第2章是功能要求與論證方案。本章主要講述這次設計的主要研究內容,以及系統(tǒng)硬件方案和系統(tǒng)軟件方案。第3章是硬件系統(tǒng)設計。首先介紹了系統(tǒng)的整體架構及各功能模塊的劃分,接著描述了單片機系統(tǒng)及外圍電路,串口電路,行驅動電路,列驅動電路,及其各部分的電路圖。第4章是軟件系統(tǒng)實現(xiàn)。本章的主要內容是結合系統(tǒng)的方案設計,按三層模式結構介紹了系統(tǒng)中各模塊的實現(xiàn)方法及效果。第5章是系統(tǒng)調試。本章介紹了硬件調試,軟件調試以及聯(lián)合調試。第6章是總結與展望。本章對論文所作的工作進行了總結,并對系統(tǒng)的功能提出拓展。中國石油大學(華東)本科畢業(yè)設計(論文)PAGE38中國石油大學(華東)本科畢業(yè)設計(論文)5第2章功能要求與論證方案2.1功能要求2.1.1研究的主要內容(1)能實現(xiàn)兩行每行8個漢字的顯示,每個漢字采用16*16LED點陣。(2)實現(xiàn)顯示內容的左移、右移,移動速度可變。(3)從串口實現(xiàn)顯示內容的控制,所顯示的漢字能夠通過串口輸入。(4)顯示內容的移動方向和速度可由按鍵控制。(5)要求顯示的內容具有較高亮度。(6)能實現(xiàn)特定圖形的顯示,每個圖形采用16*16LED點陣。(7)要求完成設計并完成PCB實現(xiàn)。2.2系統(tǒng)硬件方案大多數(shù)的LED顯示屏都在戶外,所以對硬件的質量要求非常的高。為方便檢修和維護硬件電路設計時常常采用模塊化的設計方法。硬件的設計采用模塊化設計,既要滿足模塊本身功能又要能夠和整個系統(tǒng)兼容。如圖2-1所示,根據(jù)顯示系統(tǒng)的功能特點確定系統(tǒng)硬件由顯示屏部分,控制部分,通信系統(tǒng)及上位機四部分組成。上位機通過通信部分向控制部分發(fā)送控制指令和顯示內容代碼,控制部分執(zhí)行顯示指令并將顯示代碼處理后控制顯示部分的顯示內容和顯示方式。圖2-1系統(tǒng)硬件組成框圖2.2.1主控制器控制部分是整個系統(tǒng)的核心部分,其功能為與上位機通信接收上位機發(fā)送的數(shù)據(jù)和控制指令處理過后控制顯示部分顯示內容。其常用的電子設計方法有單片機、DSP、及EDA技術。幾種設計方法比較各有其特點:(1)單片機單片機是集成了CPU,ROM,RAM和I/O口的微型計算機。它有很強的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU)。單片機品種齊全,型號多樣CPU從8,16,32到64位,多采用RISC技術,片上I/O非常豐富,有的單片機集成有A/D,“看門狗”,PWM,顯示驅動,函數(shù)發(fā)生器,鍵盤控制等。它們的價格也高低不等,這樣極大地滿足了開發(fā)者的選擇自由。除此之外單片機還具有低電壓和低功耗的特點。隨著超大規(guī)模集成電路的發(fā)展,NMOS工藝單片機被CMOS代替,并開始向HMOS過渡。供電電壓由5V降到3V,2V甚至到1V,工作電流由mA降至μA,這在便攜式產品中大有用武之地。(2)DSP芯片DSP又叫數(shù)字信號處理器。顧名思義,DSP主要用于數(shù)字信號處理領域,非常適合高密度,重復運算及大數(shù)據(jù)容量的信號處理?,F(xiàn)在已經廣泛應用于通信、便攜式計算機和便攜式儀表、雷達、圖像、航空、家用電器、醫(yī)療設備等領域,DSP具有修正的哈佛結構,多總線技術以及流水線結構。將程序與數(shù)據(jù)存儲器分開,使用多總線,取指令和取數(shù)據(jù)同時進行,以及流水線技術,這使得速度有了較大的提高。DSP區(qū)別于一般微處理器的另一重要標志是硬件乘法器以及特殊指令,一般微處理器用軟件實現(xiàn)乘法,逐條執(zhí)行指令,速度慢。而DSP依靠硬件乘法器單周期完成乘法運算,而且還具有專門的信號處理指令,如TM320系列的FIRS,LMS,MACD指令等。(3)EDAEDA(即ElectronicDesignAutomation)即電子設計自動化,它是以計算機為工具,在EDA軟件平臺上,對用硬件描述語言HDL完成的設計文件自動地邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標芯片進行適配編譯、邏輯影射和編程下載等。設計者只需用HDL語言完成系統(tǒng)功能的描述,借助EDA工具就可得到設計結果,將編譯后的代碼下載到目標芯片就可在硬件上實現(xiàn)。由于FPGA/CPLD可以通過軟件編程對該硬件的結構和工作方式進行重構,修改軟件程序就相當于改變了硬件,軟件編寫可以采用自頂向下的設計方案,而且可以多個人分工并行工作這樣便縮短了開發(fā)周期和上市時間,有利于在激烈的市場競爭中搶占先機。而且MCU和DSP都是通過串行執(zhí)行指令來實現(xiàn)特定功能,不可避免低速,而FPGA/CPLD則可實現(xiàn)硬件上的并行工作,在實時測控和高速應用領域前景廣闊;另一方面,F(xiàn)PGA/CPLP器件在功能開發(fā)上是軟件實現(xiàn)的,但物理機制卻和純硬件電路一樣,十分可靠。三種設計方式相比較各有優(yōu)點且都能夠實現(xiàn)控制功能,但單片機的技術門檻較低開發(fā)成本也較低非常適合初學者進行學習和鍛煉使用?,F(xiàn)在市場上常用的單片機主要有MCS-51、AVR、ARM、PIC等。其中應用最廣泛的單片機首推Intel的51系列,由于產品硬件結構合理,指令系統(tǒng)規(guī)范,加之生產歷史“悠久”,有先入為主的優(yōu)勢常作為單片機學習的教材。且51系列的I/O腳的設置和使用非常簡單,當該腳作輸入腳使用時,只須將該腳設置為高電平(復位時,各I/O口均置高電平)。當該腳作輸出腳使用時,則為高電平或低電平均可。所以在控制部分方案的選擇中選定51系列單片機作為控制部分的核心器件。2.2.2通信系統(tǒng)通信部分要滿足的設計要求就是穩(wěn)定、快速、簡單易實現(xiàn)。因為通常情況下顯示屏和上位機的距離不會很遠,所以通信距離的要求不是很高。計算機數(shù)據(jù)通信主要采用并行通信和串行通信兩種方式。(1)并行通信并行通信時數(shù)據(jù)的各個位同時傳送,可以字或字節(jié)為單位并行進行。并行通信速度快,但用的通信線多、成本高,故不宜進行遠距離通信。(2)串行通信串行通信數(shù)據(jù)是一位一位順序傳送,只用很少幾根通信線,串行傳送的速度低,但傳送的距離長,因此串行適用于長距離而速度要求不高的場合。在串行發(fā)送時,數(shù)據(jù)是一位一位按順序進行的,而計算機內部的數(shù)據(jù)是并行的。因此,當計算機向外發(fā)送數(shù)據(jù)時,必須將并行數(shù)據(jù)轉換為串行數(shù)據(jù)再發(fā)送。反之,又必須將串行數(shù)據(jù)轉換為并行數(shù)據(jù)輸入計算機中。這種轉換即可以用硬件實現(xiàn)也可以用軟件實現(xiàn)。單由軟件實現(xiàn)會增加CPU負擔,降低其利用率,故目前常采用硬件實現(xiàn)。通用的通用異步接收/發(fā)送器,簡稱UART(UniversalAsynchronousReceiverTransmitter)是完成這一功能的硬件電路。在單片機芯片中,UART已經集成在其中,作為其組成部分,構成一個串行口。綜上所述,題目設計已經選定了單片機為開發(fā)方式而單片機的UART已經集成在單片機內,所以通信系統(tǒng)選擇串行通信為通信方式。2.2.3LED點陣顯示屏顯示部分包括了四塊至少可以顯示一個漢字的顯示屏,以及驅動該顯示屏的驅動電路。由于單片機的I/O口有限要不能直接用I/O口來驅動LED顯示屏,所以需要對單片機IO口進行擴展增加單片機并行輸出的能力。LED顯示屏是由一個一個的發(fā)光二極管點陣構成的,要構成大屏幕的LED顯示屏就需要多個發(fā)光二極管。構成LED屏幕的方法有兩種,一是由單個的發(fā)光二極管逐點連接起來,如圖2-2所示;二是選用一些由單個發(fā)光二極管構成的LED點陣子模塊構成大的LED點陣模塊。目前市場上普遍采用的點陣模塊有8×8、16×16幾種;這兩種屏幕構成方法各有缺點,單個發(fā)光二極管構成顯示屏優(yōu)點在于當單個的發(fā)光二極管出現(xiàn)問題時只需更換一個二極管即可,檢修的成本較低,缺點在于連接線路復雜;而點陣模塊構成的方法卻正好與之相反,模塊構成省約了大量的連線,不過當一個LED出現(xiàn)問題時同在一個模塊的所有LED都必須被更換,這就加大了維修的成本。兩種方法相比較,決定采取模塊構成的方法來制作一個LED點陣顯示屏。為了顯示的方便,選擇點陣數(shù)較大的模塊來。所以構建一個16×64的LED點陣屏選用四塊16×16點陣模塊。圖2-2LED點陣圖一個16×16的LED顯示屏行和列各有16支引腳,而四個16×16的LED顯示屏行有16支引腳,列則達到64支引腳,不能單靠51單片機的端口驅動所以必須要對單片機的端口個數(shù)進行擴展。經常采用的端口擴展方法是用串并轉換芯片進行譯碼。常用的串并轉換芯片有74LS154(4線-16線譯碼器),74HC595等。51系列單片機端口低電平時,吸入電流可達20mA,具有一定的驅動能力;而為高電平時,輸出電流僅數(shù)十μA甚至更小(電流實際上是由腳的上拉電流形成的),基本上沒有驅動能力,所以單片機不能直接驅動LED顯示屏顯示。在單片機和顯示屏之間還需要增加以功能放大為目的的驅動電路如圖2-3所示。行驅動采用74LS154,列驅動為74HC595圖2-3驅動電路2.2.4硬件設計方案最終方案如圖2-4所示,以PC機作為上位機發(fā)送控制字符和顯示內容,用串行通信的方式將顯示內容和控制指令傳輸?shù)絾纹瑱C系統(tǒng),單片機根據(jù)上位機傳輸來的內容和指令通過端口譯碼擴展后驅動4塊16×16LED點陣模塊構成的16×64的LED點陣顯示屏。題目將以此方案為指導思想展開具體的硬件電路設計。圖2-4硬件設計方案2.3系統(tǒng)軟件方案軟件的設計除了滿足設計功能外還必須要滿足易讀寫,方便下載和編譯。設計目標和硬件總體結構確定的情況下,軟件可以分為主程序,顯示子程序,各種特效顯示子程序,通信程序三個主要部分組成。具體結構如圖2-5所示。圖2-5軟件功能結構框圖軟件的編寫需要借助軟件編輯器和編譯軟件,編譯完成后還需要下載到單片機中執(zhí)行。編寫軟件之前得首先選擇一種合適的語言以及配套的編輯器和編譯軟件。最后還要選擇一款與所選單片機的下載器或下載軟件來把編寫的程序下載到單片機中執(zhí)行。2.3.1單片機編程語言現(xiàn)在主要運用的單片機編程語言為匯編語言和C語言。兩種語言相比較各有優(yōu)點。匯編語言(AssemblyLanguage)是面向機器的程序設計語言,是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。其具有執(zhí)行速度快,占內存空間少等優(yōu)點,但在編寫復雜程序時具有明顯的局限性,匯編語言依賴于具體的機型,不能通用,也不能在不同機型之間移植。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結構化語言,可產生壓縮代碼。C語言結構是以括號{}而不是特殊符號的語言。C可以進行許多機器級函數(shù)控制而不用匯編語言。與匯編相比,有如下優(yōu)點:對單片機的指令系統(tǒng)不要求了解,僅要求對51的存儲器結構有初步了解;寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;程序有規(guī)范的結構,可分為不同的函數(shù)。這種方式可使程序結構化;將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;編程及程序調試時間顯著縮短,從而提高效率;提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力;已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術。C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機的不同較快地移植過來?;谝陨侠碛蓻Q定采用C語言為該顯示系統(tǒng)的編程語言。2.3.2系統(tǒng)軟件編輯器C語言編寫的程序并不能被單片機直接執(zhí)行還需要編譯為單片機可執(zhí)行的機器語言。因此在系統(tǒng)軟件設計中,編譯器必不可少。支持MCS-51用C語言編程的編譯器主要有兩種:FranklinC51編譯器和KEILC51編譯器。目前在單片機開發(fā)中普遍都是使用KEILC51來進行編譯。因此軟件設計最終方案為采用C語言為程序語言,KEILC為編譯工具按照控制、通信、顯示等幾個功能模塊來編寫程序。2.3.3上位機控制程序軟件其中系統(tǒng)采用現(xiàn)在已經非常普遍的PC機作為上位機,這樣對該顯示系統(tǒng)的硬件要求便降低了,增加了系統(tǒng)的通用性。上位機的作用是發(fā)送控制指令并處理顯示內容,然后通過通信系統(tǒng)傳送到控制系統(tǒng)驅動顯示。LED顯示上位機的內容一般有實時顯示和存儲顯示兩種方法。實時顯示及上位機屏幕上的內容同時顯示在LED顯示屏上,上位機上內容變化LED顯示屏也跟著變化。存儲顯示是將顯示內容處理過后存儲在上位機中通過通信系統(tǒng)傳輸?shù)斤@示屏顯示[9]。兩種顯示方法相比較:實時顯示屏幕能及時反應上位機內容的變化,顯示的效果和內容的實時性好多用于新聞播報、實況轉播用,但實時顯示硬件開銷大,對通信系統(tǒng)要求高,工藝復雜,成本高;存儲顯示雖實時性不高但硬件開銷小,成本低廉。課題設計題目對顯示的實時性要求較低且所設計的顯示屏尺寸不大同時顯示的內容不多,所以實時顯示就沒有必要。所以上位機選擇存儲顯示的方法,控制LED顯示屏的顯示內容。

第3章硬件系統(tǒng)設計硬件電路大致上可以分成單片機系統(tǒng)及外圍電路、串口電路、列驅動電路、行驅動電路和16×64LED點陣屏四部分。3.1單片機系統(tǒng)及外圍電路在整個系統(tǒng)的設計中,單片機為設計的核心控制部件,該系統(tǒng)采用STC89C52RC單片機作為控制核心。3.1.1STC89c52RC簡介STC89C52RC單片機是宏晶科技推出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。主要特性如下:1.增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。2.工作電壓:5.5V~3.3V(5V單片機)/3.8V~2.0V(3V單片機)。3.工作頻率范圍:0~40MHz,相當于普通8051的0~80MHz,實際工作頻率可達48MHz。4.用戶應用程序空間為8K字節(jié)。5.片上集成512字節(jié)RAM。6.通用I/O口(32個)復位后為:P1/P2/P3/P4是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。7.ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。8.具有4K的EEPROM功能。9.具有看門狗功能。10.共3個16位定時器/計數(shù)器,即定時器T0、T1、T2。11.外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒。12.通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART。13.工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)。14.PDIP封裝。STC89C52RC單片機的工作模式:掉電模式:典型功耗<0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序??臻e模式:典型功耗2mA典型功耗。正常工作模式:典型功耗4mA~7mA典型功耗。掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設備。3.1.2單片機最小系統(tǒng)STC89c52RC的最小系統(tǒng)包括了外界時鐘電路和復位電路,選定一定數(shù)量的IO口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機端口添加外圍的器件,具體電路如圖3-1所示。 圖3-1單片機最小系統(tǒng)在該系統(tǒng)中,P0各口主要用作LED顯示數(shù)據(jù)的控制輸出具體接法為:P0.0,P0.1,P0.2,P0.3分別接行74LS154的A、B、C、D端,向74LS154送入串行數(shù)據(jù)經過其轉換后并行輸出;P0.4和P0.5接列74LS595的SRCLK端和RCLK,產生移位脈沖使串行數(shù)據(jù)并行輸出;P0.6和P0.7接行74LS154的G1端,在一組數(shù)據(jù)完成串并轉換后清除154芯片中的內容轉換新的數(shù)據(jù)。VCC接列74LS595的OE端使全屏使能。P2口為按鍵接口,本設計接入8個按鍵,低電平有效。RXD與TXD分別為串行數(shù)據(jù)的接收口與發(fā)送口接MAX232的R1OUT和T1IN。P1口為預留下來的的端口,可為系統(tǒng)擴展或增加功能。3.2串口電路STC89c52RC單片機具有全雙工串行UART通道,支持單片機進行數(shù)據(jù)的串行傳輸。除了單片機要與PC機制定通信協(xié)議,確定發(fā)送速率外還需要解決的問題就是信號電平問題。RS-232C標準規(guī)定了PC機發(fā)送數(shù)據(jù)總線TXD和接收數(shù)據(jù)總線RXD采用EIA電平,即傳送數(shù)字“1”時傳輸線上的電平在-3~-15V之間;傳送數(shù)字“0”時,傳輸線上的電平在+3~+15之間。但單片機串行口采用正邏輯TTL電平,即數(shù)字“1”時為+5V數(shù)字“0”時為-5V,所以單片機與計算機不能直接相連進行通信必須將RS-232C與TTL電平進行轉換。在通用的電平轉換芯片中MAX232系列的芯片以集成度高,單+5V電源工作,只需外接5個小電容即可完成RS-232C與TTL電平之間的轉換而成為單片機系統(tǒng)中的常用芯片。在該顯示系統(tǒng)中,MAX232為通信系統(tǒng)中最重要的硬件組成部分。電路如3-2所示:圖3-2電源設計模塊圖在該電路中T1IN接單片機的TXD端,R1OUT接單片機的RXD端,T1OUT接串口線的2號口為R端,R1IN接串口線的3號線為T端。3.3列驅動電路3.3.174LS595簡介列驅動電路由集成電路74HC595構成。它具有一個8位串入并出的移位寄存器和一個8位輸出鎖存器的結構,而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現(xiàn)在顯示本行列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù),既達到重疊處理的目的。74HC595的外形及內部結構如圖3-3所示。它的輸入側有8個串行移位寄存器,每個移位寄存器的輸出都連接一個輸出鎖存器。圖3-374HC595結構圖表74HC595引腳說明見表3-4。表3-474HC595引腳說明符號引腳描述Oo~O71~7并行數(shù)據(jù)輸出GND8地Q7’9串行數(shù)據(jù)輸出SRCLR10主復位(低電平)SRCLK11移位寄存時鐘輸入RCLK12存儲寄存時鐘輸入CE13輸出有效(低電平)SER14串行數(shù)據(jù)輸入VCC16電源3.3.2列驅動電路圖及工作原理列驅動電路圖如圖3-5所示:圖3-5列驅動電路圖引腳SER是串行數(shù)據(jù)的輸入端。引腳SRCLK是移位寄存器的移位時鐘脈沖,在其上升沿發(fā)生移位,并將SER的下一個數(shù)據(jù)打入最低位,移位后的各位信號出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCLK是輸出鎖存器的打入信號,其上升沿將移位寄存器的輸出打入輸出鎖存器。引腳CE是輸出三態(tài)門的開放信號,只有當其為低時鎖存器的輸出才開放,否則為高組態(tài)。SRCLR信號是移位寄存器清零輸入端,當其為低時移位寄存器的輸出全部為零。由于SRCLK和RCLK兩個信號是互相獨立的,所以能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為O0~O7,最高位Q7可作為多片74HC595級聯(lián)應用時,向上一級的級聯(lián)輸出。但因為Q7受輸出鎖存器的打入控制,所以還從輸出鎖存器前引出Q7,作為與移位寄存器完全同步的級聯(lián)輸出。將8片74HC595進行級連,可共用一個移位時鐘SCK及數(shù)據(jù)鎖存信號RCK。這樣,當?shù)谝恍行枰@示的數(shù)據(jù)經過8x8=64個SRCLK時鐘后便可將其全部移入74HC595中,此時還將產生一個數(shù)據(jù)鎖存信號RCLK將數(shù)據(jù)鎖存在74HC595中,并在使能信號E的作用下,使串入數(shù)據(jù)并行輸出,從而使與各輸出位對應的場驅動管處于放大或截止狀態(tài);同時由行掃描控制電路產生信號使第一行掃描管導通,相當于第一行LED的正端都接高,顯然,第一行LED管的亮滅就取決于74HC595中的鎖存信號;此外,在第一行LED管點亮的同時,再在74HC595中移入第二行需要顯示的數(shù)據(jù),隨后將其鎖存,同時由行掃描控制電路將第一行掃描管關閉而接通第二行,使第二行LED管點亮,以此類推,當?shù)谑袙呙柽^后再回到第一行,這樣,只要掃描速度足夠高,就可形成一幅完整的文字或圖像。3.4行驅動電路3.4.174LS154簡介由于LED點陣顯示器有16行,為充分利用單片機的接口,本電路中加入了一個4-16線譯碼器74LS154,其輸入是一個16進制碼,解碼輸出為低態(tài)掃描信號,它的結構如圖3-6所示。圖3-674LS154結構圖74LS154引腳說明如表3-7:表3-774LS154引腳說明符號引腳描述~,~1~11,13~17輸出端GND12GND電源地~18~19使能輸出端A、B、C、D20~23地址輸出端Vcc24VCC電源正3.4.2行驅動電路圖及工作原理行驅動電路圖如圖3-8所示:圖3-8行驅動電路在行驅動電路中,把74LS154的G2引腳接地,然后以A、B、C、D四腳為輸入端,輸出端則與LED點陣顯示屏的行一一對應相連接,這樣就會形成16種不同的輸入狀態(tài),分別為0000~1111,然后使每種狀態(tài)只控制一路輸出,即會有16路輸出。程序進行循環(huán)控制,采用逐行掃描的方式,由于人肉眼的滯留只要1秒時間內刷新頻率至少為50次即可看到完整的畫面。中國石油大學(華東)本科畢業(yè)設計(論文)7第4章軟件系統(tǒng)實現(xiàn)軟件的主要功能是向屏幕提供顯示數(shù)據(jù),并產生各種控制信號,使屏幕按設計的要求顯示。根據(jù)軟件分層次設計的原理,可以把顯示屏的軟件系統(tǒng)分為兩層;第一層是底層的硬件顯示驅動程序,第二層是上層的上位機系統(tǒng)應用程序。顯示驅動程序負責向屏體送顯示數(shù)據(jù),并負責產生行掃描信號和列掃描信號,配合完成LED顯示屏的掃描顯示工作,而外加的按鍵程序則負責控制顯示內容的移動方向和移動速度.上層的上位機程序則是利用VC編寫的串口通信的程序,主要負責向單片機發(fā)送控制指令。4.1程序設計流程4.1.1主程序流程系統(tǒng)軟件采用C語言編寫,按照模塊化的設計思路設計。首先分析底層硬件程序所要實現(xiàn)的功能,程序要實現(xiàn)靜態(tài)顯示,動態(tài)顯示,按鍵控制三大功能。而上層通信程序接收上位機數(shù)據(jù),交給主程序處理再通過控制程序選擇不同的顯示程序進行顯示。主程序的工作流程如圖4-1所示:系統(tǒng)初始化化系統(tǒng)初始化化從顯示數(shù)組讀取數(shù)據(jù)到顯示寄存器靜態(tài)顯示等待發(fā)生中斷讀取顯示控制命令選擇顯示方式調用相應顯示程序開始RI=1?起始位?接收顯示數(shù)據(jù)及控制命令將顯示數(shù)據(jù)移入顯示數(shù)組將控制命令賦值給控制字符NNYY中斷開始中斷返回中斷開始中斷開始Key=0?按鍵延遲Key=0?清楚標志位選擇相應顯示程序中斷返回YYNN圖4-1主程序流程圖程序開始時首先必須對單片機進行初始化,其中初始化的內容包括:中斷優(yōu)先級初始化,中斷初始化,串行口控制寄存器的初始化,各標志位初始化,各IO口功能的設定等。初始化完成后程序進入靜態(tài)顯示顯示的待機狀態(tài)等待中斷的發(fā)生,該程序中主要用到了一個外部中斷源和串行中斷。外部中斷源由按鍵的電平變化觸發(fā),外部中斷主要功能是控制LED點陣顯示屏的內容移動方向和速度大小。串行中斷包括發(fā)送中斷和接收中斷都是由軟件觸發(fā)。中斷產生后由預先初始化時設定跳轉執(zhí)行中斷子程序。中斷程序設定了LED點陣顯示屏所要顯示的內容和內容的移動方式,最后執(zhí)行的是各種顯示程序。按照設定的方式和內容顯示出所需要的內容。4.2顯示程序設計4.2.1LED顯示屏的顯示方式LED點陣屏顯示方式主要由靜態(tài)顯示和動態(tài)掃描顯示兩種。對靜態(tài)顯示來說,每一個發(fā)光二極管都需要一套驅動電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示內容,需要重新輸出新的點陣數(shù)據(jù).這種方式系統(tǒng)原理相對簡單一些,但所需的譯碼驅動裝量很多,引線多而繁雜,不便于大屏幕的制造,成本高,其可靠性也較低。另一種動態(tài)掃描顯示是把整個LED屏幕分成若干部分,每一幅畫面的顯示是顯示完一部分后,又顯示第二部分,直到顯示完最后一部分又重新開始顯示第一部分,重復循環(huán)進行.在重復掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的畫面.也就是說采用動態(tài)掃描顯示需要不斷進行畫面的刷新.在這種方式下其顯示驅動電路可重復利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時的耗電量大大降低.大屏幕的制造、維護要容易許多,可靠性也增加了。兩種顯示方式的比較再結合51單片機IO口數(shù)量有限的原因決定采用動態(tài)掃描的方式進行顯示。動態(tài)掃描分為行掃描和列掃描兩種方式區(qū)別在于選通端和數(shù)據(jù)輸入端分別是行還是列。在該顯示系統(tǒng)中掃描顯示的工作原理如圖4-2所示,先選通列然后再從行送入對應列的數(shù)據(jù),這樣從第1列到第16列循環(huán)往復,只要切換的速度足夠的快利用人眼的延時特性就可以看見一幅穩(wěn)定的畫面。圖4-2掃描顯示程序原理圖4.2.2點陣數(shù)據(jù)表達方式該顯示系統(tǒng)的顯示數(shù)據(jù)采取縱向取模方向正向的數(shù)據(jù)存儲方式如圖4-3所示:

B1B2B3B4······B15B16B17B18B31B32圖4-3點陣數(shù)據(jù)原理圖即數(shù)據(jù)是縱向的,一個像素對應一個位。8個像素對應一個字節(jié),字節(jié)的位順序是上高下低,比如第一行從左到右8個點的狀態(tài)是“*”(*為黑點,-為白點),則轉換的字模數(shù)據(jù)是0x01(B0000_0001)。如圖(4-3)所示,一幅16×16的點陣畫面點陣數(shù)據(jù)按照B1B2B3……B31B32存儲。所以一幅畫面的數(shù)據(jù)量為32字節(jié)。畫面顯示時選通的第i列對應的數(shù)組元素為第i和i+16個元素。4.2.3顯示程序的設計顯示程序分為靜態(tài)顯示程序、左移顯示、右移顯示、上移顯示、下移顯示、向上逐漸顯示、向下逐漸顯示7種種顯示方式。其中上下左右移動程序都調用了靜態(tài)顯示程序為子程序。靜態(tài)顯示程序流程圖如圖4-4所示:初始化初始化讀取顯示數(shù)據(jù)依次選通列74LS595的CLK端置低,鎖存器禁止輸出對應數(shù)組元素與0X80相與之后左移八位,對應74LS595CLK端置高從第一行開始逐行掃描行數(shù)是否為16?鎖存器允許輸出開始NY圖4-4靜態(tài)顯示程序流程圖顯示采用的是行掃描的顯示方式,選通一列后按照行與數(shù)據(jù)元素的對應關系第i行對應的列數(shù)據(jù)為數(shù)組中的第i和第i+32個元素。將對應元素的由左至右位依次從端口輸出具體做法為將元素向左邏輯移位后再與0X80相與,所得結果通過單片機端口輸出到串并轉換器的A端,鎖存在鎖存器里完成一行數(shù)據(jù)移位后再將其輸出。如此依次循環(huán)選通各行來顯示所需畫面。主要程序見附錄B。開始開始讀取第一個字至最后一個字(或最后一個字至第一個字)的顯示數(shù)據(jù)并關閉鎖存調用靜態(tài)顯示子程序開啟數(shù)據(jù)鎖存并進行行掃描行=16?顯示NY讀取第一個字至最后一個字的顯示數(shù)據(jù)并關閉鎖存調用靜態(tài)顯示子程序開啟數(shù)據(jù)鎖存并進行行掃描從最底層開始掃描(或第一行)行=16?顯示NY開始圖4-5左右移/上下移程序流程圖動態(tài)顯示程序流程如圖4-5所示,根據(jù)顯示數(shù)據(jù)的存儲原理通過改變實際LED列與數(shù)據(jù)邏輯列的方法來實現(xiàn)程序的左右移動。從第一行開始將漢字庫中的四個字的前半個字數(shù)據(jù)送入鎖存器鎖存后移動八位,再將后半個字的數(shù)據(jù)送入鎖存器鎖存后移動八位。如此十六行循環(huán)則產生一幅穩(wěn)定的左右運動的畫面。4.3通信程序設計4.3.1串口中斷系統(tǒng)采用串行中斷的方式進行通信。MCS-51單片機的五個中斷源兩種類型:一類是外部中斷源;另一類是內部中斷源,包括兩個定時器/計數(shù)器(T0和T1)的溢出中斷和串行口的接收和發(fā)送中斷。MCS-51單片機設置了4個專用寄存器用于中斷控制,分別為定時器控制寄存器(TCON),串行口中斷控制器(SCON),中斷允許控制寄存器(IE),中斷優(yōu)先級控制寄存器(IP)。編程時通過設置其狀態(tài)來管理中斷系統(tǒng)。在編輯中斷程序時首先是將中斷控制寄存器(IE)初始化。其控制位分布如表4-6。EA為中斷允許總控制位,EA=1時CPU開發(fā)中斷;EA=1時。CPU屏蔽所有中斷。ES、ET、EX1、ET0、EX0為對應的串行口中斷、定時器/計數(shù)器1中斷、外部中斷1中斷、定時器/計數(shù)器0中斷、外部中斷0中斷的中斷允許位。對應位為1時允許其中斷,對應位為0時,禁止其中斷。表4-6中斷允許寄存器格式D7D6D5D4D3D2D1D0EA——ESET1EX1ET0EX0所以初始化時設定中斷允許寄存器初值為0XFF,指令為IE=0XFF。程序設計時還要考慮到中斷優(yōu)先級的問題。因為不同的中斷同時產生而CPU響應的順序取決于內部查詢順序。設置串口工作方式1,波特率9600,計算可得計數(shù)器初值的十六進制表示為0XFD。通信協(xié)議如表4-7所示:表4-7串口通信數(shù)據(jù)結構數(shù)據(jù)結構第1個字節(jié)第2至第33個字節(jié)第34個字節(jié)內容起始標志位‘S’顯示數(shù)據(jù)控制指令作用判斷是否開始接收數(shù)據(jù)LED的顯示內容控制LED顯示方式4.3.2串口中斷流程圖具體串口中斷程序流程圖如圖4-8所示,在主程序中先進行了串行中斷的初始化,初始化內容包括了串行工作方式選擇,波特率的設定,計數(shù)初值的設定。程序開始進入中斷等待,當PC機向單片機發(fā)送數(shù)據(jù)時產生中斷接收允許位RI置1,將SBUF(緩沖寄存器)中的值輸入到暫存器中進行數(shù)據(jù)處理。首先判斷數(shù)據(jù)是否設定的起始標志位‘S’如果是則開始接收起始位后的33個字節(jié),不是則中斷返回繼續(xù)等待。接收到第34個字節(jié)后便將收到的數(shù)據(jù)發(fā)送回PC機進行驗證比較。RI=1?接收串口數(shù)據(jù)RI=1?接收串口數(shù)據(jù)起始位‘S’接收起始位后33位數(shù)據(jù)接收到第34位?將第2位起的32位數(shù)據(jù)發(fā)回PC機NNNYYY中斷開始中斷返回圖4-8通信程序流程圖所有軟件編寫完成后都必須經過編譯才能被單片機識別使用。為了減小軟件的修改和優(yōu)化難度,先把各子程序寫為一個可單獨執(zhí)行的完整程序。各子程序編譯沒有錯誤后再輸入單片機進行驗證,這兩項都通過后再將所有的程序整合到一起形成一個完整的程序再進行編譯和驗證。代碼如下:com_interrupt(void)interrupt4using3//串口中斷{unsignedcharRECEIVR_buffer;if(RI==1){RECEIVR_buffer=SBUF;//如果接收中斷為1則把緩沖區(qū)的內容付給RECEIVR_bufferRI=0;TI=0;if(point==0){if(RECEIVR_buffer=='s')//起始字符為”S”point++;elsepoint=0;}if(point>0&&point<35)//接收字符數(shù)為34個buffer[point++]=RECEIVR_buffer;elsepoint=0;}if(point==35&&RI==0){ command=buffer[34];//第34個字符為控制指令point=0; x=0;for(k=2;k<34;k++){SBUF=buffer[k];//將單片機接受的內容發(fā)回PC機 sort[k-2]=buffer[k]; while(TI==0);TI=0;} }}4.4上位機程序設計4.4.1建立程序框架1.建立框圖在VC6.0集成環(huán)境中,新建基于對話框(Dialogbased)的MFCAppWizard(exe)應用程序,工程名為LED_Test。所有的步驟保持默認狀態(tài),并在主對話框中添加控件,最后的主對話框狀態(tài)如圖4-9所示。圖4-9上位機對話框圖2.添加類文件將類文件chuankou.h和chuankou.cpp復制到工程所在的文件夾中,然后單擊VC菜單Project->AddtoProject->Files…,再在打開的文件選擇帶花框中選擇上chuankou.h和chuankou.cpp,單擊OK,就把類文件加入到當前工程,并在LED_TestDlg.h中將頭文件chuankou.h說明#include"chuankou.h"。通過以上步驟,就在當前工程中加入Cchuankou類。3.串口消息處理函數(shù)在Cchuankou類中有許多串口事件可以響應,在一般的串口編程中,只需要處理WM_COMM_RXCHAR消息就可以了,該類所有的消息均需要人工添加消息處理函數(shù),我們將處理函數(shù)名定義為OnComm(),首先在LED_TestDlg.h中添加串口字符接收消息WM_COMM_RXCHAR(接收到一個字符并已放入接收緩沖區(qū))的響應函數(shù)聲明:afx_msgLONGOnComm(WPARAMch,LPARAMport);然后,在LED_TestDlg.cpp文件中進行WM_COMM_RXCHAR消息映射:ON_MESSAGE(WM_COMM_RXCHAR,OnComm)接著,在LED_TestDlg.cpp文件中加入函數(shù)OnComm()的實現(xiàn),暫時沒添加代碼。LONGCLED_TestDlg::OnComm(WPARAMch,LPARAMport){ return0;}4.4.2上位機功能說明上位機對于整個系統(tǒng)算是個控制部分,它主要的任務是發(fā)送命令或數(shù)據(jù)給單片機,同時也可以接收單片機返回的數(shù)據(jù),并能夠進行簡單的處理。發(fā)送的字符起始位為“S”,后32位數(shù)據(jù)為漢字的點陣數(shù)據(jù),最后一位為控制數(shù)據(jù),就是控制漢字點陣的左移、右移、上移、下移、上顯、下顯以及顯示內容的更換。

第5章系統(tǒng)調試硬件制作和軟件編寫過后,得出實物如圖5-1所示。實物完成后必須對其進行調試,檢查設計功能是否實現(xiàn)了。軟件硬件完成后開始進行調試。調試可分為硬件調試,軟件調試和系統(tǒng)聯(lián)合調試。圖5-1實物圖5.1硬件調試硬件調試主要是調試各部分的焊接是否合格和各芯片的輸出輸入電壓是否符合設計要求,最后測試各硬件部分能否完成設計功能。因此把硬件調試按照以下四部分分步來進行:(1)測試所有焊點是否有短路和虛焊的現(xiàn)象存在;(2)通電測試所有硬件芯片的輸入輸出電壓是否在設計要求的范圍內;(3)測試ISP下栽線的功能是否能夠實現(xiàn);(4)測試串口系統(tǒng)的通信功能是否能夠實現(xiàn)。由于最重要的顯示系統(tǒng)功能的測試需要軟件配合所以在硬件調試部分只測試單片機復位電平,功能部分測試放在系統(tǒng)聯(lián)合調試部分來完成。5.1.1短路與虛焊檢測檢測工具為萬用表,使用萬用表的短路報警功能,逐個測試相臨的兩個焊點檢測是否短路。按照電路圖檢測需要連接的兩點是否短路來檢測是否已經連接上,以此來檢測虛焊的情況。檢測和修改完成后為下一步通電檢測排除了短路的危險和由于虛焊引起檢測結果不真實的麻煩。5.1.2上電測試由于系統(tǒng)測試時是采用直流穩(wěn)壓電源為系統(tǒng)電源,所有電源輸入都為5V。顯示系統(tǒng)中單片機、譯碼器,鎖存器,驅動電路的電源電壓均要求為5V所以可同時直接接入。上電后首先觀察電路是否有過熱,異味,冒煙的現(xiàn)象出現(xiàn)。經過觀察,沒有這些現(xiàn)象出現(xiàn)。然后測試各器件的電源,接地及一些電平應該固定的端口的電壓。測試的結果為:各器件電源端在4.3V~4.8V之間滿足器件的電源電壓要求,單片機端口在未接負載時端口電壓為4.5V,工作電流0.02A左右。當然,如果main.obj的大小超過8k,這樣還是解決不了問題,這時就需要把main.c中的部分代碼轉移到其它c文件中,為主函數(shù)所在的c文件瘦身。推薦的做法是主函數(shù)所在的文件中只有主函數(shù),其它函數(shù)都按照功能分別放在不同的c文件中,這樣可以避免某個.obj特別大的情況。5.1.3串口調試串口部分的作用為單片機與PC機之間通信,要檢查硬件是否正常工作可以采用將MAX232芯片的單片機端輸出口與輸入口直接相連的辦法來測試。將MAX232的第10端和第9端直接短接。功能上表示將單片機的輸出口與輸入口直接相連,單片機收到數(shù)據(jù)的同時就將數(shù)據(jù)發(fā)送回PC機。如果發(fā)送的數(shù)據(jù)能夠被接收則證明串口通信部分的硬件是正常的。將串口與電腦COM1相接,通過串口調試助手發(fā)送不同位數(shù)的數(shù)據(jù)再在把發(fā)送的數(shù)據(jù)與接收數(shù)據(jù)相比較。5.2軟件調試由于已經進行了硬件調試,所以軟件調試主要是軟件編譯和將各功能塊程序分別寫入以驗證其功能的可實現(xiàn)性。在進行功能調試前必須用KEILC對所有程序進行編譯,編譯成功生產可執(zhí)行的.hex后方可進行功能測試。其中測試串口程序的功能是否完善不但要連接單片機系統(tǒng)還要借助串口調試工具。串口調試工具選用的是串口調試助手,其功能是按照設定的串口、波特率向單片機發(fā)送數(shù)據(jù)和接收單片機向PC機發(fā)送的數(shù)據(jù)。并且能把發(fā)送和接收的數(shù)據(jù)內容顯示在狀態(tài)欄內。因此只要設定PC機向單片機發(fā)送的內容和單片機向PC機發(fā)送的內容就可以通過串口調試助手驗證串口通信是否準確,是否滿足功能要求。串口程序的設計為:設定波特率位9600,以0XAA為起始標志位,單片機接收自起始標志位后的32位十六進制數(shù)再發(fā)送會PC機。測試程序時設定波特率為9600,選擇串口1,無校驗,8位數(shù)據(jù)。PC機向單片機發(fā)送的內容為aa11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff。PC機收到的數(shù)據(jù)為11223344556677889900AABBCCDDEEFF11223344556677889900AABBCCDDEEFF。測試表明串口程序和串口電路實現(xiàn)了設計目的。再進行數(shù)次不同數(shù)據(jù)的發(fā)送,接收到的數(shù)據(jù)也驗證了設計要求的實現(xiàn)。測試如圖5.2所示圖5-2串口調試圖串口程序測試成功后為顯示程序提供了準確的顯示內容。余下得各種顯示程序和中斷程序都編譯成功后只有聯(lián)合硬件才能驗證其功能的可行性。5.3聯(lián)合調試經過硬件調試和軟件調試,排除了硬件的連接問題和驗證了串口功能的可實現(xiàn)性。其余功能的軟件便可以在此基礎上調試驗證其功能的正確性。聯(lián)合調試的具體方法如下:(1)編寫一個逐點掃描的顯示程序,再結合硬件電路運行。這樣做的目的在于檢測各器件是否能夠正常運行和顯示屏的各個LED燈是否有損壞。結果顯示顯示屏中只有邊角出有一個LED燈被燒壞,其他器件邏輯功能運行正常。(2)將靜態(tài)顯示子程序與各種動態(tài)顯示程序結合硬件電路進行調試。系統(tǒng)運行時顯示如圖5-3所示,顯示圖像比較清晰,各動態(tài)顯示效果也能夠實現(xiàn)。圖5-3效果圖(3)將串口通信,顯示,硬件聯(lián)合調試。按照設定的通信協(xié)議,先由PC機向單片機發(fā)送起始控制字s,接著再發(fā)送32比特的顯示數(shù)據(jù),最后發(fā)送控制顯示方式的顯示控制字。再發(fā)送不同的顯示數(shù)據(jù)和顯示控制字,觀察各種顯示方式的運行情況和各種顯示方式之間的切換情況。結果是顯示屏執(zhí)行顯示控制指令,顯示所發(fā)送的內容。

第6章總結與展望6.1課題工作總結經過一段時間的工作,終于完成了基于STC89C52RC單片機的LED顯示系統(tǒng)的設計,項目所要求的功能全部達到。通過這次設計收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實際經驗和過程中所發(fā)現(xiàn)的問題。接手題目之后從互聯(lián)網上對LED進行了詳細的資料收集,從技術和產業(yè)的兩方面對LED進行了了解。通過了解我認識到LED是一門當今應用非常廣泛的技術,整個產業(yè)每年都會有巨大的產值而且技術還在不斷發(fā)展和創(chuàng)新。從設計之初就確定了參照大屏幕顯示屏的實現(xiàn)方法和實際情況設計一款小屏幕的LED點陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了題目的設計方案。整個設計采用STC89C52RC做核心控制器,74LS154和74LS595組成行、列驅動電路,在實現(xiàn)這一設計的過程中所遇到的問題和困難給我留下了寶貴的經驗和深刻教訓。這些經驗和教訓是:(1)設計之前應該進行大量的資料收集和分析,確定一個清晰的設計思路。(2)器件選擇時要詳細閱讀器件使用手冊,不但要考慮器件的功能實現(xiàn)還要考慮器件在整個系統(tǒng)中的兼容性。(3)硬件的系統(tǒng)的建立必須合理和穩(wěn)定,實物建立之前最好進行仿真這樣才能為軟件提供一個可靠的試驗平臺。(4)軟件的編寫不但要實現(xiàn)功能還要不斷的優(yōu)化、簡練、易讀。隨著課題的進行,對LED的了解也越來越深入。認為LED技術也會進一步發(fā)展,LED應用將會更加廣泛??梢栽O想利用LED的高穩(wěn)定性和低能耗,再與無線通信技術相結合在沙漠深處或者人跡罕至的雪山之顛樹立一塊依靠太陽能充電,通過無線傳輸方式更改顯示內容的信息板為登山者提供指示和天氣信息,為沙漠迷路的人指引方向。設計結束了,但學習還在繼續(xù)。我相信通過此次設計所得到的知識、心得、經驗乃至感受都會讓我在以后的日子里受益匪淺。6.2系統(tǒng)功能的拓展本設計作品不但可以運用到車站、醫(yī)院等行業(yè),而且可以通過拓展,發(fā)展出更多的用途.本作品單片機部分P1和P3空閑,必要時,可以擴展系統(tǒng)的ROM和RAM??梢宰鰹橄挛粰C輔助調試模塊,實現(xiàn)例如照明、溫度測量、時鐘報警、計時等功能。利用發(fā)光二極管的控制電壓很低和控制方法簡單的優(yōu)點,將它裝在室內天棚中或做成大型燈飾,通過電腦輸出信號直接驅動它的開關狀態(tài)。由于使用了電腦,再多的的LED數(shù)量也能方便自如地控制,得到時暗可變顏色可變絢麗多彩的照明效果,并且已有成

溫馨提示

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

最新文檔

評論

0/150

提交評論