含上位機(jī)傳輸?shù)腖ED顯示屏設(shè)計(jì)方案與實(shí)現(xiàn)_第1頁
含上位機(jī)傳輸?shù)腖ED顯示屏設(shè)計(jì)方案與實(shí)現(xiàn)_第2頁
含上位機(jī)傳輸?shù)腖ED顯示屏設(shè)計(jì)方案與實(shí)現(xiàn)_第3頁
含上位機(jī)傳輸?shù)腖ED顯示屏設(shè)計(jì)方案與實(shí)現(xiàn)_第4頁
含上位機(jī)傳輸?shù)腖ED顯示屏設(shè)計(jì)方案與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

含上位機(jī)傳輸?shù)腖ED顯示屏設(shè)計(jì)與實(shí)現(xiàn)摘要本設(shè)計(jì)是一個含有PC機(jī)為上位機(jī)的16×16點(diǎn)陣LED電子顯示屏的設(shè)計(jì)。LED以其組裝方式靈活、顯示穩(wěn)定、功耗低、壽命長、成本低廉等特點(diǎn)在車站、證券所、運(yùn)動場館、交通干道及各種場合的信息發(fā)布,公益宣傳等得到廣泛的應(yīng)用.此設(shè)計(jì)是用美國ATMEL公司生產(chǎn)的40腳的單片機(jī)AT89S51為核心,介紹了它的自身特點(diǎn)以及相比其他單片機(jī)的優(yōu)勢所在,還有闡述了控制系統(tǒng)的LED點(diǎn)陣電子顯示屏的動態(tài)掃描設(shè)計(jì)和硬件、軟件開發(fā)原理流程。主要實(shí)現(xiàn)方式是,通過該芯片控制一個行驅(qū)動器74HC154和兩個列驅(qū)動器74HC595來驅(qū)動顯示屏顯示。該電子顯示屏可以顯示各種文字或單色圖像,LED顯示屏采用4塊8×8點(diǎn)陣LED顯示模塊,來組成16×16點(diǎn)陣顯示模式全屏能顯示1個漢字,全屏可顯示一個漢字。顯示采用動態(tài)掃描顯示,使得圖形或文字能夠?qū)崿F(xiàn)靜止、移入移出等多種顯示方式。并通過上位機(jī)PC機(jī),來傳輸文字的錄入,使其更加靈活可控和可再利用等功能。文中詳細(xì)介紹了LED點(diǎn)陣顯示的硬件設(shè)計(jì)思路、硬件電路各個部分的功能及原理、相應(yīng)軟件的程序設(shè)計(jì),以及使用說明等。單片機(jī)控制系統(tǒng)程序采用單片機(jī)C語言進(jìn)行編輯,通過編程控制各顯示點(diǎn)對應(yīng)LED陽極和陰極端的電平變換,就可以有效的控制各顯示點(diǎn)的亮滅。所顯示字符的點(diǎn)陣數(shù)據(jù)可以自行編寫,也可從標(biāo)準(zhǔn)字庫中提取。然后通過PC機(jī)軟件VC++和與單片機(jī)之間的協(xié)議RS-232進(jìn)行通信.經(jīng)實(shí)踐證明,該系統(tǒng)顯示誤差小,性能穩(wěn)定,結(jié)構(gòu)合理,擴(kuò)展能力強(qiáng).關(guān)鍵詞LED顯示屏;AT89S51單片機(jī);RS-232通信協(xié)議;點(diǎn)陣屏漢字顯示AbstractThisdesignisoneincludesPCmachineforthesuperiormachine16×16thelatticeLEDelectrondisplaymonitor'sdesign。LEDisnimblebyitsassemblyway,thedemonstrationisstable,thepowerlossislow,thelifeislong,thecostinexpensiveandsooncharacteristicsinthestation,thenegotiablesecurities,themovementfacility,thetransportationyangormaleprincipleandeachkindofsituation’sinformationissued,thepublicwelfarepropagandaandsoonobtainsthewidespreadapplication。Thisdesignis40foot’smonolithicintegratedcircuitAT89S51whichproduceswithAmericanATMELCorporationisacore,introduceditsowncharacteristicaswellascomparesothermonolithicintegratedcircuit’ssuperioritytobe,butalsohadelaboratedcontrolsystem’sLEDlatticeelectrondisplaymonitor'sdynamicscanningdesignandthehardware,thesoftwaredevelopmentprincipleflow。Mainlyrealizesthewayis,controlsgooddriver74HC154andtworowdriver74HC595throughthischipactuatesthedisplaymonitordemonstration。Thiselectronicdisplaymonitormaydemonstratethateachkindoflanguageorthemonochromepicture,theLEDdisplaymonitoruses48×8latticeLEDdisplaymodule,composes16×16thelatticedisplaymodeentirescreentobeabletodemonstratethat1Chinesecharacter,theentirescreenmaydemonstrateaChinesecharacter.Thedemonstrationusesthedynamicscanningtodemonstratethatcausesthegraphorthewritingcanrealizestatic,movesintheemigrationandsoonmanykindsofdisplaymodes.AndthroughsuperiormachinePCmachine,transmitsthewritinginput,causesitmorenimblecontrollableandmayuseandsoonfunctionsagain。InthearticleintroducedtheLEDlatticedemonstrationhardwaredesignmentality,hardwarecircuiteachpartoffunctionsandtheprinciple,thecorrespondingsoftware’sprogrammingindetail,aswellasoperatinginstructionsandsoon.ThemonolithicintegratedcircuitcontrolsystemprocedureusesthemonolithicintegratedcircuitClanguagetocarryontheedition,controlseachdemonstrationpointcorrespondenceLEDanodeandthecloudyviolentleveltransformationthroughtheprogramming,mayeffectivecontroleachdemonstrationextinguishbrightly.Demonstratedthatthecharacterthelatticedatamaycompilevoluntarily,mayalsowithdrawfromthestandardfonts.ThensoftwareVC++andcarriesonthecorrespondencethroughPCmachinewithmonolithicintegratedcircuit’sbetweenagreementRS-232。Provedafterthepracticethatthissystemdisplayerrorissmall,thestableproperty,thestructureisreasonable,expansionability.KeywordLEDDisplayMonitor;AT89S51MonolithicIntegratedCircuit;RS—232CommunicationProtocol;LatticescreenChineseCharacterDemonstration目錄TOC\o"1-3”\f\h\zHYPERLINK\l”_Toc231304479”摘要 I_Toc231304481"第1章緒論 11。1LED顯示屏研究的背景及意義 11.2LED顯示屏發(fā)展現(xiàn)狀與發(fā)展趨勢 11。2。1我國LED顯示屏發(fā)展現(xiàn)狀 1HYPERLINK\l”_Toc231304485"1.2.2我國LED顯示屏發(fā)展趨勢 21.3MCS-51系列單片機(jī)簡介 21.3.2MCS—51系列單片機(jī)及其特點(diǎn) 3HYPERLINK\l”_Toc231304489”1。4論文主要內(nèi)容 3HYPERLINK\l”_Toc231304490”1。4.1功能要求 3HYPERLINK\l”_Toc231304491"1。4。2針對設(shè)計(jì)題目的特點(diǎn),本人對論文的內(nèi)容和結(jié)構(gòu)將做如下安排: 3_Toc231304493”2.1硬件系統(tǒng)方案 5HYPERLINK\l”_Toc231304494”2.1。1點(diǎn)陣顯示屏的串行掃描與動態(tài)掃描 5HYPERLINK\l”_Toc231304495”2.1。2單機(jī)工作與上位機(jī)控制顯示屏 62.1。4PC上位機(jī)通信系統(tǒng)電路 62.1。5點(diǎn)陣驅(qū)動與控制電路 7HYPERLINK\l”_Toc231304499"2.2軟件設(shè)計(jì)方案 7HYPERLINK\l”_Toc231304500”2。2.1動態(tài)掃描顯示驅(qū)動程序 82。2.2基于RS-232協(xié)議的通信軟件設(shè)計(jì) 8HYPERLINK\l”_Toc231304502”第3章系統(tǒng)硬件設(shè)計(jì) 93.1硬件整體設(shè)計(jì)概述及功能分析 93。2硬件系統(tǒng)具體組成 103。2.2LED點(diǎn)陣塊 123。2.3移位寄存器74HC595 13HYPERLINK\l”_Toc231304508"3.2。474LS154以及驅(qū)動電路 143.2.5外擴(kuò)程序存儲器 163.2.6通信模塊設(shè)計(jì) 16_Toc231304512"4。1程序設(shè)計(jì)概述 184。2.1LED屏動態(tài)掃描顯示方式 194。2.2顯示程序設(shè)計(jì) 204.3上位機(jī)軟件設(shè)計(jì) 22_Toc231304520”5。2軟件測試 245.3測試結(jié)果 24HYPERLINK\l”_Toc231304522”結(jié)論 25HYPERLINK\l”_Toc231304523”致謝 26附錄A 28HYPERLINK\l”_Toc231304526”附錄B 38附錄C 39第1章緒論1.1LED顯示屏研究的背景及意義在全球化金融危機(jī)下,各國都在探索如何從危機(jī)中迅速崛起以及國家今后的發(fā)展方向。因此,能源成為了國家發(fā)展的根本之源,也成為了困擾各國持續(xù)發(fā)展的重點(diǎn)問題之一。何能持續(xù)發(fā)展?何能節(jié)能減排?諸多的例如新能源、環(huán)保、可回收再利用等問題與技術(shù)應(yīng)運(yùn)而生,這種時髦的思想也管注入了各個領(lǐng)域與行業(yè).這其中就包括了LED顯示屏的應(yīng)用。LED顯示屏是八十年代后期在全球迅速發(fā)展起來的新型信息顯示媒體,它利用發(fā)光二極管構(gòu)成的點(diǎn)陣模塊或像素單元組成在面積顯示屏幕,以節(jié)能、可靠性高、使用壽命長、環(huán)境適應(yīng)能力強(qiáng)、價格性能比高、環(huán)保、可回收利用等特點(diǎn),在短短的十來年中,迅速成長為平板顯示的主流產(chǎn)品,在信息顯示領(lǐng)域得到了廣泛的應(yīng)用,主要包括:證券交易、金融信息顯示;機(jī)場航班動態(tài)信息顯示;港口、車站旅客引導(dǎo)信息顯示;體育場館信息顯示;道路交通信息顯示;調(diào)度指揮中心信息顯示;郵政、電信、商場購物中心等服務(wù)領(lǐng)域的業(yè)務(wù)宣傳及信息顯示;廣告媒體新產(chǎn)品等。1.2LED顯示屏發(fā)展現(xiàn)狀與發(fā)展趨勢1。2。1我國LED顯示屏發(fā)展現(xiàn)狀我國的LED顯示屏產(chǎn)業(yè)經(jīng)過幾年的發(fā)展,基本形成了一批具有一定規(guī)模的骨干企業(yè)。據(jù)不完全統(tǒng)計(jì),至1998年底,年度銷售總額在1000萬元以上的企業(yè)有20多家,其銷售總額達(dá)6億元左右,占行業(yè)市場總額的85%以上。在國內(nèi)市場上,國產(chǎn)LED顯示屏的市場占有率近100%。隨著產(chǎn)品技術(shù)推陳出新,90年代初我國即具備了成熟的16級灰度256色視頻控制技術(shù)及無線遙控等國先進(jìn)水平技術(shù),近年在全彩色LED顯示屏、256級灰度視頻控制技術(shù)、集群無經(jīng)線控制、多級群控技術(shù)等方面均有國內(nèi)先進(jìn)、達(dá)到國際水平的技術(shù)和產(chǎn)品出現(xiàn);LED顯示屏控制專用大規(guī)模集成電路也已由國內(nèi)企業(yè)開發(fā)生產(chǎn)并得到應(yīng)用。并培養(yǎng)形成了一批LED顯示屏科技隊(duì)伍,在全國LED顯示屏行業(yè)的從業(yè)人數(shù)6000人中,科技人員有2800多人,將近50%。LED顯示屏產(chǎn)業(yè)正成為我國電子信息產(chǎn)業(yè)的重要組成部分,也是平板顯示領(lǐng)域唯一立足國內(nèi)形成的民族高科技產(chǎn)業(yè)。1。2.2我國LED顯示屏發(fā)展趨勢隨著今年的藍(lán)綠等LED顯示屏的發(fā)展和技術(shù)的更新,成本逐年降低,LED顯示屏已經(jīng)可以具備成熟的商業(yè)化條件,全彩色LED顯示屏將是LED顯示屏的重要發(fā)展方向。由于全彩色顯示屏價格性能比的優(yōu)勢,全彩色LED顯示屏在戶外廣告媒體中會越來越多地代替?zhèn)鹘y(tǒng)的燈飾。同時,材料、技術(shù)的成熟及市場價格的基本均衡之后,LED顯示屏的標(biāo)準(zhǔn)化和規(guī)范化將成為LED顯示屏發(fā)展的一個新趨勢。我相信隨著信息化社會的形成,LED顯示屏民間的應(yīng)用前景更為廣闊。1。3MCS-51系列單片機(jī)簡介1.3。1單片機(jī)的發(fā)展歷史簡介第1階段(1971年—1978年),以MCS-48系列為代表,稱4位單片機(jī)。在片內(nèi):CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,無串行接口;只有1個8位的定時/計(jì)時器;中斷源只有2個。在片外:尋址范圍只有4KB;芯片引腳有40個。第2階段(1978年—1983年),以MCS-51系列為代表,稱8位單片機(jī)。在片內(nèi):CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2個或3個16位的定時/計(jì)時器;中斷源有5至7個.在片外:尋址范圍有64KB;芯片引腳有40個。第3階段(1983年以后),以MCS—96系列為代表,稱16位單片機(jī)。在片內(nèi):CPU有16位;ROM有8KB;RAM有232B;有串/并行接口;有4個16位的定時/計(jì)時器;中斷源有8個;增加了D/A和A/D轉(zhuǎn)換電路。在片外:尋址范圍有64KB;芯片引腳有48個或68個。以上MCS—51系列以其優(yōu)良的性價比,在我國得到了廣泛的應(yīng)用。1.3。2MCS-51系列單片機(jī)及其特點(diǎn)(1)可靠性高:因?yàn)樾酒前垂I(yè)測控環(huán)境要求設(shè)計(jì)的,故抗干擾的能力優(yōu)于PC機(jī)。系統(tǒng)軟件(如:程序指令,常數(shù),表格)固化在ROM中,不易受病毒破壞。許多信號的通道均在一個芯片內(nèi),故運(yùn)作時系統(tǒng)穩(wěn)定可靠.(2)便于擴(kuò)展:片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件,片外有很多供擴(kuò)展用的(總線,并行和串行的輸入/輸出)管腳,很容易組成一定規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng).(3)控制功能強(qiáng):具有豐富的控制指令:如:條件分支轉(zhuǎn)移指令,I/O口的邏輯操作指令,位處理指令。(4)實(shí)用性好:體積小,功耗低,價格便宜,易于產(chǎn)品化。1。4論文主要內(nèi)容1。4.1功能要求設(shè)計(jì)一個室內(nèi)用16×16的點(diǎn)陣LED圖文顯示屏,要求在目測條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。1.4。2針對設(shè)計(jì)題目的特點(diǎn),本人對論文的內(nèi)容和結(jié)構(gòu)將做如下安排:(1)初步方案的建立和選擇根據(jù)搜集題目的相關(guān)資料,并參照目前通用的設(shè)計(jì)思想和方法制定幾套設(shè)計(jì)方案進(jìn)行分析對比。最終選定了以單片機(jī)為核心控制器件,譯碼電路和驅(qū)動電路、顯示屏、上位機(jī)控制電路的設(shè)計(jì)方案.(2)方案實(shí)現(xiàn)以設(shè)計(jì)方案為指導(dǎo)思想選擇相應(yīng)合適的器件,器件主要以功能和電氣特性兩方面來選擇。經(jīng)過對比選擇選定AT89S51單片機(jī)為核心控制器件,由數(shù)據(jù)移位寄存器74HC595作為數(shù)據(jù)傳輸和鎖存器為譯碼電路器件,三極管9012和74LS154為驅(qū)動電路器件,采用RS323通信協(xié)議和數(shù)據(jù)存儲器與上位機(jī)PC傳輸。論文列出了詳細(xì)的器件參數(shù)和在系統(tǒng)中的連接使用方法。(3)軟件編寫根據(jù)硬件特點(diǎn)和設(shè)計(jì)要求,軟件選用C語言編寫。程序按功能分為靜態(tài)顯示、動態(tài)顯示、上位機(jī)通信傳輸?shù)葞讉€功能上相對獨(dú)立的模塊.然后按照所劃分的模塊逐個編寫和調(diào)試,最后將獨(dú)立的模塊整合起來。(4)驗(yàn)證與測試調(diào)試分為硬件調(diào)試、軟件調(diào)試和系統(tǒng)集合調(diào)試三步來進(jìn)行.在硬件調(diào)試中發(fā)現(xiàn)有單片機(jī)端口驅(qū)動工作不穩(wěn)定、顯示電路下拉電阻電壓值不夠等問題。在軟件調(diào)試中出現(xiàn)程序整合鏈接不協(xié)調(diào)等問題.通過分析,查找出了問題原因并設(shè)法將其解決。(5)結(jié)論設(shè)計(jì)完成后對設(shè)計(jì)中所遇到的問題、經(jīng)驗(yàn)教訓(xùn)、以及自己的想法進(jìn)行總結(jié)第2章方案論證與選擇2。1硬件系統(tǒng)方案硬件電路大致上可分成單片機(jī)系統(tǒng)及外圍電路、上位機(jī)通信電路、列驅(qū)動電路和行驅(qū)動電路4部分.2.1.1點(diǎn)陣顯示屏的串行掃描與動態(tài)掃描方案一:串行方式顯示。這種方式可同時顯示4個16×L6點(diǎn)陣漢字或8個16×8點(diǎn)陣的漢字、字符或數(shù)字。點(diǎn)陣顯示屏每個單元由16個8×8點(diǎn)陣LED顯示模塊、行信號選擇譯碼器74HC138、驅(qū)動器74HC245、數(shù)據(jù)移位寄存器74HC595和行驅(qū)動器組成,如圖1所示。單元顯示屏可以接收控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數(shù)據(jù)信息和命令信息,并可將這些數(shù)據(jù)信息和命令信息不經(jīng)任何變化地再傳送到下一級顯示模塊單元中,因此顯示屏可擴(kuò)展至更多的顯示單元,用于顯示更多的內(nèi)容。如圖2。1所示。單片機(jī)單片機(jī)驅(qū)動器移位寄存器LEDLEDLED譯碼器行驅(qū)動器移位寄存器移位寄存器圖2。1串行方式顯示邏輯結(jié)構(gòu)框圖此方案為點(diǎn)陣顯示屏系統(tǒng)中比較常用的,所用器件也比較常用,容易買到。但是它存在一個致命的缺點(diǎn),就是刷新速度不夠快.如果要驅(qū)動64列點(diǎn)陣顯示,通用51單片機(jī)會比較吃力,出現(xiàn)比較嚴(yán)重的閃爍停滯現(xiàn)象。此外,要實(shí)現(xiàn)文字的左右移動和調(diào)整移動速度等功能,都會給軟件設(shè)計(jì)帶來較多困難.方案二:動態(tài)掃描方式顯示.列驅(qū)動電路和行驅(qū)動電路分別由74HC595移位寄存器和74LS154譯碼器組成。列驅(qū)動電路它具備一個8位串入并出的移位寄存器和一個8位輸出鎖存器,而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,可以實(shí)現(xiàn)在顯示本行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù),即達(dá)到重疊處理的目的。行驅(qū)動電路時一條行線上要帶動16列的LED進(jìn)行顯示,所以要用74LS154譯碼后生成16條行選通信號線。故綜上所述采用此方案.2。1.2單機(jī)工作與上位機(jī)控制顯示屏方案一:單機(jī)工作模式。采用一個單片機(jī)控制實(shí)現(xiàn)所有功能,其中包括LED點(diǎn)陣顯示屏的刷新顯示、數(shù)據(jù)傳輸?shù)?。只用一個單片機(jī)控制點(diǎn)陣顯示屏可以使電路大大減化,軟件設(shè)計(jì)方面也容易實(shí)現(xiàn)。但是,將所有功能集成在一起,一片AT89S52單片機(jī)處理能力是不夠的.此時,單片機(jī)的CPU內(nèi)部資源已顯不足,會導(dǎo)致系統(tǒng)功能欠佳,達(dá)不到較好的性能。方案二:上位機(jī)工作模式.采用上位機(jī)單片機(jī)工作方式來控制整個系統(tǒng)。其中單片機(jī)用于控制LED點(diǎn)陣顯示,另外PC機(jī)用于串口與單片機(jī)通信等工作,實(shí)現(xiàn)可更改顯示數(shù)據(jù)與圖案的功能。此設(shè)計(jì)模式是為了擴(kuò)展顯示屏的更多功能,處理的能力大大提升,并且分工明確,執(zhí)行速度得到大大的提升。所以此次設(shè)計(jì)采用此方案.2。1.3含上位機(jī)的硬件電路設(shè)計(jì)本系統(tǒng)硬件電路設(shè)計(jì)的整體框圖如圖2.2所示.單片機(jī)單片機(jī)列驅(qū)動器LED現(xiàn)實(shí)點(diǎn)陣行驅(qū)動器電源PC上位機(jī)RS-232串行通信外圍電路圖2.2電路設(shè)計(jì)整體結(jié)構(gòu)框圖2。1.4PC上位機(jī)通信系統(tǒng)電路AT89S51單片機(jī)有一個可編程的串行接口,它是一個全雙工的通信端口,可以同時接受和發(fā)送數(shù)據(jù)。串行通信接口的優(yōu)點(diǎn)在于使用較少的傳輸線即可完成數(shù)據(jù)的傳輸.AT89S51的通信端口有一個幾首緩沖式的串行接口,在特殊功能寄存器(SFR)中有一個串行數(shù)據(jù)緩沖器(SBUF)寄存器,專門工存放發(fā)送和接受的數(shù)據(jù)。因此欲發(fā)送或者接受數(shù)據(jù),僅僅需要對SBUF寄存器進(jìn)行存取即可。由于是近距離通信故采用RS-232C標(biāo)準(zhǔn)協(xié)議,此標(biāo)準(zhǔn)的電器特新定義了邏輯1和邏輯0的最高和最低電壓。邏輯1為-3~-25V,邏輯0為3~25V,而—3~3V之間的任何電壓都處于未定義邏輯狀態(tài)。如果吸納路上沒有信號脈沖,則電壓應(yīng)維持在高邏輯電平。接收端的0V電壓一般為線路出現(xiàn)中斷或短路的情況。RS-232C標(biāo)準(zhǔn)的信號頻率最高可達(dá)到20kHz,最大傳輸距離為30m。2。1.5點(diǎn)陣驅(qū)動與控制電路該電路主要將單片機(jī)發(fā)送來的輸出點(diǎn)陣數(shù)據(jù),通過鎖存器芯片擴(kuò)展的I0口,來控制LED點(diǎn)陣的16個列線端.本設(shè)計(jì)中用的是1片鎖存器74LS154來組成16組雙緩沖寄存器,驅(qū)動LED點(diǎn)陣的16組行線,用4/16譯碼器74HC595對LED點(diǎn)陣的16行進(jìn)列數(shù)據(jù)傳輸。在送每一列的數(shù)據(jù)到LED點(diǎn)陣前,先把數(shù)據(jù)分別送到第一級的2個74HC595,然后再給第二級的2個74HC595送一個鎖脈沖,將數(shù)據(jù)一起送到LED點(diǎn)陣的各列。2.2軟件設(shè)計(jì)方案顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設(shè)計(jì)的要求顯示.根據(jù)軟件分層次設(shè)計(jì)的原理,我們可以把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動程序,第二層是上層的系統(tǒng)應(yīng)用程序.顯示驅(qū)動程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號和其他控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅(qū)動程序由定時器T0中斷程序?qū)崿F(xiàn).系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化)、顯示效果處理等工作,由主程序來實(shí)現(xiàn)。從有利于實(shí)現(xiàn)較復(fù)雜的算法(顯示效果處理)和有利于程序結(jié)構(gòu)化考慮,以及可讀性和移植性較強(qiáng)的特點(diǎn),顯示屏程序采用C語言編寫比較合適。2。2.1動態(tài)掃描顯示驅(qū)動程序顯示驅(qū)動程序在進(jìn)入中斷后首先要對定時器T0重新賦初值以保證顯示屏刷新率的穩(wěn)定,1/16掃描顯示屏刷新(幀頻)的計(jì)算公式如下(2。1)、(2.2):刷新率(幀頻)=(2.1)溢出率=(2。2)式中為晶振頻率,為定時器T0初值(工作在16位定時器模式)。其次,顯示驅(qū)動程序查詢當(dāng)前點(diǎn)亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)時產(chǎn)生的拖尾現(xiàn)象,驅(qū)動程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示[3]。2。2.2基于RS—232協(xié)議的通信軟件設(shè)計(jì)上位機(jī)軟件設(shè)計(jì),本設(shè)計(jì)使用的是VC++6。0編程環(huán)境設(shè)計(jì)的上位機(jī)軟件,來實(shí)現(xiàn)與單片機(jī)的串行通信.建立一名為Commtest的應(yīng)用程序,接收ActiveX控件.它提供了一系列標(biāo)準(zhǔn)通信命令的使用接口,利用它可以建立與串口的連接,并可以通過串口連接到其他通信設(shè)備,發(fā)出命令,交換數(shù)據(jù)以及見識和相應(yīng)串口連接中發(fā)生的事件與錯誤。單片機(jī)軟件用串行通信的方式,讀取存儲器中的標(biāo)志位,進(jìn)行數(shù)據(jù)傳輸即可實(shí)現(xiàn)與上位機(jī)的通信.第3章系統(tǒng)硬件設(shè)計(jì)3。1硬件整體設(shè)計(jì)概述及功能分析本設(shè)計(jì)采用以AT89S51單片機(jī)為核心芯片的電路來實(shí)現(xiàn),主要由AT89S51、時鐘電路、復(fù)位電路、列數(shù)據(jù)傳輸驅(qū)動電路(74HC595)、行掃描驅(qū)動電路(74LS154)、16×16LED點(diǎn)陣,上位機(jī)通信電路6部分組成,以AT89S51為控制核心。其中,AT89S51單片機(jī)是一個低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4KBYTESISP(IN-SYSTEMPROGRAMMABLE)的可反復(fù)擦寫1000次的FLASH只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFLASH存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。時鐘電路由AT89S51的18,19腳的時鐘端(XTALL及XTAL2)以及12MHZ晶振X1、電容C2,C3組成,采用片內(nèi)振蕩方式。復(fù)位電路采用簡易的上電復(fù)位電路,主要由電阻R1,R2,電容C1,開關(guān)K1組成,分別接至AT89C51的RST復(fù)位輸入端。帶鎖存輸出的8位移位寄存器74HC595,作為LED的列線驅(qū)動輸入,四六譯碼器74LS154,作為LED行線的譯碼選擇,三極管9012,連接四六譯碼器的十六個輸出端,作為開關(guān)使用,驅(qū)動LED的行線.LED點(diǎn)陣顯示屏采用16×16共256個象素的點(diǎn)陣,通過萬用表檢測發(fā)光二極管的方法測試判斷出該點(diǎn)陣的引腳分布,如圖3.1LED點(diǎn)陣屏管腳圖所示。圖3.1LED點(diǎn)陣屏管腳圖3.2硬件系統(tǒng)具體組成3.2。1主控系統(tǒng)組成MCS-51單片機(jī)是美國INTE公司于1980年推出的產(chǎn)品,典型產(chǎn)品有

8031(內(nèi)部沒有程序存儲器,實(shí)際使用方面已經(jīng)被市場淘汰)、8051(芯片采用HMOS,功耗是630MW,是89C51的5倍,實(shí)際使用方面已經(jīng)被市場淘汰)和8751等通用產(chǎn)品,一直到現(xiàn)在,

MCS-51內(nèi)核系列兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品(比如目前流行的89S51、已經(jīng)停產(chǎn)的89C51等),各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MCS—51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。有些文獻(xiàn)甚至也將8051泛指MCS-51系列單片機(jī),8051是早期的最典型的代表作,由于MCS-51單片機(jī)影響極深遠(yuǎn),許多公司都推出了兼容系列單片機(jī),就是說MCS-51內(nèi)核實(shí)際上已經(jīng)成為一個8位單片機(jī)的標(biāo)準(zhǔn)。其他的公司的51單片機(jī)產(chǎn)品都是和MCS—51內(nèi)核兼容的產(chǎn)品而以。同樣的一段程序,在各個單片機(jī)廠家的硬件上運(yùn)行的結(jié)果都是一樣的,如ATMEL的89C51(已經(jīng)停產(chǎn))、89S51,

PHILIPS(菲利浦),和WINBOND(華邦)等,我們常說的已經(jīng)停產(chǎn)的89C51指的是ATMEL公司的

AT89C51單片機(jī),同時是在原基礎(chǔ)上增強(qiáng)了許多特性,如時鐘,更優(yōu)秀的是由\t”_blank"FLASH(程序存儲器的內(nèi)容至少可以改寫HYPERLINK”http:///icstock/Detail-1000.html"\o”1000”\t"_blank”1000次)存儲器取帶了原來的ROM(一次性寫入),\o"AT89C51"AT89C51的性能相對于8051已經(jīng)算是非常優(yōu)越的了。不過在市場化方面,89C51受到了PIC單片機(jī)陣營的挑戰(zhàn),89C51最致命的缺陷在于不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續(xù)MCS—51的傳奇。89S51就是在這樣的背景下取代89C51的,現(xiàn)在,89S51目前已經(jīng)成為了實(shí)際應(yīng)用市場上新的寵兒,作為市場占有率第一的ATMEL目前公司已經(jīng)停產(chǎn)AT89C51,將用AT89S51代替。89S51在工藝上進(jìn)行了改進(jìn),89S51采用HYPERLINK”/icstock/Detail—0。35。html”\o”0.35”\t”_blank"0。35新工藝,成本降低,而且將功能提升,增加了競爭力.89SXX可以像下兼容89CXX等51系列芯片.同時,ATMEL不再接受89CXX的定單,在市場上見到的89C51實(shí)際都是ATMEL前期生產(chǎn)的巨量庫存.89S51相對于89C51增加的新功能包括:1。新增加很多功能,性能有了較大提升,價格卻基本不變,甚至比89C51更低!2。ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機(jī)存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離.是一個強(qiáng)大易用的功能.3.工作頻率為33MHZ,大家都知道89C51的極限工作頻率只有24M,就是說S51具有更高工作頻率,從而具有了更快的計(jì)算速度。4.具有雙工UART串行通道。5。內(nèi)部集成看門狗計(jì)時器,不再需要像89C51那樣外接看門狗計(jì)時器單元電路。6。雙數(shù)據(jù)指示器。7.電源關(guān)閉標(biāo)識.8。全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)知識產(chǎn)權(quán)不被侵犯。9.兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期MCS—51兼容產(chǎn)品。也就是說所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機(jī)是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運(yùn)行,這就是所謂的向下兼容。圖3。2AT89S51單片機(jī)原理圖AT89S51相關(guān)器件連接的接腳如下:PA0-PA3連接4—16譯碼器的輸入口A,B,C,D;PB0-PB3連接74HC595的輸入口SI,SCK,RCK;PD6—PD7作串口通信使用連接RXD,TXD一個四至十六線譯碼器74LS154組成的16個輸出端連接16個9012的三極管的基極B,發(fā)射極E連接5V電源,集電極C連接到三個漢字點(diǎn)陣的16個行線控制端。點(diǎn)陣的16列數(shù)據(jù)線驅(qū)動由2片74HC595級聯(lián)組成,前一片74HC595的Q’H引腳連接下一片的SI引腳,各片的SCK、RCK、SRCLR、G引腳分別并聯(lián)[8]。3.2。2LED點(diǎn)陣塊圖3。3LED點(diǎn)陣塊8×8的LED點(diǎn)陣為單色行共陰模塊,單點(diǎn)的工作電壓為正向(VF)=1.8V,正向電流(IF)=8-10MA。靜態(tài)點(diǎn)亮器件時(64點(diǎn)全亮)總電流為640MA,總電壓為1.8V,總功率為1.15W.動態(tài)時取決于掃描頻率(1/8或1/16秒),單點(diǎn)瞬間電流可達(dá)80-160MA.16×16點(diǎn)陣靜態(tài)時16×16×10MA,動態(tài)時單點(diǎn)電流80-160MA.在電源電壓VDD穩(wěn)定時,74HC595的高電平輸出電壓V也很穩(wěn)定,如電源電壓VDD為6V時,V=5.9V。所以當(dāng)74HC595的某一位輸出為高電平時,其對應(yīng)列的LED將被點(diǎn)亮,且其中流過的電流近似為:(3。1)只要合理選擇R1、R2、R3的值,就可保證LED中流過的電流穩(wěn)定不變,并且可以使LED發(fā)光二極管工作在正向電流與對應(yīng)發(fā)光亮度的最佳狀態(tài).用這種列恒流驅(qū)動方式工作,可以做到不管一行中LED管子點(diǎn)亮數(shù)的多少,其行驅(qū)動管的管壓降雖然仍有變化,由于每個LED發(fā)光二極管中流過的電流恒定不變,從而保證了LED顯示屏亮度的均允性.3。2。3移位寄存器74HC595圖3。474HC595管腳圖74HC595內(nèi)含8位串入、串/并出移位寄存器和8位三態(tài)輸出鎖存器。寄存器和鎖存器分別有各自的時鐘輸入(SCLK和SLCK),都是上升沿有效。當(dāng)SCLK從低到高電平跳變時,串行輸入數(shù)據(jù)(SDA)移入寄存器;當(dāng)SLCK從低到高電平跳變時,寄存器的數(shù)據(jù)置入鎖存器。清除端(CLR)的低電平只對寄存器復(fù)位(QS為低電平),而對鎖存器無影響.當(dāng)輸出允許控制(EN)為高電平時,并行輸出(Q0~Q7)為高阻態(tài),而串行輸出(QS)不受影響.74HC595最多需要5根控制線,即SDA、SCLK、SLCK、CLR和EN。其中CLR可以直接接到高電平,用軟件來實(shí)現(xiàn)寄存器清零;如果不需要軟件改變亮度,EN可以直接接到低電平,而用硬件來改變亮度。把其余三根線和單片機(jī)的I/O口相接,即可實(shí)現(xiàn)對LED的控制.數(shù)據(jù)從SDA口送入74HC595,在每個SCLK的上升沿,SDA口上的數(shù)據(jù)移入寄存器,在SCLK的第9個上升沿,數(shù)據(jù)開始從QS移出。如果把第一個74HC595的QS和第二個74HC595的SDA相接,數(shù)據(jù)即移入第二個74HC595中,照此一個一個接下去,可接任意多個.數(shù)據(jù)全部送完后,給SLCK一個上升沿,寄存器中的數(shù)據(jù)即置入鎖存器.此時如果EN為低電平,數(shù)據(jù)即從并口Q0~Q7輸出,把Q0~Q7與LED的8段相接,LED就可以實(shí)現(xiàn)顯示了。要想軟件改變LED的亮度,只需改變EN的占空比就行了。=+()(3.2)=輸入頻率,=輸出電容,=輸出頻率(MHZ),=電源電壓,決定動態(tài)的能耗。功能表表3.174HC595功能表輸入輸出功能SHcpSTcpOEMRDsQ7’QN-—L↓—LNCMR為低電平時僅僅影響移位寄存器-↑LL-LL空移位寄存器到輸出寄存器——LL—LZ請空移位寄存器,并行為輸出高阻狀態(tài)↑—HHHQ6'NC邏輯高電平移入移位寄存器狀態(tài)0,包含所有的移位寄存器狀態(tài)輸入,列入,以前的狀態(tài)6(內(nèi)部Q6”)出現(xiàn)在串行輸出位-↑LH—NCQN’移位寄存器的內(nèi)容到達(dá)保持寄存器并并從并口輸出↑↑LH-Q6’QN’移位寄存器內(nèi)容移入,先前的移位寄存器的內(nèi)容到達(dá)保持寄存器并輸出。注:1:H=高電平狀態(tài)2:L=低電平狀態(tài)2:↑=上升沿3:↓=下降沿4:Z=高阻5:NC=無變化6:×=無效。當(dāng)MR為高電平,OE為低電平時,數(shù)據(jù)在SHcp上升沿進(jìn)入移位寄存器,在STcp上升沿輸出到并行端口。3。2。474LS154以及驅(qū)動電路圖3。574LS154以及驅(qū)動電路原理圖4—16線譯碼器,其管腳如圖所示,A,B,C,D為譯碼的輸入端,值的區(qū)間從0000到1111,Y1—Y15是對應(yīng)A,B,C,D四個輸入引腳的輸出腳,其中選中的線用輸出低電平,沒有選中的輸出高電平,G1、G2是使能端,只有輸入相應(yīng)D低電平才能使譯碼器正常工作。行地址譯碼電路的基本工作方法是將P1.0—P1.3這四根線經(jīng)4—16線譯碼器74LS154產(chǎn)生16個行選信號,經(jīng)三極管驅(qū)動輸出行信號.每行字占16個行信號,為提高掃描速度,我們將第一行至第四行字的相應(yīng)行由一個行信號來控制,這樣,整個顯示屏在邏輯上只需要16個行信號即可。由于行驅(qū)動電路需要考慮同時驅(qū)動16列的LED發(fā)光器件,按每一個LED器件需電流10MA計(jì)算,16×16個LED同時發(fā)光時,就需要驅(qū)動三極管為16個9012,用萬能板焊接.功能表表3.274LS154功能表輸入輸出G2G2DCBALLLLLL0LLLLLH1LLLLHL2LLLLHH3LLLHLL4LLLHLH5LLLHHL6LLLHHH7LLHLLL8LLHLLH9LLHLHL10LLHLHH11LLHHLL12LLHHLH13LLHHHL14LLHHHH15LH-————HL——-—-HH—-—-—注:1:H-高電平2:L-低電平3:—-任意4:*-其他輸出端為高電平。3。2。5外擴(kuò)程序存儲器在系統(tǒng)中需要板載漢字字庫,AT89S51單片機(jī)系統(tǒng)內(nèi)部只有128B的RAM,一定程度上限制程序?qū)Y源的利用。所以必須外擴(kuò)ROM,擴(kuò)展系統(tǒng)的可應(yīng)用性。如圖3。5外擴(kuò)存儲器電路連接圖所示,系統(tǒng)中選用256KB的EEPROM–24C256來存儲一個標(biāo)準(zhǔn)的16×16的點(diǎn)陣漢字庫,串行EEPROM技術(shù)是一種非易失性存儲技術(shù),它幾乎具有所有類型存儲器的優(yōu)點(diǎn):不揮發(fā)性、可更新性、高密度、低功耗和高性價比,非常適合應(yīng)用于各類工業(yè)測控系統(tǒng)。它克服了常用的2816、2817、2864等并行EEPROM器件價格高、體積大、可靠性低(這些器件如不采取措施,在上電、下電時常會丟失數(shù)據(jù))等不足,在速度要求不是很高的情況下,該器件是最理想的選擇.圖3。6外擴(kuò)存儲器電路連接圖該存儲電路僅由芯片24C256組成,SCL為串行時鐘引腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘。SDA為串行數(shù)據(jù)/地址,這是一個雙向傳輸端,用于傳送地址和所有數(shù)據(jù)的發(fā)送或接收。當(dāng)LED顯示屏控制系統(tǒng)工作時,單片機(jī)AT89S51通過讀SDA和SCL腳讀取24C256中的內(nèi)容,并將其顯示于LED顯示屏上.也可以通過上位機(jī)(PC機(jī))將編輯好的數(shù)據(jù)內(nèi)容下載到24C256芯片內(nèi)。3。2。6通信模塊設(shè)計(jì)通過計(jì)算機(jī)中的RS—232接口進(jìn)行計(jì)算機(jī)與單片機(jī)之間的命令和數(shù)據(jù)傳輸,就可以實(shí)現(xiàn)多漢字顯示效果.由于計(jì)算機(jī)上的RS-232所傳送的距離不超過30m,所以故采用此協(xié)議。在RS—232直接傳送通信系統(tǒng)中,只要發(fā)送和接收雙方同時準(zhǔn)備好,僅用信號發(fā)送端(TXD)、信號接收端(RXD)和信號地(GND)三根線即可進(jìn)行通訊.在AT89S51單片機(jī)系統(tǒng)中,分別從P3。0和P3。1引出串口線RXD和TXD通過專用的電平轉(zhuǎn)換芯片轉(zhuǎn)換成RS—232接口標(biāo)準(zhǔn)的電平,這樣,二者之間就可以通過RS—232接口進(jìn)行數(shù)字信號的傳送。圖3.7通信模塊電路圖單片機(jī)的串口通過MAX232將TTL電平轉(zhuǎn)換成EAI適合的電平,實(shí)現(xiàn)了單片機(jī)和PC機(jī)之間的通信.第4章系統(tǒng)軟件的設(shè)計(jì)4。1程序設(shè)計(jì)概述用AT89S51作為核心控制器,運(yùn)用其內(nèi)的存儲空間來存儲顯示數(shù)據(jù),通過對端口I/O控制把數(shù)據(jù)逐一放出顯示。顯示方式的實(shí)現(xiàn)取決于數(shù)據(jù)傳出的順序,左移是從數(shù)據(jù)存儲區(qū)取出一位數(shù)據(jù)放入顯示移位寄存器中,上移是每次取出一行數(shù)據(jù)放入顯示緩存區(qū)等等。顯示時并不識別顯示緩存區(qū)的數(shù)據(jù),只是一次從顯示緩存區(qū)提取數(shù)據(jù)向顯示屏發(fā)送并相應(yīng)的送入鎖存消隱和行值信號,完成掃描。系統(tǒng)主程序流程圖如圖4.1系統(tǒng)主程序流程圖所示.開始開始系統(tǒng)初始化“卷簾出”顯示效果“上滾屏”顯示效果“左跑馬”顯示效果“卷簾入”顯示效果上位機(jī)通信過程圖4.1系統(tǒng)主程序流程圖軟件系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、顯示子程序.主程序?yàn)轫樞蚪Y(jié)構(gòu),完成堆棧、中斷和串口初始化設(shè)置后,循環(huán)調(diào)用顯示子程序,以及響應(yīng)串行接受或者發(fā)送中斷;顯示子程序從緩沖區(qū)取出字模。輸出列選通信號至TXD于RXD端口串行輸出,并用一組74HC595串行移位寄存器和鎖存器列輸出。邏輯行通過譯碼器74LS154輸出數(shù)據(jù)顯示信號,配合列掃描信號,進(jìn)行動態(tài)掃描顯示;程序各部分的功能,由各個模塊分別實(shí)現(xiàn).程序模塊有:串口初始化、取字模模塊、顯示模塊和移動模塊。4.2顯示程序的設(shè)計(jì)4。2.1LED屏動態(tài)掃描顯示方式通過對發(fā)光二極管的工作原來了解,一段高電平,一段低電平,可以點(diǎn)亮二極管的原理。可知使其運(yùn)用到點(diǎn)陣的二極管上,對點(diǎn)陣的其中一個端口送出高電平其余為低電平,在相應(yīng)的對應(yīng)端口上,送出低電平其余的為高電平。這樣就可以點(diǎn)亮LED點(diǎn)陣屏的某一個二極管了??梢园腰c(diǎn)陣的行與列的0、1代碼在單片機(jī)中用16進(jìn)制數(shù)表示,就可以形成顯示數(shù)據(jù)代碼了。下面以數(shù)字顯示為例進(jìn)行進(jìn)一步解釋.如下圖4.2數(shù)字點(diǎn)陣原理圖所示,假設(shè)顯示數(shù)字“0”1

2

3

4

5

6

7

8

●●●

●●●

0000

3E

41

41

41

3E00圖4.2數(shù)字點(diǎn)陣原理圖因此,形成的列代碼為00H,00H,3EH,41H,41H,3EH,00H,00H;只要把這些代碼分別送到相應(yīng)的列線上面,即可實(shí)現(xiàn)“0”的數(shù)字顯示。送顯示代碼過程如下所示送第一列線代碼到P3端口,同時置第一行線為“0”,其它行線為“1”,延時2MS左右,送第二列線代碼到P3端口,同時置第二行線為“0”,其它行線為“1”,延時2MS左右,如此下去,直到送完最后一列代碼,又從頭開始送。4。2.2顯示程序設(shè)計(jì)靜態(tài)顯示只需在定時中斷處理程序中從顯示緩沖區(qū)調(diào)入相應(yīng)的一行顯示數(shù)據(jù),然后選中該行即可實(shí)現(xiàn)該行的顯示,如此循環(huán),便可顯示整個內(nèi)容。滾動顯示要求需要顯示的內(nèi)容每隔一定時間向指定方向(這里以從右向左為例)移動一列,這樣顯示屏可以顯示更多的內(nèi)容。為此,需要在下次移動顯示之前對顯示緩沖區(qū)的內(nèi)容進(jìn)行更改,從而完成相應(yīng)點(diǎn)陣數(shù)據(jù)的移位操作。具體操作方法是:設(shè)置一個顯示緩沖區(qū)(如圖4。3顯示原理圖所示),該區(qū)應(yīng)包括兩部分:一部分用來保存當(dāng)前LED顯示屏上顯示的10個漢字點(diǎn)陣數(shù)據(jù);另一部分為點(diǎn)陣數(shù)據(jù)預(yù)裝載區(qū),用來保存即將進(jìn)入LED顯示屏的1個漢字的點(diǎn)陣數(shù)據(jù)。滾動指針始終指向顯示屏的最右邊原點(diǎn)。當(dāng)滾動指針移動到需要顯示的點(diǎn)陣數(shù)據(jù)存儲區(qū)的第1個漢字的首地址時,顯示緩沖區(qū)LED顯示區(qū)為空白,而預(yù)裝載區(qū)已保存了第1個待顯示漢字的點(diǎn)陣數(shù)據(jù).當(dāng)需要滾動顯示時,則可在接下來的掃描周期的每個行掃描中斷處理程序中,將對顯示緩沖區(qū)的相應(yīng)行點(diǎn)陣數(shù)據(jù)左移一位,同時更改顯示緩沖區(qū)的內(nèi)容。(需要注意的是,要確保該操作能在1.25MS的中斷時間內(nèi)完成。這里AT89S51采用24MHZ晶振,實(shí)驗(yàn)證明可以實(shí)現(xiàn)該操作)。這樣,在一個掃描周期后,整個漢字將左移一列,而顯示緩沖區(qū)的內(nèi)容也同時更改.由于預(yù)裝載區(qū)保存了1個漢字點(diǎn)陣數(shù)據(jù),即16×16點(diǎn)陣,所以當(dāng)前顯示緩沖區(qū)的內(nèi)容只能移動16列.當(dāng)下一個滾動到來時,滾動指針將移動到點(diǎn)陣數(shù)據(jù)存儲區(qū)的下一個漢字的首地址,并在預(yù)裝載區(qū)存入該漢字的點(diǎn)陣數(shù)據(jù)。然后重復(fù)執(zhí)行上述操作便可實(shí)現(xiàn)滾動顯示。特殊字符或圖形的顯示與此類似,這里不再贅述.…………需要顯示的內(nèi)容LED顯示窗口預(yù)裝載點(diǎn)陣數(shù)據(jù)滾動指針圖4。3顯示原理圖打字顯示要求漢字在顯示屏上按從左到右的順序一個個的出現(xiàn),如同打字的效果。設(shè)計(jì)時可采用如下方法:首先將LED顯示屏對應(yīng)的顯示緩沖區(qū)全部清零,即LED顯示空白,然后每間隔一個“軟定時器"設(shè)定的動態(tài)顯示時間,顯示緩沖區(qū)依次加入一個漢字點(diǎn)陣數(shù)據(jù)并進(jìn)行掃描顯示這樣就可達(dá)到打字顯示的效果.下圖為顯示程序流程框圖。如圖4。4顯示驅(qū)動程序流程圖所示.進(jìn)入中斷進(jìn)入中斷定時器賦初值讀取行信號曾1送信行顯示數(shù)據(jù)消隱切換顯示數(shù)據(jù)送信行號、打開顯示中斷返回圖4。4顯示驅(qū)動程序流程圖4.2.3漢字的取模漢字一般是以點(diǎn)陣式存儲的,對于16點(diǎn)陣字模,就是把漢字寫在一個16×16的網(wǎng)格內(nèi),漢字的筆畫通過某網(wǎng)格時該網(wǎng)格就對應(yīng)1,否則該網(wǎng)格對應(yīng)0,這樣每一網(wǎng)格均對應(yīng)1或0,把對應(yīng)1的網(wǎng)格連起來看,就是這個漢字。實(shí)現(xiàn)點(diǎn)陣技術(shù)在LCD屏幕顯示的關(guān)鍵是,如何通過漢字的機(jī)內(nèi)碼檢索到該點(diǎn)陣位置。ASCII字符表從第161個至255個字符(即94個字符)之間為非常用字符,將其作為漢字標(biāo)識符.并規(guī)定每兩個字節(jié)組成一個漢字,即可組成94×94=8836個漢字。161至255的字符被分成94個區(qū),每個區(qū)的數(shù)值就是區(qū)碼,每個區(qū)又分成94位,每個位的數(shù)值就是位碼。同時,我們將組成字符的兩個字節(jié)的數(shù)值稱為漢字的機(jī)內(nèi)碼,分別稱為高字節(jié)內(nèi)碼和低字節(jié)內(nèi)碼。機(jī)內(nèi)碼與區(qū)位碼之間的聯(lián)系在于:區(qū)碼=高字節(jié)內(nèi)碼-160,位碼=低字節(jié)內(nèi)碼—160.因?yàn)闈h字是按94個區(qū)、位劃分的,所以記錄號(漢字在字庫中的位置)=(區(qū)碼-1)×94+(位碼—1)。在16點(diǎn)陣字中,漢字的實(shí)際位置為記錄號×32L.因此可以得出漢字機(jī)內(nèi)碼與W29C020中16點(diǎn)陣漢字的地址空間之間的數(shù)學(xué)關(guān)系如下:漢字點(diǎn)陣起始位置=[(高字節(jié)內(nèi)碼-0XA1)×94+(低字節(jié)內(nèi)碼—0XA1)]×32L。從該起始位置的連續(xù)32字節(jié)單元即為該漢字機(jī)內(nèi)碼對應(yīng)的漢字點(diǎn)陣庫。4.3上位機(jī)軟件設(shè)計(jì)開機(jī)初始開機(jī)初始讀取24C256標(biāo)志位判斷是否處于通信狀態(tài)讀取顯示內(nèi)容顯示過程判斷是否有中斷標(biāo)志位等待圖4.5上位機(jī)通信軟件流程圖單片機(jī)89S51的串行端口有4種工作方式,通過編程設(shè)計(jì),可以使其工作在任一方式,以滿足不同場合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的I/O電路;方式1主要用于雙機(jī)之間或外設(shè)電路的通信;方式2

、3

除有方式1的功能外,還可用作多機(jī)通信,以構(gòu)成多微機(jī)系統(tǒng),方式2

、3的區(qū)別在于波特率的不同。

單片機(jī)的串行通信的波特率可以程控設(shè)定,在不同的工作方式下,由時鐘振蕩頻率的分頻值或由定時器T1的定時溢出時間確定。

單片機(jī)的串行端口有2個控制寄存器,用來設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的波特率以及中斷標(biāo)志TI和RI.單片機(jī)的串行端口有1個數(shù)據(jù)寄存器SBUF,該寄存器為發(fā)送和接收所共有,在一定條件下,向SBUF寫入數(shù)據(jù)就啟動了發(fā)送過程,讀SBUF就啟動了接收過程。

單片機(jī)可以采用循環(huán)方式或中斷方式實(shí)現(xiàn)串行數(shù)據(jù)的傳送。在循環(huán)方式下,單片機(jī)循環(huán)對數(shù)據(jù)寄存器

SBUF

進(jìn)行讀寫來實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送;在中斷方式下,對方式1

、2來說,1幀數(shù)據(jù)發(fā)送或接收完后,TI/RI

自動置1,請求串行中斷,若CPU響應(yīng)中斷,則執(zhí)行串行中斷服務(wù)程序,并把

TI/RI

清0以再次響應(yīng)中斷。對在方式2

、

3下的接收,還要視串口控制寄存器SCON的設(shè)置才可確定RI是否被置位以及串口中斷是否開放.

實(shí)時控制中,由于事件的突發(fā)性,常采用中斷的方式進(jìn)行數(shù)據(jù)傳送,中斷方式能更大限度地提高資源的利用率,使

CPU

在不進(jìn)行數(shù)據(jù)通信時做其他的工作。下面重點(diǎn)介紹單片機(jī)在方式

1

下的中斷方式編程。

方式1是10位異步通信方式,其中包括1個起始位,8個數(shù)據(jù)位和1個停止位。波特率由定時器T1的溢出率和串口控制寄存器SMOD的狀態(tài)確定,在

CPU

的晶振為

11。0592MHZ

時,波特率常采用

9600B/S

。

對SBUF進(jìn)行寫操作就可啟動發(fā)送,在發(fā)送移位時鐘的同步下,從TXD先送出起始位,然后是8位數(shù)據(jù)位,最后是停止位,這樣,1幀數(shù)據(jù)發(fā)送完,中斷標(biāo)志

TI

置位。

在允許接收的條件下(REN=1),當(dāng)RXD出現(xiàn)由1到0的負(fù)跳變時,即被當(dāng)成是串行發(fā)送來的1幀數(shù)據(jù)的起始位,從而啟動1次接收過程。當(dāng)8位數(shù)據(jù)接收完,并檢測到高電平停止位后,即把收到的

8位數(shù)據(jù)裝入SBUF,置位RI,1幀數(shù)據(jù)的接收過程就完成了.具體軟件程序見附錄B。上位機(jī)軟件由VC++編寫,通過API函數(shù)來實(shí)現(xiàn)二進(jìn)制數(shù)的傳輸。本課題主要實(shí)現(xiàn)單片機(jī)工作原理與過程,故不詳細(xì)列出VC++的程序設(shè)計(jì).第5章測試5.1硬件測試同過焊接好的電路板,測試各個模塊兒是否能實(shí)現(xiàn)其預(yù)定的功能.再進(jìn)行細(xì)微的調(diào)整。5.2軟件測試通過KEIL軟件對程序進(jìn)行分模塊測試和整合模塊測試,主要測試語法是否有誤.再進(jìn)行細(xì)微的調(diào)整。5。3測試結(jié)果此次測試結(jié)果較好,整體可以顯示漢字的移動和讀取.期間有上位機(jī)字模讀取不全的現(xiàn)象,經(jīng)過對程序的調(diào)整得以改善。LED顯示屏亮度不夠,通過調(diào)節(jié)掃描頻率和加大上拉電阻阻值來改善效果。但仍有LED顯示屏工作時閃爍的現(xiàn)象,不夠穩(wěn)定。結(jié)論通過十四周的畢業(yè)設(shè)計(jì),本課題的設(shè)計(jì)內(nèi)容基本完成,并取得了成功。實(shí)現(xiàn)了通過單片機(jī)的端口與代碼控制,和外圍電路譯碼器和數(shù)據(jù)存儲器的轉(zhuǎn)換顯示漢字和圖案的效果.動態(tài)掃描可以更好的實(shí)現(xiàn)數(shù)據(jù)在LED點(diǎn)陣屏上的靈活控制,也便于數(shù)據(jù)的穩(wěn)定傳輸。單片機(jī)與PC機(jī)的搭配完成了點(diǎn)陣屏的各種顯示移動,而且可以更大地?cái)U(kuò)展外擴(kuò)設(shè)備實(shí)現(xiàn)更完善的功能。體現(xiàn)了單片機(jī)的強(qiáng)大功能,但是也體現(xiàn)了其自身的不足。由于自身的集成度高,內(nèi)存容量小,不得不外擴(kuò)存儲器,影響了整體的集成度和易操作性能??梢酝ㄟ^改善單片機(jī)的自身性能來提高控制程度,也可以集成外擴(kuò)設(shè)備予以使用。LED的顯示屏近些年來得到了,廣泛的發(fā)展,但是其小集成度的使用還不是很廣泛。應(yīng)該提高小集成度的LED顯示屏,并改善其顏色的分辨率,使其在集成度密集的情況下顯示更多的顏色,從而接近于LCD的顯示屏的顏色分辨率效果.通信方面,可通過遠(yuǎn)程的通信協(xié)議或者無線協(xié)議,來控制LED顯示屏的顯示實(shí)現(xiàn);也可通過加入傳感器實(shí)現(xiàn)觸摸控制裝置,使LED顯示屏的發(fā)展更人性化和多端化。致謝經(jīng)過4個月的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有陳導(dǎo)師的督促指導(dǎo),以及唐國華老師在對我的畢業(yè)設(shè)計(jì)題目的開篇指導(dǎo),成功完成這個題目想必是很難的。在這里首先要感謝我的導(dǎo)師——陳雪嬌老師。陳老師平日里工作繁多,但在我做畢業(yè)設(shè)計(jì)的每個階段,從外出HYPERLINK”http:///gw/index/index_304。html"實(shí)習(xí)到查閱資料,設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),論文的寫作等整個過程中都給予了我悉心的指導(dǎo)。我的設(shè)計(jì)較為復(fù)雜煩瑣,但是陳老師仍然細(xì)心地糾論文中的錯誤。除了敬佩陳老師的專業(yè)水平外,她的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。

其次要感謝唐國華老師,他在本次設(shè)計(jì)中給予了我極大的幫助,為我提出了很有建設(shè)性的意見,糾正了我在設(shè)計(jì)上的彎路。他對知識的把握和靈活的運(yùn)用,是我今后要學(xué)習(xí)的標(biāo)榜。還要感謝大學(xué)四年來所有的老師,為我們打下電子信息專業(yè)知識的基礎(chǔ);同時還要感謝所有的同學(xué)們,正是因?yàn)橛辛四銈兊闹С趾凸膭?。此次畢業(yè)設(shè)計(jì)才會順利完成。

最后感謝遼寧科技大學(xué)和我的母校——遼寧科技大學(xué)信息技術(shù)學(xué)院四年來對我的大力栽培。參考文獻(xiàn)[1]閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1999.[2]陳麗紅,佘水寶.PC機(jī)與8031單片機(jī)串行通信的新方法[J].電測與儀表,2005.[3]孫涵方.MCS—5196系列單片機(jī)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.[4]陳汝全,劉運(yùn)國,雷國君.單片機(jī)實(shí)用技術(shù)[M].北京:電子出版社,2005.[5]范意之,陳立元.VisualBasic與RS—232串行通信控制[M].北京:清華大學(xué)出版社,2005.[6]周志敏,周紀(jì)海,紀(jì)愛華.LED驅(qū)動電路與應(yīng)用[M].北京:人民郵電出版社,2006.[7]D.Karlins.BuildYourOwnWebSite[M].McGraw-HillOsborneMedia,2006,1.[8]李勛.單片微型計(jì)算機(jī)[M].北京:北京航空航天大學(xué)出版社,2006.[9]郭柯葳.基于89C54單片機(jī)的LED點(diǎn)陣顯示屏設(shè)計(jì)[EB/OL].http:///html/20040630/94406。shtml.2007-08—16/2007-11-21。[10]HerbertSchildt,王曦若譯.C語言大全[M].北京:電子工業(yè)出版社。2007.[11]勒梔,劉全.基于51系列單片機(jī)的LED顯示屏開發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2009,2.[12]茶堂小廝.VB實(shí)現(xiàn)PC與單片機(jī)串口通信.[EB/OL]./user3/sige/archives/2006/1488。shtml,2007.5附錄ASerialCommunication—CommunicationProtocolTheso—calledcommunicationprotocolisameansofcommunicationbetweenthetwosidesagreed。Agreement,includingthedataformat,synchronousmodeoftransmissionspeed,transmissionsteps,seizedcontroloferrorcorrection,andthecharacterstomakethedefinitionofuniformprovisionsonsuchissues,bothsidesmustworktogethertocomplywithcommunications。Therefore,communicationcontrol,alsoknownasapointoforder,ortransmissioncontrolprotocols,itissevenISO'SOSIreferencemodeldatalinklayer.Twotypes:asynchronousandsynchronousprotocolagreement.Character—orientedsynchronousprotocolandbit—orientedandbytecountforthree。Amongthem,thecountbyte—orientedsynchronousprotocolmainlyusedinDEC’snetworkarchitecture。First,thephysicalinterfacestandard1。Serialcommunicationinterfaceofthebasictasks(1)dataformat:BecausefromtheCPUisanordinaryparalleldata,sotheinterfacecircuitshouldhaveadifferentmodeofserialcommunicationdataformattingtasks.Intheasynchronouscommunicationmode,theinterfaceautomaticallygeneratedstart—stoptypeofframedataformat.Character-orientedsynchronousmode,theinterfacetosendthedatablockstobeaddedbeforesynchronizationcharacters。(2)series-andtheconversion:theserialtransmissionofdataisatransmissionofaserial,andparallelcomputerprocessingdataisdata.Therefore,whendatafromthecomputertothedatatransmitter,thefirstserialdataconvertedtoparallelthenumberofcomputerprocessingtosend。ThereforeSERDESserialinterfacecircuitisanimportanttask。(3)controldatatransferrate:Serialcommunicationsinterfacecircuitshouldhavethedatatransferrate-baudrateforchoiceandcontrolcapabilities.(4)forerrordetection:whentheinterfacecircuitinthesendingofcharacterstosenddataautomaticallygeneratedparitybitorotherparity-checkcodes.Inthereceiver,theinterfacecircuitoftheparitycheckcharacterorotherparity-checkcodestodeterminewhethertransmissionerrorsoccurred.(5)withtheEIAtoTTLlevelconversion:CPUandterminalsareusedandareTTL-levellogic,theyareusedinEIAandnegativelogiclevelsarenotcompatible,needtobeconvertedintheinterfacecircuit。(6)toprovideEIA—RS-232Cinterfacestandardrequiredbythesignallines:long—distancecommunicationusingMODEMneedninesignallines;closeapproachzeroMODEM,onlythreesignallines.ThesesignallinesprovidedbytheinterfacecircuitinordertocontactMODEMorterminalsandcontrol。2,serialcommunicationinterfacecircuitcomponentInordertocompletethetaskoftheabove-mentionedserialinterface,serialcommunicationinterfacecircuitgenerallyprogrammableserialinterfacechipbaudrategenerator,EIAandTTL-levelconverters,aswellasaddressdecodingcircuit.Amongthem,theserialinterfacechip,withthesuccessionoflarge-scalecircuittechnology,auniversalsynchronous(USRT)andasynchronous(UART)interfacechiptypesaremoreandmoreshowninthetablebelow.Theirbasicfunctionissimilar,canachievetheabove,theserialcommunicationinterfacetothebasictasksmostofthework,andareprogrammable.Onlyusethechipasaserialcommunicationinterfacecircuitcorechip,willrelativelysimplecircuitstructure.3。Relatingtothephysicalstandardsforserialcommunication(1)transferrate:theso-calledtransferratereferstothenumberofbitpersecondtransmission,transmissionrateisoftencalledthebaudrate.Internationalstandardprovidesforabaudrateseries,thestandardmostcommonlyusedbaudrateisbaudrate,standardbaudrate110,300,600,1200,4800,9600and19200series。ThemajorityofCRTterminalsareabletorangefrom110to9600baudrateintheworkofanykind。Printerspeedisrelativelyslowasaresultofmechanicaltransmissionofthebaudrateislimited,soingeneraltheworkofaserialprinterbaudrateinthe110,pointstylusprinterbecauseofitslargerfirmswithinthebufferzone,thewavecanbeashighas2400Printspeedreceivespecialinformation。Themajorityofinterfacebaudrateandsendthereceiverbaudratecanbesetup,andcanbeprogrammedtospecify。(2)RS—232-Cstandard:RS-232—Cofthetwoaspectsofthestandardrequirementthatthesignallevelstandardsandthedefinitionofcontrolsignallines。RS—232-Cprovidesthelogicoftheuseofnegativelogiclevel,signallevelandisusuallynottheTTL-levelcompatible,RS—232-Cwillbe-5V~—15Vprovidesforthe”1”,+5V~+15Vrequirementsfor"0。"StandardTTLandRS-232-Clevelbetweenthestandardconversion。RS-232C,RSEnglishmeans:Recommendedstandardacronym,whichmeansthestandardrecommendation。Cforthisagreementthatthethirdedition(1962version).(1)electricalcharacteristics.RS—232standardsignaltransmissionlengthofthelargestcable30M,RS—232Cdigitaltransmissionusingthenegativelogicandsymmetryandto.Logic1:—3~-15V(single-chipgeneral-10V),logic0:+3~+15V(single—chipmicrocomputerisgenerally+10V)。(2)theconversionlevel。Toadoptspecialchip。Theconceptofserialcommunicationisverysimple,serialbybit(bit)tosendandreceivebytes。Althoughmorethanbybyte(byte)ofparallelcommunicationslow,butcanuseaseriallinetosenddataatthesametimeanotherlinetoreceivedata.Itisverysimpleandcanachievelong-distancecommunications。Forexample,thedefinitionofIEEE488parallelaccessmode,thetotallineoftenprovidesequipmentshallnotbemorethan20meters,andbetweenanytwodevicesmaynotbemorethantwometersinlength;andintermsoftheserialport,upto1200metersinlength(RS485)。Typically,serialcodefortheASCIIcharactertransmission。3linesofcommunicationtousetocomplete:(1)ground,(2)send,(3)toreceive。Duetotheasynchronousserialcommunica

溫馨提示

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

評論

0/150

提交評論