基于單片機(jī)搖搖棒的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)搖搖棒的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)搖搖棒的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)搖搖棒的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)搖搖棒的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)校代碼 10126 學(xué)號(hào) 本科學(xué)年論文 題 目 基于51單片機(jī)搖搖棒的設(shè)計(jì) 院 系 專業(yè)名稱 年 級(jí) 學(xué)生姓名 指導(dǎo)教師 2014年06月20日 學(xué)年論文指導(dǎo)教師評(píng)閱意見(jiàn)學(xué) 生姓 名專 業(yè)班 級(jí)學(xué)號(hào)(論文)題目 基于51單片機(jī)搖搖棒的設(shè)計(jì)指導(dǎo)教師教師職稱 學(xué)年論文評(píng)語(yǔ) 評(píng)定成績(jī): 指導(dǎo)教師簽名: 年 月 日 摘要 隨著人們物質(zhì)生活水平的提高,人們對(duì)精神生活的追求也愈加強(qiáng)烈,對(duì)信息的渴求已成為了人們必不可少的需要,更加簡(jiǎn)捷與新穎的信息傳遞方式無(wú)疑會(huì)給人們帶來(lái)耳目一新的感受。而現(xiàn)代工具務(wù)求簡(jiǎn)捷化、便攜化,因此,搖動(dòng)顯示裝置的到來(lái),必將會(huì)給人們帶來(lái)一種新的方便的文化傳遞方式。“搖動(dòng)顯示裝置”,俗稱

2、“搖搖棒”,是基于人的視覺(jué)暫留原理的,通過(guò)分時(shí)刷新16個(gè)發(fā)光二極管來(lái)顯示輸出文字或圖案等信息的顯示裝置。輸出信號(hào)頻率的控制通過(guò)單片機(jī)來(lái)實(shí)現(xiàn),用搖動(dòng)傳感器檢測(cè)當(dāng)前搖動(dòng)狀態(tài)。當(dāng)進(jìn)行搖動(dòng)時(shí),由于人的視覺(jué)暫留原理,會(huì)在發(fā)光二極管搖動(dòng)區(qū)域產(chǎn)生一個(gè)視覺(jué)平面,在視覺(jué)平面內(nèi)的二極管通過(guò)不同頻率的刷新,會(huì)在搖動(dòng)區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。本文以傳感器和單片機(jī)的實(shí)際應(yīng)用為背景,介紹了以單片機(jī)和傳感器為核心系統(tǒng)搖動(dòng)傳感器和顯示設(shè)計(jì)的基本結(jié)構(gòu)和基本原理。關(guān)鍵字:?jiǎn)纹瑱C(jī),發(fā)光二極管,傳感器Abstract As people material standard of living rise,

3、people pursuit to cultural life also becomes strong,the desire of information have become the people of the essential needs, more forthright and novel the information transfer mode will undoubtedly bring people to find everything new and fresh feeling. And modern tools to the simple, portable, there

4、fore, shaking the display device, the arrival of will give people brings a kind of new convenient cultural transfer mode.Shake display device, called to shake the great , it is to be based on visual temporarily leave the principle, through the timeshare refresh 16 leds to display text or design outp

5、ut information display device. The output signal frequency control through the single-chip microcomputer to realize, with shaking sensor test current moved state. When shaken, as the mens vision for a principle, will be in the light emitting diode shaking area produce a visual plane, the plane withi

6、n the vision of different frequency refresh diode through, will produce an image in shaking area, so as to achieve the vision in the plane of conveying information function.Based on the sensor and MCU application for background, introduces the single-chip microcomputer and sensor as the core system

7、moved sensor and display design the basic structure and the basic principle.Key words :microcontroller,leds,sensor 目錄緒論11系統(tǒng)設(shè)計(jì)方案21.1設(shè)計(jì)目的21.2設(shè)計(jì)要求21.3設(shè)計(jì)思路22系統(tǒng)硬件設(shè)計(jì)4 2.1基本原理圖為:42.2 各部分功能52.2.1 按鍵模塊52.2.2 LED顯示模塊5 2.3系統(tǒng)硬件52.3.2 顯示功能(D1D16)62.4 傳感器系統(tǒng)63系統(tǒng)軟件設(shè)計(jì)83.1 軟件設(shè)計(jì)思路83.2 主程序流程圖83.3 軟件實(shí)現(xiàn)功能的完善164系統(tǒng)的硬件調(diào)試及軟件

8、調(diào)試174.1常見(jiàn)的硬件故障174.1.1邏輯錯(cuò)誤174.1.2 器件失效174.1.3 可靠性差174.1.4 電源故障174.2 硬件調(diào)試方法184.2.1 脫機(jī)調(diào)試184.2.2 聯(lián)機(jī)調(diào)試184.3 軟件調(diào)試方法18致 謝22參考文獻(xiàn)23緒論 單片機(jī)是隨著大規(guī)模集成電路的出現(xiàn)極其發(fā)展,將計(jì)算機(jī)的CPU,RAM,ROM,定時(shí)/計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成了芯片級(jí)的計(jì)算機(jī),因此單片機(jī)早期的含義稱為單片微型計(jì)算機(jī).它擁有優(yōu)異的性價(jià)比、集成度高、體積小、可靠性高、控制功能強(qiáng)、低電壓、低功耗的顯著優(yōu)點(diǎn).主要應(yīng)用于智能儀器儀表、工業(yè)檢測(cè)控制、機(jī)電一體化等方面,并且取得了顯著的成果.單

9、片機(jī)應(yīng)用系統(tǒng)可以分為:(1)最小應(yīng)用系統(tǒng)是指能維持單片機(jī)運(yùn)行的最簡(jiǎn)單配置的系統(tǒng)。這種系統(tǒng)成本低廉,結(jié)構(gòu)簡(jiǎn)單,常構(gòu)成一些簡(jiǎn)單的控制系統(tǒng),如開(kāi)關(guān)狀態(tài)的輸入/輸出控制等。片內(nèi)有ROM/EPROM的單片機(jī),其最小應(yīng)用系統(tǒng)即為配有晶振,復(fù)位電路,電源的單個(gè)單片機(jī).片內(nèi)無(wú)ROM/EPROM的單片機(jī),其最小應(yīng)用系統(tǒng)除了外部配置晶振,復(fù)位電路,電源外,還應(yīng)外接EPROM或EEPROM作為程序存儲(chǔ)器用.(2)最小功耗應(yīng)用系統(tǒng)是指為了保證正常運(yùn)行,系統(tǒng)的功耗最小.(3)典型應(yīng)用系統(tǒng)是指單片機(jī)要完成工業(yè)測(cè)控功能所必須的硬件結(jié)構(gòu)系統(tǒng)。 本文將使用單片機(jī)對(duì)搖動(dòng)顯示進(jìn)行實(shí)例化,設(shè)計(jì)一個(gè)LED搖動(dòng)顯示器來(lái)顯示文字、圖像等信

10、息。掌握利用8051型單片機(jī)對(duì)發(fā)光二極管陣列進(jìn)行搖動(dòng)控制的方法。輸出信號(hào)頻率的控制通過(guò)單片機(jī)來(lái)實(shí)現(xiàn),用搖動(dòng)傳感器檢測(cè)當(dāng)前搖動(dòng)狀態(tài),用16個(gè)發(fā)光二極管進(jìn)行不同頻率的亮滅刷新,通過(guò)手動(dòng)搖動(dòng)可顯示輸出文字及圖案等信息。當(dāng)進(jìn)行搖動(dòng)時(shí),由于人的視覺(jué)暫留原理,會(huì)在發(fā)光二極管搖動(dòng)區(qū)域產(chǎn)生一個(gè)視覺(jué)平面,在視覺(jué)平面內(nèi)的二極管通過(guò)不同頻率的刷新,會(huì)在搖動(dòng)區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。LED顯示棒,又稱搖搖棒,是一種利用視覺(jué)暫留效應(yīng)制作的“高科技”玩具??梢杂谩办o如處子,動(dòng)如脫兔”來(lái)形容它,即當(dāng)靜止時(shí),它只是幾個(gè)LED發(fā)光二極管(后簡(jiǎn)稱LED),而一旦按照一定的頻率去搖晃它,它就會(huì)隨著位置的

11、變化而變化(亮或滅),最終顯示一幅圖片或字符串。1系統(tǒng)設(shè)計(jì)方案 1.1設(shè)計(jì)目的本次設(shè)計(jì)制作的是一個(gè)顯示棒,基本要求就是要小巧、輕便,所以要將單片機(jī)的系統(tǒng)板簡(jiǎn)化設(shè)計(jì)。 通過(guò)本次設(shè)計(jì),加強(qiáng)學(xué)生對(duì)MCS-51單片機(jī)的深刻理解,提高學(xué)生的設(shè)計(jì)能力和動(dòng)手能力。 1.2設(shè)計(jì)要求設(shè)計(jì)一個(gè)16只高亮度LED發(fā)光二極管構(gòu)成的搖搖棒,通過(guò)單片機(jī)編程配合手的左右搖晃就可呈現(xiàn)一幅完整的畫(huà)面,可以顯示字符、圖片。1.3設(shè)計(jì)思路 本系統(tǒng)要求設(shè)計(jì)一個(gè)LED顯示棒且需要有按鍵進(jìn)行內(nèi)容切換,它主要是由中央控制部分,LED驅(qū)動(dòng)部分,LED顯示部分以及電源部分組成,如圖1.1所示。圖1.1 單片機(jī)將提取的字模進(jìn)行存儲(chǔ),當(dāng)接收到按鍵

12、輸入的指令時(shí)單片機(jī)就將相應(yīng)的字模代碼通過(guò)I/O口輸出,使LED燈點(diǎn)亮,利用視覺(jué)暫留原理最終使圖案完整的顯示在擺動(dòng)的顯示屏中。 LED燈的選擇:傳統(tǒng)LED發(fā)光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經(jīng)濟(jì)。 外部中斷信號(hào)產(chǎn)生方式:通過(guò)外部中斷可以控制數(shù)據(jù)開(kāi)始傳輸?shù)臅r(shí)刻。選擇好外部中斷來(lái)源是本次制作的難點(diǎn)及重點(diǎn)。使用慣性開(kāi)關(guān)。通過(guò)搖晃使得慣性開(kāi)關(guān)的擺桿與焊接的左右兩個(gè)觸點(diǎn)接觸,利用這種接觸產(chǎn)生的電平變化來(lái)觸發(fā)中斷,結(jié)合軟件控制顯示,制作簡(jiǎn)單,使用方便。 抗重影方案的選擇:使用外部中斷控制數(shù)據(jù)傳輸時(shí)刻。外部中斷信號(hào)由慣性開(kāi)關(guān)產(chǎn)生,觸發(fā)方式為下降沿觸發(fā)。慣性開(kāi)關(guān)左右兩邊的觸點(diǎn)分別與單片機(jī)兩

13、個(gè)外部中斷接口相連,默認(rèn)為高電平,搖動(dòng)的擺桿接地。慣性開(kāi)關(guān)處于不同位置進(jìn)入不同的中斷,從而決定何時(shí)送數(shù)據(jù)。該方案簡(jiǎn)單易行,可以保證數(shù)據(jù)是單程傳輸?shù)?,避免了重影。不搖動(dòng)時(shí)把慣性開(kāi)關(guān)處在左邊就可以使LED棒熄滅,可以達(dá)到省電的效果。2系統(tǒng)硬件設(shè)計(jì) 2.1基本原理圖為:圖2.1基本原理與硬件電路設(shè)計(jì): 16只LED發(fā)光管作為畫(huà)面每一列的顯示,左右搖晃起到了掃描的作用,人眼的視覺(jué)暫留現(xiàn)象看到的是一幅完整的畫(huà)面。與LED點(diǎn)陣的顯示有幾分相仿。其硬件電路如上圖中所示: 系統(tǒng)電源VCC為5V,下載程序和調(diào)試時(shí)一定要保證5V電壓,MCS-51單片機(jī)作為控制器,在它的P1,P2口接有16只以共陽(yáng)的方式連接的高亮

14、度LED,由單片機(jī)輸出低電平點(diǎn)亮。P1口,P2口的上拉電阻不能少。串在LED公共端的二極管D1會(huì)產(chǎn)生一定的壓降,用來(lái)保護(hù)LED,經(jīng)試驗(yàn)測(cè)試LED點(diǎn)亮?xí)r兩端電壓為3V左右,在LED的安全承受范圍之內(nèi)。2.2 各部分功能 按鍵模塊 使用一個(gè)按鍵對(duì)顯示的所有內(nèi)容進(jìn)行切換,通過(guò)按鈕按下的次數(shù)確定顯示的內(nèi)容。 S1:水銀開(kāi)關(guān)功能為棒在搖動(dòng)時(shí),只能在朝某一方向搖動(dòng)時(shí)顯示,否則會(huì)出現(xiàn)鏡像字或鏡像畫(huà)面,所以通過(guò)接一支水銀開(kāi)關(guān)來(lái)控制,使搖搖棒從左向右搖動(dòng)時(shí)將內(nèi)容顯示出來(lái)。 S2:畫(huà)面切換開(kāi)關(guān)功能為用于切換顯示不同內(nèi)容。 S3:手動(dòng)復(fù)位開(kāi)關(guān)功能為可以控制系統(tǒng)的啟停 LED顯示模塊首先,我們根據(jù)LED點(diǎn)陣屏的顯示原

15、理:點(diǎn)陣屏的顯示分為行掃描與列掃描兩種,列掃描是將我們的字模數(shù)組通過(guò)點(diǎn)陣屏的行驅(qū)動(dòng)進(jìn)行輸入,然后通過(guò)列對(duì)每一行進(jìn)行掃描,當(dāng)列為低(高)電平、行為高(低)電平時(shí)則表示該點(diǎn)為圖案的一部分,將其讀出、顯示。它的順序可以總結(jié)為:行不斷的送數(shù)據(jù),每送完設(shè)置的信息后列進(jìn)行讀取,然后行再次送數(shù)據(jù),列再次讀取依次循環(huán)下去,一幅完整的圖案就顯示在了顯示屏上。而本次設(shè)計(jì)的LED顯示棒數(shù)據(jù)傳輸原理與LED點(diǎn)陣屏相似。可以把LED顯示棒看成是LED點(diǎn)陣屏中的一列。為了使顯示的圖案清晰,我們使用了16個(gè)LED管將它們排成一列,整個(gè)屏在靜止時(shí)也就相當(dāng)于16行1列。數(shù)據(jù)傳輸時(shí)我們同樣使用行送數(shù)據(jù)、列掃描。在擺動(dòng)過(guò)程中,應(yīng)用

16、視覺(jué)暫留原理,我們點(diǎn)亮的列不會(huì)很快的消失,而是隨著擺動(dòng)的方向繼續(xù)向前移動(dòng),只要移動(dòng)的速度高于視覺(jué)暫留的最短時(shí)間顯示內(nèi)容就不會(huì)熄滅,至此,一幅圖案也就可以這樣被“擺動(dòng)”出來(lái)了。2.3系統(tǒng)硬件單片機(jī)控制(STC89C051) 本裝置采用了STC12C2051單片機(jī),它支持直接通過(guò)串口線下載程序,對(duì)于本設(shè)計(jì)而言,顯示文字需經(jīng)常改變,STC12C2051方便許多,因此選擇STC12C2051作為本設(shè)計(jì)所用的單片機(jī)。 顯示功能。(D1D16) 信息傳遞主要由顯示來(lái)完成,本設(shè)計(jì)顯示功能由16個(gè)發(fā)光二極管來(lái)完成。16個(gè)發(fā)光二極管分為4組,以共陽(yáng)的方式連接,共用P1口和P2口作為輸出口。2.4 傳感器系統(tǒng) 硬

17、件傳感器主要為搖動(dòng)傳感器,本設(shè)計(jì)的搖動(dòng)傳感器由滾珠開(kāi)關(guān)構(gòu)成。可選搖動(dòng)開(kāi)關(guān)有水銀搖動(dòng)開(kāi)關(guān)和滾珠開(kāi)關(guān)兩種。水銀搖動(dòng)開(kāi)關(guān)穩(wěn)定性較高,但容易發(fā)生破裂,水銀外泄,安全性較差。滾珠開(kāi)關(guān)穩(wěn)定性稍差,但不容易損壞,安全度很高。考慮到實(shí)際應(yīng)用環(huán)境,故選用滾珠開(kāi)關(guān)作為系統(tǒng)的搖動(dòng)傳感器。由滾珠開(kāi)關(guān)帶來(lái)的不穩(wěn)定性可以通過(guò)軟件進(jìn)行彌補(bǔ)。 經(jīng)過(guò)分析論證,我們決定了系統(tǒng)各模塊的最終方案,流程圖如下:圖2.2 整套系統(tǒng)以STC12C2051單片機(jī)為核心控制系統(tǒng),使用16只LED燈作為顯示屏,其中16只直接與單片機(jī)I/O口相連。當(dāng)慣性開(kāi)關(guān)觸發(fā)中斷T1時(shí),單片機(jī)向16只LED傳送數(shù)據(jù),依據(jù)人體的視覺(jué)暫留原理,隨著顯示棒的擺動(dòng)前進(jìn)

18、,輸出數(shù)據(jù)的列也不會(huì)立刻消失而是隨著擺動(dòng)逐漸顯示在了形成的扇形區(qū)域。系統(tǒng)的元器件明細(xì)表2.1:1單片機(jī)STC12C2051 1片2發(fā)光二極管 16只312M晶振 1個(gè)4電阻、電容 若干5USB接口 1個(gè)6按鈕及開(kāi)關(guān) 若干表2.13系統(tǒng)軟件設(shè)計(jì)3.1 軟件設(shè)計(jì)思路 在搖動(dòng)LED棒的時(shí)候單片機(jī)必須單程傳送數(shù)據(jù)否則顯示的圖形會(huì)產(chǎn)生重影,影響視覺(jué)效果。因此當(dāng)系統(tǒng)開(kāi)始工作后通過(guò)慣性開(kāi)關(guān)的位置來(lái)使單片機(jī)實(shí)現(xiàn)單程傳送數(shù)據(jù)給LED。如果慣性開(kāi)關(guān)位于右邊,則進(jìn)入外部中斷1并將一變量置1,。在變量為1期間讓單片機(jī)以一定的頻率將數(shù)據(jù)傳送給LED。如果慣性開(kāi)關(guān)位于左邊,則進(jìn)入外部中斷0并將變量置0,。在這期間單片機(jī)不

19、會(huì)傳送數(shù)據(jù)給LED。在送數(shù)據(jù)時(shí),數(shù)據(jù)送完后應(yīng)延時(shí)一段時(shí)間來(lái)使搖動(dòng)時(shí)顯示的每個(gè)字不會(huì)太擁擠。之后再立刻熄滅LED并開(kāi)始重新判斷慣性開(kāi)關(guān)的位置。3.2 主程序流程圖 通過(guò)軟件設(shè)計(jì)思路分析,得到該系統(tǒng)的主程序流程圖3.1如下: 圖3.1 系統(tǒng)開(kāi)始運(yùn)行,內(nèi)部進(jìn)行初始化后,等待外部中斷。當(dāng)搖動(dòng)到指定位置時(shí),由滾珠開(kāi)關(guān)出觸發(fā)外部中斷,再經(jīng)過(guò)一段時(shí)間延時(shí)后開(kāi)始顯示。顯示完成返回主程序,等待下一個(gè)搖動(dòng)周期的到來(lái)。經(jīng)過(guò)文字取模后,系統(tǒng)的源程序編制如下:#include #define uchar unsigned char#define uint unsigned int /宏定義#define KEY P3_

20、0 /定義畫(huà)面切換按鍵uchar KY; /KY作用在后面說(shuō)明 uchar disp; /顯示漢字指針uchar pic=0,num=0; /pic為按鍵次數(shù);num為中斷次數(shù)uchar code love = /*- 文字: 李 -*/*- 楷體_GB231212; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x00,0x80,0x48,0x28,0x98,0x88,0x7F,0x4C,0xD4,0x24,0x24,0x40,0x40,0x40,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x24,0x46,0x3B,0x02,0x02,0x02,0

21、x02,0x02,0x00,0/*- 文字: 好 -*/*- 楷體_GB231212; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x80,0x80,0x80,0x7E,0x40,0xE0,0x40,0x88,0x88,0xA4,0xD4,0x4C,0x44,0x40,0x40,0x00,0x00,0x10,0x08,0x05,0x02,0x05,0x08,0x00,0x00,0x10,0x3F,0x00,0x00,0x00,0x00,0x00,x00,uchar code loveyou = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

22、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x

23、1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形圖案*

24、/;uchar code hehe = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,

25、0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

26、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*呵呵o(_)o圖案*/;unsigned char code hanzi = /- 歡 - 0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01, 0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30, 0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10, 0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,/- 迎 - 0x40,0x00,0x42,0x40,0x

27、44,0x20,0xC8,0x1F, 0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41, 0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42, 0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,/- 使 - 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00, 0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29, 0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21, 0x14,0x41,0xF6,0xC3,0x04,0x40

28、,0x00,0x00,/- 用 - 0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02, 0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F, 0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82, 0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,/- 神 - 0x08,0x01,0x88,0x00,0x49,0x00,0xEE,0xFF, 0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F, 0x88,0x08,0x88,0x08,0xFF,0xFF,

29、0x88,0x08, 0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00,/- 奇 - 0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E, 0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12, 0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F, 0x44,0x00,0x60,0x00,0x40,0x00,0x00,0x00,/- 魔 - 0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80, 0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0

30、xAA,0x1A, 0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA, 0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00,/- 幻 - 0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24, 0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60, 0x04,0x00,0x04,0x20,0x04,0x40,0x04,0x80, 0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00,/- 搖 - 0x10,0x02,0x10,0x42,0x10,0x81,0x

31、FF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 搖 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00

32、,/- 棒 - 0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF, 0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15, 0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15, 0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00,/- ! - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00,

33、 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*函數(shù)聲明*/void display1(void);void display2(void);void display3(void);void display4(void);/*n(us)延時(shí)子程序*/void DelayUs(uint N) uint x; for(x=0; x10)disp+;num=0; /12個(gè)漢字分為3次顯示完(每次顯示4個(gè)),每中斷10次切換 if(disp2)disp=0; DelayUs(5200); /此處延時(shí)時(shí)間依各硬件差別而各不相同,試著調(diào)整使得顯示內(nèi)容居中即可 for(i

34、=0;i64;i+) P0=hanzidisp*128+i*2; P2=hanzidisp*128+i*2+1; DelayUs(100); /*顯示子程序2(LOVE)*/void display2(void) uchar i; DelayUs(4000); for(i=0;i64;i+) P0=lovei*2; P2=lovei*2+1; DelayUs(120); /*顯示子程序3(心形圖案)*/void display3(void) uchar i; DelayUs(4000); for(i=0;i64;i+) P0=loveyoui*2; P2=loveyoui*2+1; Delay

35、Us(120); /*顯示子程序4(呵呵o(_)o圖案)*/void display4(void) uchar i; DelayUs(4000); for(i=0;i3)pic=0; /*END*/3.3 軟件實(shí)現(xiàn)功能的完善 本次設(shè)計(jì)的一個(gè)難點(diǎn)是去除重影,我們的解決方法是使用外部中斷讓數(shù)據(jù)單程傳輸。 第二個(gè)難點(diǎn)是當(dāng)顯示較長(zhǎng)字符時(shí)不能完整的顯示在一次搖擺的扇形區(qū)域內(nèi)。通過(guò)反復(fù)試驗(yàn),我們改變了送數(shù)據(jù)方式:由一個(gè)字符接一個(gè)字符傳送改為一組字符一起傳送,傳送結(jié)束后再延時(shí),通過(guò)不斷調(diào)試實(shí)現(xiàn)了完整顯示的功能,同時(shí)也解決了畫(huà)面連續(xù)出現(xiàn)沒(méi)有間斷的問(wèn)題。 綜上,只要控制好數(shù)據(jù)傳輸方式以及每次傳輸數(shù)據(jù)間的延時(shí)就可

36、以實(shí)現(xiàn)多種數(shù)據(jù)的顯示方法。4系統(tǒng)的硬件調(diào)試及軟件調(diào)試 單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不可的,許多硬件故障是在調(diào)試軟件時(shí)才發(fā)現(xiàn)的。但通常是先排除系統(tǒng)中明顯的硬件故障后才和軟件結(jié)合起來(lái)調(diào)試的。其一般的調(diào)試過(guò)程如下:4.1常見(jiàn)的硬件故障邏輯錯(cuò)誤 樣機(jī)硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤和加工過(guò)程中的工藝性錯(cuò)誤所造成的。這類錯(cuò)誤包括:錯(cuò)線,開(kāi)路,短路等幾種,其中短路時(shí)最常見(jiàn)的故障。在印刷電路板布線密度高的情況下,極易因工藝原因造成短路。 器件失效 元器件失效的原因有兩個(gè)方面:一是器件本身已損壞或性能不符合要求;二是由于組裝錯(cuò)誤而造成的元器件失效,如電解電容,二極管的極性錯(cuò)誤,集成塊安裝方向錯(cuò)誤等。 可

37、靠性差 引起系統(tǒng)不可靠的因素很多,如金屬化孔,接插件接觸不良會(huì)造成系統(tǒng)時(shí)好時(shí)壞;內(nèi)部和外部的干擾,電源紋波系數(shù)過(guò)大,器件負(fù)載過(guò)大等造成邏輯電平不穩(wěn)定;另外,走線和布局的不合理等也會(huì)引起系統(tǒng)可靠性差。 電源故障 若樣機(jī)中存在電源故障,則加電后將造成器件損壞。電源的故障包括:電壓值不符合設(shè)計(jì)要求,電源引出線和插座不對(duì)應(yīng),電源功率不足,負(fù)載能力差。4.2 硬件調(diào)試方法 脫機(jī)調(diào)試 脫機(jī)調(diào)試是在電路板加電之前,先用萬(wàn)用表等工具,根據(jù)硬件電氣原理圖和裝配圖仔細(xì)檢查樣機(jī)線路的正確性,并核對(duì)元器件的型號(hào),規(guī)格和安裝是否符合要求。應(yīng)特別注意電源的走線,防止電源之間的短路和極性錯(cuò)誤,并重點(diǎn)檢查拓展系統(tǒng)總線是否存在

38、相互間的短路或其他信號(hào)線的短路。 對(duì)于樣機(jī)所用的電源事先必須單獨(dú)調(diào)試,調(diào)試好后,檢查其電壓值,負(fù)載能力,極性等均符合要求,才能加到系統(tǒng)的各個(gè)部件上。在不插片子的情況下,加電檢查各插件上引腳的電位,仔細(xì)檢查各地點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)插座上的各點(diǎn)電位是否正常,若有高壓,聯(lián)機(jī)時(shí)將會(huì)損壞開(kāi)發(fā)機(jī)。 聯(lián)機(jī)調(diào)試 通過(guò)脫機(jī)調(diào)試可排除一些明顯的硬件故障。有些硬件故障還是要通過(guò)聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。 聯(lián)機(jī)前先斷電,把開(kāi)發(fā)系統(tǒng)的仿真插頭插到樣機(jī)的單片機(jī)插座上,檢查一下開(kāi)發(fā)機(jī)與樣機(jī)之間的電源、接地是否良好。一切正常,即可打開(kāi)電源。通電后執(zhí)行開(kāi)發(fā)機(jī)讀寫(xiě)指令,對(duì)用戶機(jī)的存儲(chǔ)器、I/O端口進(jìn)行讀寫(xiě)操作、邏輯檢查

39、,若有故障,可用示波器觀察波形。通過(guò)對(duì)波形的觀察分析,尋找故障原因,并進(jìn)一步排除故障??赡艿墓收嫌校壕€路連接上的邏輯錯(cuò)誤、有斷線或短路現(xiàn)象、集成電路失效等。4.3 軟件調(diào)試方法 軟件調(diào)試與所選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊程序設(shè)計(jì)技術(shù),則逐個(gè)模塊調(diào)試好以后,再進(jìn)行系統(tǒng)程序總調(diào)試。如果采用實(shí)時(shí)多任務(wù)操作系統(tǒng),一般是逐個(gè)任務(wù),下面進(jìn)一步予以說(shuō)明。 對(duì)于模塊結(jié)構(gòu)程序,要一個(gè)個(gè)子程序分別調(diào)試。調(diào)試子程序時(shí),一定要符合現(xiàn)場(chǎng)環(huán)境,即入口條件和出口條件。調(diào)試的手段可采用單步運(yùn)行方式和斷點(diǎn)運(yùn)行方式,通過(guò)檢查用戶系統(tǒng)CPU的現(xiàn)場(chǎng)、RAM的內(nèi)容和I/O口的狀態(tài),檢測(cè)程序執(zhí)行結(jié)果是否符合設(shè)計(jì)要求。通過(guò)

40、檢測(cè),可以發(fā)現(xiàn)程序中的死循環(huán)錯(cuò)誤、機(jī)器碼錯(cuò)誤及轉(zhuǎn)移地址的錯(cuò)誤,同時(shí)也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障、軟件算法及硬件設(shè)計(jì)錯(cuò)誤。在調(diào)試過(guò)程中不斷調(diào)整用戶系統(tǒng)的軟件和硬件,逐步通過(guò)一個(gè)個(gè)程序模塊。各程序模塊通過(guò)后,可以把各功能塊聯(lián)系起來(lái)一起進(jìn)行整體程序綜合調(diào)試。在這階段若發(fā)生故障,可以考慮各子程序在運(yùn)行時(shí)是否破壞現(xiàn)場(chǎng),緩沖單元是否發(fā)生沖突,零位的建立和清除在設(shè)計(jì)上有否失誤,堆棧區(qū)域有否溢出,輸入設(shè)備的狀態(tài)是否正常,等等。若用戶系統(tǒng)是在開(kāi)發(fā)系統(tǒng)的監(jiān)控程序下運(yùn)行時(shí),還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。 單步和斷點(diǎn)調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試,這是因?yàn)閱尾竭\(yùn)行只能驗(yàn)證程序的正確與否,而不能確定

41、定時(shí)精度、CPU的實(shí)時(shí)響應(yīng)等問(wèn)題。待全部完成后,應(yīng)反復(fù)運(yùn)行多次,除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計(jì)要求、安排的用戶操作是否合理等,必要時(shí)還要做適當(dāng)修正。對(duì)于實(shí)時(shí)多任務(wù)操作系統(tǒng)的應(yīng)用程序是由若干個(gè)任務(wù)程序組成,一般是逐個(gè)任務(wù)進(jìn)行調(diào)試,在調(diào)試某一個(gè)任務(wù)時(shí),同時(shí)也調(diào)試相關(guān)的子程序、中斷服務(wù)程序和一些操作系統(tǒng)的程序。逐個(gè)任務(wù)調(diào)試好以后,再使各個(gè)任務(wù)同時(shí)運(yùn)行,如果操作系統(tǒng)中沒(méi)有錯(cuò)誤,一般情況下系統(tǒng)就能正常運(yùn)轉(zhuǎn)。在全部調(diào)試修改完成后,將用戶軟件固化于EPROM中,插入用戶樣機(jī)后,用戶系統(tǒng)即能離開(kāi)發(fā)機(jī)獨(dú)立工作,至此系統(tǒng)研制完成。 在開(kāi)始實(shí)驗(yàn)設(shè)計(jì)前,根據(jù)實(shí)驗(yàn)要求,分析實(shí)驗(yàn)所涉及的相關(guān)知識(shí)點(diǎn),查閱身邊的資料,并根據(jù)自己以前所學(xué)的理論知識(shí),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論