LED廣告牌的單片機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁
LED廣告牌的單片機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁
LED廣告牌的單片機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁
LED廣告牌的單片機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁
LED廣告牌的單片機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

word文檔可自由復(fù)制編輯錄TOC\o"1-3"\h\u24675摘要 25825Abstract 217163第一章選題背景 131277第二章系統(tǒng)硬件設(shè)計(jì) 3251382.1硬件系統(tǒng)總體設(shè)計(jì)方案 3321462.2STC89C52單片機(jī)選用 4322782.2.1STC89C52單片機(jī)的特性 4240142.3單片機(jī)最小系統(tǒng) 5203022.2.1時(shí)鐘晶振電路 5275242.3.2復(fù)位電路 673472.4列驅(qū)動(dòng) 7122612.4.174HC154芯片的特性 765302.4.2列驅(qū)動(dòng)電路 9278432.5LED點(diǎn)陣顯示屏設(shè)計(jì) 1055422.7Proteus仿真軟件的運(yùn)用 11312842.7.1Proteus仿真軟件簡介 1164832.7.2Proteus環(huán)境下的原理圖 12220932.7.3仿真圖 1336582.8AltiumDesigner軟件的運(yùn)用 1327784第三章系統(tǒng)軟件設(shè)計(jì) 15149463.1系統(tǒng)顯示原理 15197613.2程序框圖 1753453.4循環(huán)程序的設(shè)計(jì) 1876583.5延時(shí)程序的設(shè)計(jì) 193093.6指針程序的設(shè)計(jì) 20163953.7暫停程序的設(shè)計(jì) 21239573.8KeiluVision軟件的運(yùn)用 2231305第四章調(diào)試與分析 24312084.1硬件調(diào)試與分析 2463454.1.1LED點(diǎn)陣顯示屏引腳的確定 24179454.1.2燒入程序 25140154.1.3操作失誤與總結(jié) 26306474.2軟件調(diào)試與分析 26179224.2.1拖尾現(xiàn)象 2624914.2.2指針終點(diǎn)設(shè)置錯(cuò)誤造成亂碼 2719513第五章總結(jié) 2820340謝辭 2919093參考文獻(xiàn) 3023530附錄 3111314附錄A動(dòng)態(tài)顯示程序 3118739附錄B靜態(tài)顯示程序 3714480附錄C調(diào)試程序 38摘要隨著LED顯示技術(shù)和現(xiàn)代交通業(yè)的發(fā)展,應(yīng)用于交通領(lǐng)域的LED點(diǎn)陣顯示系統(tǒng)日益廣泛。作為旅客獲取信息的重要媒介,LED點(diǎn)陣顯示屏的應(yīng)用非常普遍,例如:鐵路旅客引導(dǎo)顯示系統(tǒng)、鐵路車廂信息發(fā)布顯示屏、公交車輛信息發(fā)布顯示屏、地鐵乘客信息顯示屏,出租車車頂信息發(fā)布屏等。本設(shè)計(jì)是基于STC89C52單片機(jī)設(shè)計(jì)的16*16LED點(diǎn)陣顯示屏。通過單片機(jī)P0口和P2口給LED顯示屏發(fā)送行信號(hào),74HC154芯片作為列掃描驅(qū)動(dòng)對(duì)LED顯示屏進(jìn)行掃描,實(shí)現(xiàn)漢字及圖案的顯示。通過指針偏移量事項(xiàng)圖像的滾動(dòng)循環(huán)顯示。關(guān)鍵詞:點(diǎn)陣LED,STC89C52,74HC154AbstractWiththedevelopmentofLEDdisplaytechnologyandmoderntransportation,appliedtothetrafficfieldLEDdotmatrixdisplaysystemisbecomingmorewidely.Asavehiclepassengeraccesstoinformation,applicationofLEDdotmatrixdisplayisverycommon,forexample:RailwayPassengerguidesystem,railwaycarriageinformationdisplay,vehicleinformationdisplay,thesubwaypassengerinformationdisplay,informationonataxiroofdisplayscreenetc..ThisdesignisSTC89C52microcontroller16*16dotmatrixdisplaybasedonLED.TheLEDdisplayscreenandsendasignaltothemicrocontrollerP0portandP2port,74HC154chipastherowscandrivetoscantheLEDdisplayscreen,displayChinesecharactersandpatterns.Throughtherollingcyclepointeroffsetsmattersimagedisplay.Keywords:LED,STC89C52,74HC154word文檔可自由復(fù)制編輯第一章選題背景 LED就是lightemittingdiode,發(fā)光二極管的英文縮寫,簡稱LED。它是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,其大概的樣子就是由很多個(gè)通常是紅色的發(fā)光二極管組成,靠燈的亮滅來顯示字符。LED顯示屏用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。由于LED顯示屏因?yàn)槠湎袼貑卧侵鲃?dòng)發(fā)光的,具有亮度高、視角廣、工作電壓低、功耗小、壽命長、耐沖擊和性能穩(wěn)定等優(yōu)點(diǎn)。因而被廣泛應(yīng)用于車站、碼頭、機(jī)場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。LED顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。據(jù)報(bào)道,由于發(fā)光二極管(LED)用于廣告牌具有亮度高、壽命長和節(jié)能的特點(diǎn),雖然其初裝價(jià)格較高,但日本一些燈具生產(chǎn)商和廣告牌經(jīng)營者正看好這一產(chǎn)品,并努力開發(fā)相關(guān)市場。LED節(jié)能環(huán)保的優(yōu)點(diǎn)與當(dāng)今越來越受重視的環(huán)保意識(shí)不謀而合,因此LED的應(yīng)用前景良好。LED的設(shè)計(jì)使用也不斷的得到改善,以更好的適應(yīng)社會(huì)需求。本文以汽車LED廣告牌的單片機(jī)控制系統(tǒng)設(shè)計(jì)為題,將介紹該方案的硬件設(shè)計(jì)思路,硬件電路各個(gè)部分的功能,原理以及程序設(shè)計(jì)等。下圖為LED在生活中的應(yīng)用。圖1-1出租車后的LED廣告牌圖1-2公交車內(nèi)的LED顯示屏圖1-3出租車頂棚的LED廣告牌圖1-4大巴車后的LED廣告牌word文檔可自由復(fù)制編輯第二章系統(tǒng)硬件設(shè)計(jì)2.1硬件系統(tǒng)總體設(shè)計(jì)方案要顯示中文字,需要4片8×8的點(diǎn)陣顯示器組合成16×16的點(diǎn)陣顯示器才能完整的顯示一個(gè)中文字。如圖2-1為整個(gè)系統(tǒng)的電路框架圖。圖2-1顯示電路框架圖從理論上講,只要控制與組成這些圖形或文字的各個(gè)所在位置相對(duì)應(yīng)的器件發(fā)光,就可以得到想要的顯示結(jié)果,這種同時(shí)控制各個(gè)發(fā)光點(diǎn)亮滅的方法稱為靜態(tài)驅(qū)動(dòng)顯示方式。把行列總線接在單片機(jī)的I/0口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。但是若將LED點(diǎn)陣的行列端口全部直接接入89C52單片機(jī),則需要使用32條I/0口,這樣會(huì)造成I/0口資源的耗盡,系統(tǒng)也再無擴(kuò)充的余地。因此,我們?cè)趯?shí)際應(yīng)用中只是將LED點(diǎn)陣的16條行線直接接在P0口和P2口,至于列選掃描信號(hào)則是由4—16線譯碼器74HCl54來選擇控制,這樣一來列選控制只使用了單片機(jī)的4個(gè)I/O口,節(jié)約了很多I/O口資源,為單片機(jī)系統(tǒng)擴(kuò)充使用功能提供了條件。本設(shè)計(jì)中,漢字掃描顯示的基本過程是這樣的:單片機(jī)89C52按照設(shè)定的程序在P0和P2接口輸出與內(nèi)部漢字對(duì)應(yīng)的代碼電平送至LED點(diǎn)陣的行選線(高電平驅(qū)動(dòng)),同時(shí)在P1.1,P1.2,P1.3,P1.4接口輸出列選掃描信號(hào)(低電平驅(qū)動(dòng)),即輪流給行信號(hào)輸出低電平,當(dāng)高電平與低電平接通,則該發(fā)光二極管亮。在任意時(shí)刻只有一行發(fā)光二極管是處于可以被點(diǎn)亮的狀態(tài),其它行都處于熄滅狀態(tài)。利用人眼的視覺暫留特性合成整個(gè)漢字的顯示。再改變?nèi)”淼刂穼?shí)現(xiàn)漢字的滾動(dòng)顯示。2.2STC89C52單片機(jī)選用2.2.1STC89C52單片機(jī)的特性STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8位CPU,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。以下為STC89C52單片機(jī)的引腳圖和實(shí)物圖。圖2-2單片機(jī)STC89C52引腳圖圖2-3單片機(jī)STC89C52實(shí)物圖STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。2.3單片機(jī)最小系統(tǒng)一般來說,單片機(jī)的最小系統(tǒng)包括電源,晶振,復(fù)位電路。有了以上三塊內(nèi)容,單片機(jī)就能夠工作了。另外要注意的一點(diǎn)是,EA腳也要接高電平,告訴單片機(jī)不使用片外存儲(chǔ)器,這樣單片機(jī)系統(tǒng)才會(huì)老老實(shí)實(shí)地執(zhí)行我們所燒寫進(jìn)去的程序。2.2.1時(shí)鐘晶振電路單片機(jī)XTAL1腳和XTAL腳是外部接晶振的兩個(gè)引腳,通常在接一個(gè)晶振的同時(shí)要在晶振的兩個(gè)腳接兩個(gè)電容,這兩個(gè)電容叫晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,一般在幾十皮法。它會(huì)影響到晶振的諧振頻率和輸出幅度,使晶振頻率更加穩(wěn)定。本設(shè)計(jì)中,單片機(jī)晶振采用12MHz的頻率,以獲得較高的刷新率,使顯示更加穩(wěn)定。如圖2-4所示為單片機(jī)的時(shí)鐘晶振電路原理圖。圖2-4單片機(jī)的時(shí)鐘電路

2.3.2復(fù)位電路本設(shè)計(jì)采用上電復(fù)位的方式實(shí)現(xiàn)復(fù)位。上電復(fù)位電路由電容串聯(lián)電阻構(gòu)成,由圖3-4所示,并結(jié)合“電容電壓不能突變”的性質(zhì),可以知道:當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來決定。典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位。所以我們只要適當(dāng)組合RC的取值就可以保證可靠的復(fù)位。一般文獻(xiàn)推薦C取10uF,R取8.2K。本設(shè)計(jì)中我們采用C取10u法拉,R取10K歐姆。如圖2-5為單片機(jī)的復(fù)位電路原理圖。圖2-5單片機(jī)復(fù)位電路

2.4列驅(qū)動(dòng)2.4.174HC154芯片的特性74HC154是一款高速CMOS器件,74HC154引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC154譯碼器可接受4位高有效二進(jìn)制地址輸入,并提供16個(gè)互斥的低有效輸出。74HC154的兩個(gè)輸入使能門電路可用于譯碼器選通,以消除輸出端上的通常譯碼“假信號(hào)”,也可用于譯碼器擴(kuò)展。該使能門電路包含兩個(gè)“邏輯與”輸入,必須置為低以便使能輸出端。任選一個(gè)使能輸入端作為數(shù)據(jù)輸入,74HC154可充當(dāng)一個(gè)1-16的多路分配器。當(dāng)其余的使能輸入端置低時(shí),地址輸出將會(huì)跟隨應(yīng)用的狀態(tài)。以下為74HC154的引腳圖和實(shí)物圖。圖2-6譯碼器74HC154引腳圖圖2-774HC154實(shí)物圖引腳說明:1-1113-17:輸出端。(outputs(activeLOW))18-19:使能輸入端、低電平有效(enableinputs(activeLOW))20-23地址輸入端(addressinputs)24:VCC電源正(positivesupplyvoltage)表2-1譯碼器74HC154真值表需要注意的是,只要控制端G1、G2任意一個(gè)為高電平,A、B、C、D任意電平輸入都無效。G1、G2必須都為低電平才能操作芯片。

2.4.2列驅(qū)動(dòng)電路由于16x16點(diǎn)陣顯示器有16行,為充分利用單片機(jī)的接口,本電路中加入了一個(gè)4-16線譯碼器74HC154,其輸入是一個(gè)16進(jìn)制碼,解碼輸出為低態(tài)掃描信號(hào),把74HC154的G1口連接單片機(jī)89C52的P1.4引腳,來實(shí)現(xiàn)控制,G2引腳接地,然后以A、B、C、D四腳為輸入端。就會(huì)形成16種不同的輸入狀態(tài),分別為0000~1111,然后使每種狀態(tài)只控制一路輸出,即會(huì)有16路輸出。如圖2-8為驅(qū)動(dòng)電路在proteus仿真軟件中的電路原理圖。圖2-8驅(qū)動(dòng)電路原理圖2.5LED點(diǎn)陣顯示屏工作原理LED發(fā)光二極管,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的心臟是一個(gè)半導(dǎo)體的晶片。以下為8*8點(diǎn)陣LED顯示屏的原理圖和結(jié)構(gòu)圖。圖2-9點(diǎn)陣LED原理圖圖2-108*8LED點(diǎn)陣正面圖圖2-118*8LED點(diǎn)陣背面圖晶片的一端附在一個(gè)支架上,一端是負(fù)極,另一端連接電源的正極,使整個(gè)晶片被環(huán)氧樹脂封裝起來。半導(dǎo)體晶片由兩部分組成,一部分是P型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是N型半導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來的時(shí)候,它們之間就形成一個(gè)P-N結(jié)。當(dāng)電流通過導(dǎo)線作用于這個(gè)晶片的時(shí)候,電子就會(huì)被推向P區(qū),在P區(qū)里電子跟空穴復(fù)合,然后就會(huì)以光子的形式發(fā)出能量,這就是LED燈發(fā)光的原理。而光的波長也就是光的顏色,是由形成P-N結(jié)的材料決定的。2.7Proteus仿真軟件的運(yùn)用2.7.1Proteus仿真軟件簡介Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。如圖2-12為Proteus工作主界面圖。圖2-12proteus主界面在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。2.7.2Proteus環(huán)境下的原理圖本設(shè)計(jì)在Proteus系統(tǒng)下繪制的原理圖如圖2-13。圖2-13在Proteus下的原理圖

2.7.3仿真圖基于Proteus環(huán)境下仿真結(jié)果如圖2-14。圖2-14“機(jī)械09”字樣在Proteus系統(tǒng)下的仿真圖2.8AltiumDesigner軟件的運(yùn)用2.8.1AltiumDesigner的簡介AltiumDesigner是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在WindowsXP操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì)者提供了全新的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高。圖2-15AltiumDesigner工作主界面圖2-16AltiumDesigner軟件環(huán)境下設(shè)計(jì)的原理圖圖2-17通過AltiumDesigner軟件繪制的PCB板圖第三章系統(tǒng)軟件設(shè)計(jì)3.1系統(tǒng)顯示原理每一個(gè)字由16行16列的點(diǎn)陣組成顯示,即國標(biāo)漢字庫中的每一個(gè)字均由256點(diǎn)陣來表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,

也可以顯示在256像素范圍內(nèi)的任何圖形。用8位的AT89C52單片機(jī)控制,

由于單片機(jī)的總線為8位,一個(gè)字需要拆分為2個(gè)部分如圖2-3所示。本電路把它拆分為左部和右部,左部由16(行)*8(列)點(diǎn)陣組成,右部也由16(行)*8(列)點(diǎn)陣組成。以顯示漢字“繁”為例,來說明其掃描原理:圖3-1點(diǎn)陣屏單片機(jī)首先由P2口輸出顯示數(shù)據(jù)信號(hào)給右部分的第一行如圖2-3所示,即第一行的P20P27口。方向?yàn)镻20到P27,顯示漢字“繁”時(shí),P21點(diǎn)亮,由左到右排,為P20滅,P21亮,P22滅,P23滅,P24滅,P25滅,P26滅,P27滅。即二進(jìn)制01000000,轉(zhuǎn)換為16進(jìn)制為0x40。右部分的第一行完成后,繼續(xù)掃描左半部的第一行,為了接線的方便,我們?nèi)栽O(shè)計(jì)成由左往右掃描,即從P00向P07方向掃描,從上圖可以看到,這一行只有P01亮,其它滅,即為01000000,16進(jìn)制則為0x40。然后單片機(jī)再次轉(zhuǎn)向右半部第二行,仍為P21點(diǎn)亮,為01000000,即16進(jìn)制0x40。這一行完成后繼續(xù)進(jìn)行左半部分的第二行掃描,P00滅,其他都點(diǎn)亮,為二進(jìn)制01111110,即16進(jìn)制0x7E。依照這個(gè)方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個(gè)8位,可以得出漢字“繁”的掃描代碼為:0x40,0x40,0x40,0x7E,0x7E,0x80,0x84,0x7E,0x48,0x53,0x28,0xFE,0x10,0x4A,0x28,0x7F,0x46,0x03,0x40,0x04,0x80,0x1F,0x20,0x02,0xF0,0x0F,0x10,0x01,0x20,0x09,0x10,0x13由這個(gè)原理可以看出,無論顯示何種字體或圖像,都可以用這個(gè)方法來分析出它的掃描代碼從而顯示在屏幕上。3.2程序框圖3.3字模提取軟件的運(yùn)用一個(gè)國標(biāo)漢字是由16X16即256個(gè)點(diǎn)(像素)來構(gòu)成的,顯示一個(gè)漢字該亮哪些點(diǎn)這些復(fù)雜的工作都交給取模軟件來完成,同時(shí),取模軟件也負(fù)責(zé)把要顯示的漢字轉(zhuǎn)化成程序中要用到的顯示代碼,代碼以一定的規(guī)律表征了該亮的點(diǎn)(用“1”表示)與不該亮的點(diǎn)(用“0”表示),一共256位。單片機(jī)負(fù)責(zé)將這些代碼一段一段有規(guī)律地送到LED屏。漢字的點(diǎn)陣字模是從點(diǎn)陣字庫文件中提取出來的,就可以顯示漢字了。本設(shè)計(jì)采用圖3-2和3-3所示軟件進(jìn)行取模:圖3-2字模提取圖3-3取模方式設(shè)置窗口3.4循環(huán)程序的設(shè)計(jì)為了是文字能夠在LED顯示屏上循環(huán)顯示,設(shè)計(jì)了程序如下:intoffset=0;//定義偏移量intcount=0;//定義次數(shù)if(count<60)//設(shè)置為每閃60次指針發(fā)生一次偏移 {count++; if(count==60) {count=0;//次數(shù)清零 offset+=2;//每次偏移量為2 if(offset>64)//指針終點(diǎn)offset=0;//偏移量歸零,重新開始循環(huán)} } count用來控制每次移位LED燈閃的次數(shù)。這里設(shè)置為60,即每移位一次,LED燈閃60次,然后再進(jìn)行下次移位。3.5延時(shí)程序的設(shè)計(jì)畫面的穩(wěn)定有兩個(gè)條件:顯示延長的時(shí)間應(yīng)控制在合理的范圍之內(nèi),時(shí)間小了會(huì)看不清畫面,時(shí)間大了畫面不連續(xù)。延時(shí)函數(shù)如下:voiddelay(void){intj;for(j=0;j<25;j++);

3.6指針程序的設(shè)計(jì)為了讓圖像實(shí)現(xiàn)滾動(dòng),設(shè)計(jì)了指針p加偏移量offset。當(dāng)偏移量發(fā)生變化,*(p+offset)也跟著變化,這樣指針就會(huì)指向下一個(gè)數(shù)組單元,實(shí)現(xiàn)滾動(dòng)顯示。offset的增量必須為2的倍數(shù),如果為奇數(shù),會(huì)出現(xiàn)左右屏交替顯示的現(xiàn)象。本設(shè)計(jì)將offset每次的偏移量設(shè)置為2,因?yàn)槿绻O(shè)置太大,滾動(dòng)會(huì)有加大的跳躍性,使畫面失去流暢性。voiddelay(void);voidmain(){char*p;//定義指針inti;intcount=0;p=&word_gu[0][0];//p指向數(shù)組起始點(diǎn)while(1){for(i=0;i<16;i++)//滾動(dòng)顯示程序{ P1=i;P2=*(p+offset+2*i);//左邊屏幕P0=*(p+offset+2*i+1);//右邊屏幕delay();//亮延時(shí)if(count<60) {count++; if(count==60) //滾動(dòng)速度,count越小越快 閃的次數(shù) { count=0; offset+=2; if(offset>64)offset=0;} }} } 從i=0到i=15,顯示完16行,并且重復(fù)60次后,指針偏移量+2,實(shí)現(xiàn)整體移位一行。依此執(zhí)行,直到執(zhí)行完數(shù)組全部單元,然后offset賦值0,即重頭開始執(zhí)行。這樣就實(shí)現(xiàn)了滾動(dòng)循環(huán)顯示。3.7暫停程序的設(shè)計(jì)sbitkey=P1^5;//定義開關(guān)引腳if(key==0)//開關(guān)處于斷開狀態(tài) { offset+=2;//每次偏移2個(gè)數(shù)組單元 if(offset>465)//循環(huán)顯示的終點(diǎn)offset=0;}//循環(huán)初始化 if(key==1)//開關(guān)閉合 {offset=offset;//偏移量不發(fā)生變化 }當(dāng)開關(guān)被按下,key=1,偏移量將保持當(dāng)時(shí)的數(shù)值,指針停止偏移,即完成了顯示的停止?jié)L動(dòng),保留當(dāng)前畫面。重新將開關(guān)斷開,key=0,指針偏移量的增量恢復(fù)為+2,畫面將繼續(xù)滾動(dòng)。

3.8KeiluVision軟件的運(yùn)用KeiluVision是德國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開發(fā)周期,KEILC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時(shí)保留了匯編代碼高效,快速的特點(diǎn)。C51已被完全集成到uVision的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVisionIDE可為它們提供單一而靈活的開發(fā)環(huán)境。圖3-4KeiluVision的操作主界面圖3-5運(yùn)用KeiluVision編程本設(shè)計(jì)采用KeiluVision軟件輔助設(shè)計(jì)是因?yàn)樵撥浖幸粋€(gè)優(yōu)點(diǎn),該軟件能將我們編的程序生成HEX文件,HEX文件也可以直接運(yùn)用于proteus仿真。如圖3-6為運(yùn)用KeiluVision軟件生成HEX文件的設(shè)置。圖3-6KeiluVision編程軟件生成HEX文件

第四章調(diào)試與分析4.1硬件調(diào)試與分析4.1.1LED點(diǎn)陣顯示屏引腳的確定LED點(diǎn)陣顯示屏的引腳分布圖并不是像原理圖那樣行與列分開分布的,而是交錯(cuò)分布。在實(shí)際運(yùn)用中,需要先用萬用表測出其引腳分布才能正確的連接。用一個(gè)9V的電池,串聯(lián)一個(gè)1K的電阻,然后一個(gè)一個(gè)引腳的測試。先給LED點(diǎn)陣各行各列編號(hào)。我將列用字母A到H表示,行用數(shù)字1-8表示。如圖4-1所示,將電源正極連接引腳上方第一個(gè)引腳,然后用電池的負(fù)極去依次接觸各個(gè)引腳,發(fā)現(xiàn)上方第一引腳是點(diǎn)陣第八列的陽極,標(biāo)注+H,并且通過這個(gè)引腳,確定了每一行陰極所在的引腳。分別標(biāo)記-1—-8。然后根據(jù)這個(gè)方法,測出了所有引腳所連接的行與列,并編號(hào)。如圖4-1為測試引腳過程中,手繪的引腳分布示意圖。圖4-1LED各引腳極性分布圖

4.1.2燒入程序程序的下載使用的硬件是學(xué)習(xí)板TX-1CHC,軟件是STC_ISP。打開軟件STC_ISP,選擇型號(hào)為STC89C52的單片機(jī),然后打開整理在Keil軟件里編譯好的HEX程序。然后用USB數(shù)據(jù)線將學(xué)習(xí)板與電腦連接起來,選擇COM口與電腦的相互對(duì)應(yīng)。接著點(diǎn)擊下載。當(dāng)提示與單片機(jī)上電的時(shí)候,打開學(xué)習(xí)板的開關(guān),在這之前不能打開開關(guān),不然容易造成電腦死機(jī),或者程序下載不進(jìn)去。當(dāng)提示已加密,就表示程序已經(jīng)下載完成。如圖4-2為TX-1CHC學(xué)習(xí)板,4-3為STC_ISP軟件。圖4-2TX-1CHC學(xué)習(xí)板圖4-3STC_ISP軟件窗口

4.1.3操作失誤與總結(jié)由于以前從未接觸過焊接,缺乏焊接技術(shù),在焊接的過程中經(jīng)常出現(xiàn)短焊,虛焊等問題,甚至因?yàn)榻渝e(cuò)時(shí)間太長,把L7805C芯片燒壞。焊接時(shí)應(yīng)使電烙鐵的溫度高于焊錫的溫度,但也不能太高,以烙鐵頭接觸松香剛剛冒煙為好。焊接時(shí)間太短,焊點(diǎn)的溫度過低,焊點(diǎn)融化不充分,焊點(diǎn)粗糙容易造成虛焊,反之焊接時(shí)間過長,焊錫容易流淌,并且容易使元件過熱損壞元件。

焊接點(diǎn)上的焊錫數(shù)量不能太少,太少了焊接不牢,機(jī)械強(qiáng)度也太差。而太多容易造成外觀一大堆而內(nèi)部未接通。焊錫應(yīng)該剛好將焊接點(diǎn)上的元件引腳全部浸沒,輪廓隱約可見為好。

不要用電烙鐵在焊接處來回移動(dòng)或者用力擠壓。正確的方法是用電烙鐵的搪錫面去接觸焊接點(diǎn),這樣傳熱面積大,焊接速度快。4.2軟件調(diào)試與分析4.2.1拖尾現(xiàn)象在滾動(dòng)顯示的過程中,發(fā)現(xiàn)在切換行顯示數(shù)據(jù)的時(shí)候產(chǎn)生拖尾現(xiàn)象,通過多次調(diào)試都無法解決該問題,于是決定在切換行前先關(guān)閉列驅(qū)動(dòng)器。并且延時(shí),以此來消除切換行過程中,在人眼中產(chǎn)生的殘影。從而實(shí)現(xiàn)消隱。設(shè)計(jì)程序如下:for(i=0;i<16;i++){ P1=i; P0=*(p+offset+2*i+1);//右邊 P2=*(p+offset+2*i);//左邊 delay(); P1_4=1; delay();}在切換行是,給P1.4賦值1,使P1.4引腳輸出高電平,關(guān)閉74HC154芯片,從而關(guān)閉了屏幕的顯示。4.2.2指針終點(diǎn)設(shè)置錯(cuò)誤造成亂碼在程序設(shè)計(jì)的過程中,因?yàn)闇p少了顯示字?jǐn)?shù),忘記了更改指針偏移量的終點(diǎn)值,導(dǎo)致顯示完成預(yù)定文字之后,尾隨著顯示亂碼。if(count<60) {count++; if(count==60) { count=0; offset+=2; if(offset>465)offset=0;}Offset的終點(diǎn)值應(yīng)該等于數(shù)組總長度-2×i-1,即數(shù)組長度-31。

第五章總結(jié)本設(shè)計(jì)的研究內(nèi)容:一、通過查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,清楚地了解了LED顯示屏與其它顯示屏相比較有哪些優(yōu)點(diǎn)。二、通過本次畢業(yè)設(shè)計(jì),我掌握了有關(guān)單片機(jī)控制的設(shè)計(jì)思想和設(shè)計(jì)方法,對(duì)STC89C51,74HC154等芯片有了更近進(jìn)一步的了解,并對(duì)其進(jìn)行測試和加以應(yīng)用學(xué)習(xí),從而獲得了新的知識(shí)。三、本文設(shè)計(jì)的LED顯示屏能夠?qū)崿F(xiàn)在目測條件下LED顯示屏各點(diǎn)亮度均勻充足,而且顯示時(shí)穩(wěn)定、清晰無串?dāng)_。顯示效果有靜止、移入移出等。四、本文給出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體C語言程序設(shè)計(jì)等方面。五、通過這次畢業(yè)設(shè)計(jì),重新復(fù)習(xí)并進(jìn)一步學(xué)習(xí)了單片機(jī)的內(nèi)容,熟練掌握了Proteus、KeiluVision、和AltiumDesigner等軟件的使用。另外,關(guān)于本次畢業(yè)設(shè)計(jì),由于設(shè)計(jì)經(jīng)驗(yàn)的不足和所掌握知識(shí)的限制,此設(shè)計(jì)已能實(shí)現(xiàn)字符和漢字的滾動(dòng)顯示等方面的工作,但這個(gè)只是相對(duì)簡單的左移顯示功能,還不能做比較復(fù)雜的顯示,某些功能設(shè)計(jì)構(gòu)想還沒有完整的表達(dá)出來,比如快進(jìn),后退等。

謝辭本論文是在趙衛(wèi)老師的精心指導(dǎo)下完成的。感謝趙老師在設(shè)計(jì)的選題、方案的確定、設(shè)計(jì)的進(jìn)行以及最后的說明書的撰寫整個(gè)過程中給予我細(xì)心的指引和教導(dǎo),使我對(duì)LED顯示屏控制系統(tǒng)的設(shè)計(jì)有了深刻的認(rèn)識(shí),并在趙老師的幫助下學(xué)會(huì)了Proteus、KeilC、和AltiumDesigner等軟件的使用,并最終完成畢業(yè)設(shè)計(jì)。導(dǎo)師淵博的知識(shí)、敏銳的學(xué)術(shù)思維、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的科學(xué)理念和工作作風(fēng)以及創(chuàng)新的工作精神,令我終身受益,是我畢生學(xué)習(xí)的典范,值此畢業(yè)設(shè)計(jì)完成之際,謹(jǐn)向趙衛(wèi)老師致以崇高的敬意和衷心的感謝!

在四年的大學(xué)生涯里,還得到眾多老師的關(guān)心支持和幫助,在此,謹(jǐn)向老師們致以崇高的敬意!感謝父母對(duì)我二十多年來辛勤的養(yǎng)育,并讓我獲取了一定的知識(shí)并最終走向社會(huì)為社會(huì)貢獻(xiàn)自己!最后,我要向在百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱、評(píng)議和參加本人論文答辯的各位老師表示衷心的感謝!

參考文獻(xiàn)[1]范風(fēng)強(qiáng),《單片機(jī)語言C51應(yīng)用實(shí)戰(zhàn)集錦》[M]電子工業(yè)出版社,2003[2]李剛民,丁志剛,《單片微型計(jì)算機(jī)原理與應(yīng)用》[M]電子工業(yè)出版社,1990[3]張凱,《LED介紹完全手冊(cè)》[M].北京:北京航空航天大學(xué)出版社,2000[7][4]周志敏,周紀(jì)海,紀(jì)愛華,《LED驅(qū)動(dòng)電路設(shè)計(jì)與應(yīng)用》[M].北京:人民郵電出版2006[5]李肇慶,《串行端口技術(shù)》[M],國防工業(yè)出版社,2004[6]李群芳,肖看,《單片機(jī)原理、接口及應(yīng)用》[M],北京:清華大學(xué)出版社,2005[3]于海生,《微型計(jì)算機(jī)控制技術(shù)》[M],北京清華大學(xué)出版社,2008[8]胡漢才,《單片機(jī)原理與接口技術(shù)》[M],北京:清華大學(xué)出版社,1995.6[9]周向紅,《51系列單片機(jī)應(yīng)用與實(shí)踐教程》[M],北京航空航天大學(xué)出版社,2008[10]付蓉,《LED點(diǎn)陣漢字顯示》[J],實(shí)用無線電,1998,(2)7[11]龍安國,《基于單片機(jī)的LED漢字顯示屏設(shè)計(jì)與制作》[J].現(xiàn)代電子技術(shù),2007,(13)[12]陳海宴,《51單片機(jī)原理及應(yīng)用》[M].北京航空航天大學(xué)出版社,2010.7[13]張齊,朱寧西,《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)》[M].電子工業(yè)出版社2009.8[14]周潤景,張麗娜,丁莉,《基于proteus的電路及單片機(jī)設(shè)計(jì)與仿真》[M].北京航空航天大學(xué)出版社,2009[15]魏偉,胡瑋,王永清,《51單片機(jī)C語言開發(fā)與應(yīng)用技術(shù)》[M].化學(xué)工業(yè)出版社2010.6[16]張欣,孫宏昌,尹霞,《單片機(jī)原理與C51程序設(shè)計(jì)基礎(chǔ)教程》[M].清華大學(xué)出版社,2010.7

附錄附錄A動(dòng)態(tài)顯示程序 #include<reg52.h>sbitP1_4=P1^4;sbitkey=P1^5;//定義P1.4引腳unsignedcharcodeword_gu[][2]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//顯示一個(gè)空屏0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*機(jī)*/0x10,0x20,0x10,0xC0,0x13,0x00,0xFF,0xFF,0x12,0x00,0x11,0x82,0x10,0x0C,0x00,0x30,0x7F,0xC0,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,/*械*/0x08,0x60,0x0B,0x80,0xFF,0xFF,0x0A,0x00,0x09,0x04,0x00,0x98,0x17,0xE0,0x10,0x80,0x17,0xFA,0x10,0x84,0xFF,0xC8,0x10,0x30,0x50,0xCC,0x33,0x02,0x10,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,/*0*/0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x20,0x04,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x20,0x04,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*9*/0x00,0x00,0x00,0x00,0x1F,0x08,0x20,0x84,0x40,0x42,0x40,0x22,0x40,0x22,0x40,0x22,0x40,0x22,0x40,0x22,0x40,0x46,0x20,0x84,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*0*/0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x20,0x04,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x20,0x04,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*6*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x30,0x86,0x21,0x02,0x21,0x02,0x21,0x02,0x21,0x02,0x21,0x02,0x31,0x06,0x18,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*顧*/0x00,0x04,0x7F,0xF8,0x40,0x00,0x4F,0xFC,0x48,0x08,0x48,0x90,0x4F,0xA2,0x00,0x02,0x4F,0xF4,0x48,0x04,0x58,0x08,0x6B,0xF0,0x48,0x08,0x4F,0xF4,0x40,0x06,0x00,0x00,0x00,0x00,0x00,0x00,/*芮*/0x20,0x00,0x20,0x00,0x27,0xFF,0x24,0x08,0xFC,0x10,0x24,0x20,0x24,0x40,0x2F,0x80,0x24,0x40,0x24,0x30,0xFC,0x22,0x24,0x01,0x27,0xFE,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*華*/0x04,0x00,0x08,0x20,0x10,0x20,0x3F,0xA0,0xC0,0x20,0x40,0x20,0x08,0x20,0x08,0xFF,0xFE,0x20,0x11,0x20,0x11,0x20,0x21,0x20,0x61,0x20,0x27,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,/*畢*/0x00,0x20,0x00,0x20,0xFF,0x20,0x11,0x20,0x12,0x20,0x14,0x20,0x10,0x20,0x01,0xFF,0xFE,0x20,0x11,0x20,0x11,0x20,0x11,0x20,0x21,0x20,0x21,0x20,0x07,0x20,0x00,0x00,0x00,0x00,0x00,0x00,/*業(yè)*/0x00,0x04,0x08,0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論