課程設(shè)計(jì)----基于單片機(jī)的自動(dòng)避障小車(chē)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)理與信息工程學(xué)院</b></p><p>  《單片機(jī)原理及應(yīng)用》期末課程設(shè)計(jì)</p><p>  題 目: 基于單片機(jī)的自動(dòng)避障小車(chē) </p><p>  專(zhuān) 業(yè): 電子信息工程 </p><p><b>  目錄

2、</b></p><p>  引言。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3</p><p>  1.1研究背景。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3</p><p>  1.2本設(shè)計(jì)任務(wù)和主要內(nèi)容。。。。。。。。

3、。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 3</p><p>  第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4</p><p>  2.1系統(tǒng)原理組成框圖。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4</p><p>  2.2 系

4、統(tǒng)主控模塊電路。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4</p><p>  2.2.1 STC89C52單片機(jī)性能優(yōu)點(diǎn)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4</p><p>  2.2.2 主控模塊電路。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5</p>&l

5、t;p>  2.3 車(chē)體框架。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5</p><p>  2.4 電源及穩(wěn)壓模塊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6</p><p>  2.5 邏輯模塊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

6、。。。。。。。。。。。。。。7</p><p>  2.6 感測(cè)模塊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7</p><p>  2.7 連接模塊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8</p><p>  2.8 電機(jī)驅(qū)動(dòng)模塊。。。。

7、。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9</p><p>  2.9 顯示模塊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10</p><p>  第3節(jié) 系統(tǒng)軟件設(shè)計(jì)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11</p&g

8、t;<p>  3.1程序設(shè)計(jì)流程圖。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11</p><p>  3.2系統(tǒng)主程序設(shè)計(jì)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12</p><p>  3.3 PWM信號(hào)控制小車(chē)走向流程圖。。。。。。。。。。。。。。。。。。。。。。。。。。。

9、。。。。。。13</p><p>  3.4 PWM信號(hào)控制電機(jī)流程序。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。13</p><p>  3.5液晶初始化及顯示子程序。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15</p><p>  第4節(jié) 結(jié)束語(yǔ)。。。。。。。。。。。。。。。。。。。。。。。。。。。。

10、。。。。。。。。。。。。。。。。。。。。。。。。。。18</p><p>  參考文獻(xiàn)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。19</p><p>  基于單片機(jī)的自動(dòng)避障小車(chē)</p><p><b>  第1節(jié) 引言</b></p><p>

11、;  本課程設(shè)計(jì)是以功耗低、抗干擾能力強(qiáng)的STC89C52單片機(jī)為核心,外加路面障礙物感測(cè)模塊――光電開(kāi)關(guān)組完成對(duì)路面情況的實(shí)時(shí)監(jiān)測(cè),并把所采集的信息傳輸給單片機(jī),單片機(jī)根據(jù)路面情況做出恰當(dāng)?shù)奶幚?,進(jìn)而控制小車(chē)的走向。</p><p><b>  研究背景</b></p><p>  在科學(xué)探索及緊急搶險(xiǎn)中經(jīng)常要對(duì)一些危險(xiǎn)或人類(lèi)不能直接到達(dá)的地域進(jìn)行探測(cè),這就需要用機(jī)

12、器人來(lái)完成。而機(jī)器人在復(fù)雜地形行進(jìn)時(shí)自動(dòng)避障是一項(xiàng)必不可少也是最基本的功能。因此,自動(dòng)避障系統(tǒng)的研發(fā)就應(yīng)運(yùn)而生。自動(dòng)避障小車(chē)就是基于這一系統(tǒng)開(kāi)發(fā)而成的。隨著科技的發(fā)展,對(duì)于未知空間和人類(lèi)所不能直接到達(dá)的地域的探索逐步成為熱門(mén),這就使機(jī)器人自動(dòng)避障功能的研發(fā)有了重大意義。自動(dòng)避障小車(chē)就是自動(dòng)避障機(jī)器人中的一類(lèi)。自動(dòng)避障小車(chē)可以作為地域探索機(jī)器人和緊急搶險(xiǎn)機(jī)器人的運(yùn)動(dòng)系統(tǒng),讓機(jī)器人在行進(jìn)中自動(dòng)避過(guò)障礙物。</p><p&

13、gt;  1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容</p><p>  本設(shè)計(jì)是對(duì)以單片機(jī)STC89C52為核心的系統(tǒng)根據(jù)感測(cè)模塊傳輸?shù)那胺铰访嫘畔⒖刂菩≤?chē)行駛走向的軟、硬件設(shè)計(jì)開(kāi)發(fā)。系統(tǒng)要能夠做到準(zhǔn)確及時(shí)監(jiān)測(cè)前方路面信息并傳輸給主控模塊,做到根據(jù)前方路面信息及時(shí)調(diào)整小車(chē)的走向,做到顯示小車(chē)的走向和小車(chē)已經(jīng)行駛過(guò)的路程。</p><p><b>  主要內(nèi)容是:</b></

14、p><p> ?、?感測(cè)模塊實(shí)時(shí)監(jiān)測(cè)路面情況并及時(shí)傳輸給單片機(jī);</p><p> ?、?單片機(jī)核心模塊根據(jù)感測(cè)模塊給予的信息控制小車(chē)兩電機(jī)轉(zhuǎn)動(dòng);</p><p> ?、?電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)兩電機(jī)轉(zhuǎn)動(dòng),實(shí)現(xiàn)轉(zhuǎn)向與行走;</p><p> ?、?液晶顯示模塊顯示走向和已行駛過(guò)的路程。</p><p>  第2節(jié) 系統(tǒng)主

15、要硬件電路設(shè)計(jì)</p><p>  2.1系統(tǒng)原理組成框圖</p><p>  圖2-1 系統(tǒng)原理組成框圖</p><p>  2.2 系統(tǒng)主控模塊電路</p><p>  2.2.1 STC89C52單片機(jī)性能優(yōu)點(diǎn):</p><p>  課堂上我們學(xué)習(xí)的是8051單片機(jī),但實(shí)際應(yīng)用中現(xiàn)在我們是不會(huì)再用8051單片

16、機(jī)了。學(xué)習(xí)8051單片機(jī)是學(xué)習(xí)一種方法,學(xué)習(xí)單片機(jī)的基本結(jié)構(gòu),指令?,F(xiàn)在單片機(jī)種類(lèi)繁多,各有各的優(yōu)點(diǎn),結(jié)合具體情況恰當(dāng)選擇單片機(jī)型號(hào)也是非常重要的,在此系統(tǒng)中采用STC89C52為主控模塊芯片,選此芯片的理由是:</p><p>  與MCS-51單片機(jī)完全兼容:指令兼容,引腳兼容;</p><p>  高保密性:無(wú)法讀出,因此無(wú)法解密;</p><p>  超強(qiáng)抗

17、干擾能力:電源、I/O接口、時(shí)鐘均有抗干擾措施;</p><p><b>  高可靠性:</b></p><p>  寬電壓范圍,不怕電源波動(dòng)5V產(chǎn)品3.4V~6V,;</p><p>  寬溫度范圍:-40。C~85。C;</p><p><b>  低電磁輻射:</b></p>&

18、lt;p>  可禁止ALE輸出,降低輻射;</p><p>  可選6時(shí)鐘/機(jī)器周期,降低晶振頻率,降低輻射;</p><p>  單片機(jī)時(shí)鐘振蕩器增益可設(shè)為1/2;</p><p><b>  超低功耗:</b></p><p>  掉電模式典型功耗:≦1uA,可由外中斷喚醒;</p><p&

19、gt;  空閑模式典型功耗:2mA;</p><p>  正常工作典型功耗;4 mA~7 mA;</p><p>  可在線(xiàn)編程,節(jié)約投資;</p><p>  強(qiáng)驅(qū)動(dòng)能力,無(wú)論灌電流還是拉電流,均優(yōu)于MCS-51單片機(jī);</p><p>  高速度,最高晶振達(dá)到90MHZ;</p><p>  內(nèi)部資源更豐富,與MC

20、S-51單片機(jī)相比增加了:</p><p><b>  T2定時(shí)/計(jì)數(shù)器;</b></p><p>  內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM增加了1~8倍;</p><p>  自帶A/D和PWM;</p><p><b>  有P4口;</b></p><p>  2.2.2 主控模塊電路

21、:</p><p>  圖2-2 系統(tǒng)核心STC89C52連接電路圖</p><p><b>  2.3 車(chē)體框架</b></p><p>  方案1:自己設(shè)計(jì)制作車(chē)架 </p><p>  自己制作小車(chē)底盤(pán),用兩個(gè)直流電機(jī)作為主動(dòng)輪,利用兩電機(jī)的轉(zhuǎn)速差完成前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、后退等動(dòng)作。直流電機(jī)扭矩大,轉(zhuǎn)速較慢,易于控

22、制和調(diào)速,符合避障小車(chē)的要求。而且自己制作小車(chē)框架,可以根據(jù)電路板及傳感器安裝需求靈活設(shè)計(jì)。但自己制作小車(chē)制作周期較長(zhǎng),且費(fèi)用較高,有可能自己做的不太美觀,因而放棄了這一方案。</p><p>  方案2:購(gòu)買(mǎi)玩具電動(dòng)車(chē) </p><p>  玩具電動(dòng)車(chē)價(jià)格低廉,有完整的驅(qū)動(dòng)、傳動(dòng)和控制單元,其中傳動(dòng)裝置是所需的,縮短了開(kāi)發(fā)設(shè)計(jì)周期。玩具動(dòng)車(chē)有兩個(gè)直流電機(jī),再加上自己設(shè)計(jì)的驅(qū)動(dòng)模塊就可以由

23、單片機(jī)來(lái)控制了,而且買(mǎi)來(lái)的玩具電動(dòng)車(chē)一般比較牢固,比較美觀。所以采用了此方案。</p><p><b>  電源及穩(wěn)壓模塊</b></p><p>  方案1:采用交流電經(jīng)直流穩(wěn)壓處理后供電</p><p>  采用交流電提供直流穩(wěn)壓電源,電流驅(qū)動(dòng)能力及電壓穩(wěn)定性最好,且負(fù)載對(duì)電源影響也最小。但由于需要電線(xiàn)對(duì)小車(chē)供電,極大影響了避障小車(chē)行動(dòng)的靈

24、活性及地形的適應(yīng)能力。而且避障小車(chē)極易把拖在地上的電線(xiàn)識(shí)別為障礙物,人為增加了不必要的障礙。故放棄了這一方案。</p><p>  方案2:采用干電池組進(jìn)行供電</p><p>  采用四節(jié)干電池降壓至5V后給單片機(jī)及其他邏輯單元供電,另取六節(jié)干電池為電機(jī)及光電開(kāi)關(guān)供電。這樣電機(jī)啟動(dòng)及制動(dòng)時(shí)的短暫電壓干擾不會(huì)影響到邏輯單元和單片機(jī)的工作。但由于電機(jī)驅(qū)動(dòng)需要比較大的電流,所以采用干電池供電使

25、用的周期不能很長(zhǎng),實(shí)用性不太好。故放棄了這一方案。</p><p>  方案3:采用可充電蓄電池供電</p><p>  采用可充電蓄電池給驅(qū)動(dòng)和感測(cè)模塊供電,其它采用蓄電池經(jīng)LM2575穩(wěn)壓后供電。雖然蓄電池的重量比較大,但是蓄電池能夠供電的時(shí)間長(zhǎng)而穩(wěn)定,況且買(mǎi)來(lái)的小車(chē)負(fù)重能力好,所以采用此方案完全可行。故采用了此方案。</p><p>  其原理圖如下圖所示:&

26、lt;/p><p>  圖2-3 供電電源及穩(wěn)壓模塊:LM2575電路圖</p><p><b>  2.5 邏輯模塊</b></p><p>  在感測(cè)模塊和單片機(jī)中斷接口之間,需要經(jīng)過(guò)電平的邏輯處理,信息才能被單片機(jī)所感知。主要是一塊三輸入或非門(mén),所以我們采用現(xiàn)成的74ls27芯片實(shí)現(xiàn)邏輯功能。</p><p>  

27、圖2-4 信號(hào)邏輯模塊:74LS27電路圖</p><p><b>  2.6 感測(cè)模塊:</b></p><p>  方案1:使用超聲波探測(cè)器</p><p>  超聲波探測(cè)器探測(cè)距離遠(yuǎn),測(cè)距方便。但由于聲波衍射現(xiàn)象較嚴(yán)重,且波包散面太大,易造成障礙物的錯(cuò)誤判斷。同時(shí),超聲波探測(cè)具有幾厘米甚至幾十厘米的盲區(qū),這對(duì)于我們的避障小車(chē)是個(gè)致命的限

28、制。故放棄了這一方案。 </p><p>  方案2:使用光電對(duì)管探測(cè) </p><p>  光電對(duì)管價(jià)格低廉,性能穩(wěn)定,但探測(cè)距離太近(一般不超過(guò)3cm),使得小車(chē)必須制動(dòng)迅速。而我們由于采用普通直流電機(jī)作為原動(dòng)力,制動(dòng)距離至少需要10cm。因此不采取這一方案。 </p><p>  方案3:使用視頻采集處理裝置進(jìn)行探測(cè) </p><p>

29、  使用CCD實(shí)時(shí)采集小車(chē)前進(jìn)路線(xiàn)上的圖像并進(jìn)行實(shí)時(shí)傳輸及處理,這是最精確的障礙物信息采集方案,可以對(duì)障礙物進(jìn)行精確定位和測(cè)距。但是使用視頻采集會(huì)大大增加小車(chē)成本和設(shè)計(jì)開(kāi)發(fā)難度,而且考慮到我們小車(chē)行進(jìn)轉(zhuǎn)彎的精確度并未達(dá)到視頻處理的精度,因而使用視頻采集在實(shí)際應(yīng)用中是個(gè)很大的浪費(fèi),所以放棄了這一方案。</p><p>  方案4:使用光電開(kāi)關(guān)進(jìn)行障礙物信息采集 </p><p>  使用三只

30、E3F-DS30C4光電開(kāi)關(guān),分別探測(cè)正前方,前右側(cè),前左側(cè)障礙物信息,在特殊地形(如障礙物密集地形)可將正前方的光電開(kāi)關(guān)移置后方進(jìn)行探測(cè)。E3F-DS30C4光電開(kāi)關(guān)平均有效探測(cè)距離0~30cm可調(diào),且抗外界背景光干擾能力強(qiáng),可在日光下正常工作(理論上應(yīng)避免日光和強(qiáng)光源的直接照射)。小車(chē)換檔調(diào)速后的最大制動(dòng)距離不超過(guò)30cm,一般在10~20cm左右,因而探測(cè)距離滿(mǎn)足小車(chē)需求。故采用此方案。</p><p> 

31、 光電開(kāi)關(guān)排列如圖所示:</p><p>  圖2-5 光電開(kāi)關(guān)示意圖</p><p><b>  連接模塊</b></p><p>  m價(jià)錢(qián)也不高,市場(chǎng)上也容易買(mǎi)到。</p><p>  其原理圖如下圖所示:</p><p>  圖2-6 連接模塊:TLP521-4電路圖</p&g

32、t;<p><b>  電機(jī)驅(qū)動(dòng)模塊</b></p><p>  此模塊的主要作用的驅(qū)動(dòng)直流電機(jī),讓直流電機(jī)有足夠的動(dòng)力。</p><p>  方案1:使用分立原件搭建電機(jī)驅(qū)動(dòng)電路 </p><p>  使用分立原件搭建電機(jī)驅(qū)動(dòng)電路造價(jià)低廉,在大規(guī)模生產(chǎn)中使用廣泛。但分立原件H橋電路工作性能不夠穩(wěn)定,較易出現(xiàn)硬件上的故障,故放棄了

33、這一方案。 方案2:使用L298N芯片驅(qū)動(dòng)電機(jī) L298N是一個(gè)具有高電壓大電流的全橋驅(qū)動(dòng)芯片,輸出電壓最高可達(dá)50V,可以直接通過(guò)電源來(lái)調(diào)節(jié)輸出電壓;可以直接用單片機(jī)的IO口提供信號(hào),而且?guī)в惺鼓芏?,方便PWM調(diào)速,電路簡(jiǎn)單,性能穩(wěn)定,使用比較方便。L298N芯片可以驅(qū)動(dòng)兩個(gè)二相電機(jī),也可以驅(qū)動(dòng)一個(gè)四相電機(jī),正好符合小車(chē)兩個(gè)直流電機(jī)的驅(qū)動(dòng)要求。</p><p><b>  其原理圖如下所

34、示:</b></p><p>  圖2-7 驅(qū)動(dòng)模塊:L298電路圖</p><p><b>  顯示模塊:</b></p><p>  方案1:采用數(shù)碼管顯示</p><p>  數(shù)碼管完全可用來(lái)顯示已行駛過(guò)的路程,且數(shù)碼管亮度大,夜間觀測(cè)也比較方便,所以數(shù)碼管在一般場(chǎng)合是首選,但是數(shù)碼管只能顯示數(shù)字,發(fā)

35、揮的空間比較窄。所以不采用此方案。</p><p>  方案2:采用液晶顯示</p><p>  用128×64的液晶屏作為顯示器件,可以顯示小車(chē)行駛的方向,小車(chē)行駛過(guò)的路程,小車(chē)行駛過(guò)的時(shí)間等等,最重要的是液晶能夠顯示漢字,提供的信息非常直觀,故采用此方案。</p><p><b>  其原路圖如下所示:</b></p>

36、<p>  圖2-8 顯示模塊:128×64電路圖</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  程序設(shè)計(jì)流程圖</b></p><p>  本系統(tǒng)設(shè)計(jì)流程圖如下所示:</p><p>  圖3-1 系統(tǒng)軟件主流程圖</p>

37、<p>  3.2系統(tǒng)主程序設(shè)計(jì):</p><p>  ORG 0000H</p><p>  LJMP MAIN</p><p>  ORG 0003H</p><p>  LJMP INTT0 ;外部中斷0入口</p><p>  ORG 000BH ;

38、定時(shí)器/計(jì)時(shí)器0中斷入口</p><p>  LJMP TIME0</p><p>  ORG 0050H</p><p>  MAIN: MOV SP,#6FH ;主程序</p><p>  SETB EA ;開(kāi)總中斷</p><p>  SETB EX0

39、 ;開(kāi)外部中斷0</p><p>  SETB IT0 ;設(shè)置外部0為邊沿觸發(fā)</p><p>  SJMP $ ;等待外部中斷</p><p>  INTT0: MOV A,#00H ;累計(jì)器清零</p><p>  MOV C,P2.0

40、 ;光電管1傳來(lái)的信號(hào)</p><p>  MOV ACC.0,C ;光電管1值送累加器0位</p><p>  MOV C,P2.1 ;光電管2傳來(lái)的信號(hào)</p><p>  MOV ACC.1.C ;光電管2值送累加器1位</p><p>  MOV C,P2.2

41、 ;光電管3傳來(lái)的信號(hào)</p><p>  MOV ACC.2,C ;光電管3值送累加器2位</p><p>  CJNE A,#00H,LOOP1 ;是000,左前中都有障礙物,轉(zhuǎn)LOOP1</p><p>  CJNE A,#01H,LOOP2 ;是001,左前有障礙物,右方無(wú)障礙物,轉(zhuǎn)LOOP2</p><p

42、>  CJNE A,#02H,LOOP3 ;是010,左右有障礙物,前方無(wú)障礙物,轉(zhuǎn)LOOP3</p><p>  CJNE A,#03H,LOOP4 ;是011,左方有障礙物,前右無(wú)障礙物,轉(zhuǎn)LOOP4</p><p>  CJNE A,#04H,LOOP5 ;是100,左方無(wú)障礙物,前右有障礙物,轉(zhuǎn)LOOP5</p><p>  CJNE

43、 A,#05H,LOOP6 ;是101,左右無(wú)障礙物,前方有障礙物,轉(zhuǎn)LOOP6</p><p>  CJNE A,#06H,LOOP7 ;是110,左中無(wú)障礙物,右方有障礙物,轉(zhuǎn)LOOP7</p><p>  LO0P1:…………………</p><p>  LOOP2:…………………</p><p>  LOOP3:………………

44、…</p><p>  LOOP4:…………………</p><p>  LOOP5:…………………</p><p>  LOOP6:…………………</p><p>  LOOP7:………………</p><p><b>  RETI</b></p><p>  PWM信號(hào)控制

45、小車(chē)走向流程圖</p><p>  圖3-2 PWM信號(hào)控制電機(jī)流程圖</p><p>  3.3 PWM信號(hào)控制電機(jī)流程序</p><p>  PWMH1 DATA 30H ;直流電機(jī)1高電平脈沖的個(gè)數(shù)</p><p>  PWMH2 DATA 31H ;直流電機(jī)2高電平脈沖的個(gè)數(shù)</p>

46、<p>  ZHENG1 BIT 20H.0 ;直流電機(jī)1正轉(zhuǎn)標(biāo)志 0正轉(zhuǎn),1反轉(zhuǎn)</p><p>  ZHENG2 BIT 20H.1 ;直流電機(jī)2正轉(zhuǎn)標(biāo)志 0正轉(zhuǎn),1反轉(zhuǎn)</p><p>  PWM DATA 34H ;PWM周期</p><p>  COUNTER1 DATA 35H ;直

47、流電機(jī)1計(jì)數(shù)COUNTER1</p><p>  COUNTER2 DATA 36H ;直流電機(jī)2計(jì)數(shù)COUNTER2</p><p>  0RG 2000H</p><p>  PWM: MOV SP,#60H ;設(shè)置堆棧,首地址為#60H</p><p>  MOV PWMH1,#08H

48、 ;電機(jī)1高電平脈沖賦初值</p><p>  MOV PWMH2,#08H ;電機(jī)2高電平脈沖賦初值 ,與電機(jī)1相同 </p><p>  MOV COUNTER1,#01H ;COUNTER1賦初值1</p><p>  MOV COUNTER2,#01H ;COUNTER2賦初值1</p><

49、;p>  MOV ZHENG1,#00H ;電機(jī)1正轉(zhuǎn)標(biāo)志位置0</p><p>  MOV ZHENG2,#00H ;電機(jī)2正轉(zhuǎn)標(biāo)志位置0</p><p>  MOV PWM,#15H ;PWM周期賦初值15H</p><p>  MOV P1,#00H ;P0口都為低電平,方便電

50、機(jī)控制</p><p>  MOV TMOD,#02H ;定時(shí)器0在模式2下工作</p><p>  MOV TL0,#38H ;定時(shí)器200us產(chǎn)生一次溢出</p><p>  MOV TH0,#38H ;自動(dòng)重裝的值</p><p>  SETB ET0

51、 ;使能定時(shí)0中斷</p><p>  SETB EA ;使能總中斷</p><p>  SETB TR0 ;開(kāi)始計(jì)時(shí)</p><p><b>  TIME0:</b></p><p>  PUSH PSW ;現(xiàn)場(chǎng)保護(hù)&l

52、t;/p><p><b>  PUSH ACC</b></p><p>  INC COUNTER1 ;COUNTER1加1</p><p>  INC COUNTER2 ;COUNTER2加1</p><p>  MOV A,COUNTER1</p><

53、p>  CJNE A,PWMH,TIME011 ;如果等于高電平脈沖數(shù)</p><p>  MOV CY,ZHENG1 ;判斷是否要反轉(zhuǎn)</p><p>  JZ CY,Z1 ;是否反轉(zhuǎn)</p><p>  CLR P1.1 ;電機(jī)1一端變?yōu)榈碗娖?反轉(zhuǎn)引腳</p&g

54、t;<p>  Z1: CLR P1.0 ;電機(jī)1一端變?yōu)榈碗娖?,正傳引腳</p><p><b>  TIME011:</b></p><p>  CJNE A,PWM,TIME02 ;如果等于周期數(shù)</p><p>  MOV COUNTER1,#01H ;計(jì)數(shù)器1復(fù)位&l

55、t;/p><p>  MOV CY,ZHENG1 ;判斷是否要反轉(zhuǎn)</p><p>  JZ CY,Z11 ;是否反轉(zhuǎn)</p><p>  SETB P1.1 ;置P1.0為高電平,反轉(zhuǎn)引腳</p><p>  Z11: SETB P1.0 ;

56、置P1.0為高電平, 正傳引腳</p><p>  MOV A,COUNTER2 </p><p>  CJNE A,PWMH,TIME021 ;如果等于高電平脈沖數(shù)</p><p>  MOV CY,ZHENG2 ;判斷是否要反轉(zhuǎn)</p><p>  JZ CY,Z2

57、;是否反轉(zhuǎn)</p><p>  CLR P1.3 ;電機(jī)2一端變?yōu)榈碗娖?反轉(zhuǎn)引腳</p><p>  Z2: CLR P1.2 ;電機(jī)2一端變?yōu)榈碗娖剑齻饕_</p><p><b>  TIME012:</b></p><p>  CJNE A,PWM,

58、TIME02 ;如果等于周期數(shù)</p><p>  MOV COUNTER2,#01H ;計(jì)數(shù)器1復(fù)位</p><p>  MOV CY,ZHENG2 ;判斷是否要反轉(zhuǎn)</p><p>  JZ CY,Z21 ;是否反轉(zhuǎn)</p><p>  SETB P1.3

59、 ;置P1.3為高電平,反轉(zhuǎn)引腳</p><p>  Z21: SETB P1.2 ;置P1.2為高電平,正轉(zhuǎn)引腳</p><p>  TIME02: ;出堆棧</p><p><b>  POP ACC</b></p><p>

60、<b>  POP PSW</b></p><p><b>  RETI</b></p><p>  3.3 液晶128×64初始化及各顯示子程序:</p><p>  RET BIT P2.7 ;液晶與單片機(jī)連接腳</p><p>  PSB BIT P2.6

61、 </p><p>  EN BIT P2.5</p><p>  RW BIT P2.3</p><p>  RS BIT P2.4</p><p>  COM BIT 30H ;命令/數(shù)據(jù)</p><p>  128*64: CLR RET ;液晶初

62、始化</p><p>  LCALL DELAY10MS</p><p><b>  SETB RET</b></p><p><b>  SETB PSB</b></p><p><b>  CLR EN</b></p><p>  MOV

63、 COM,#30H ;液晶功能設(shè)定</p><p>  LCALL W_COM</p><p>  MOV COM,#0CH ;液晶顯示狀態(tài)</p><p>  LCALL W_COM </p><p>  MOV COM,#01H ;液晶清楚顯示</p><p>

64、;  LCALL W_COM </p><p>  MOV COM,#06H ;液晶地址歸位</p><p>  LCALL W_COM</p><p>  CHECKBUSY: ;液晶查忙</p><p>  MOV P0,#FF H</p><p><

65、;b>  CLR RS</b></p><p><b>  SETB RW</b></p><p><b>  SETB EN</b></p><p>  MOV A,#FFH</p><p>  ANL A,P0</p><p><b

66、>  CPL A</b></p><p>  JZ CHECKBUSY</p><p><b>  CLR EN</b></p><p><b>  RET</b></p><p>  W_COM: LCALL CHECKBUSY ;液晶寫(xiě)指令</

67、p><p><b>  CLR RS</b></p><p><b>  CLR RW</b></p><p><b>  SETB EN</b></p><p>  MOV P0,COM</p><p>  LCALL DELAY10MS&l

68、t;/p><p><b>  CLR EN</b></p><p><b>  RET</b></p><p>  W_DATA: LCALL CHECKBUSY ;液晶寫(xiě)數(shù)據(jù)</p><p><b>  SETB RS</b></p><p&

69、gt;<b>  CLR RW</b></p><p><b>  SETB EN</b></p><p>  MOV P0,COM</p><p>  LCALL DELAY10MS</p><p><b>  CLR EN</b></p><

70、;p><b>  RET</b></p><p>  DELAY10MS: ;延時(shí)10MS</p><p>  MOV R6,#20</p><p>  D1: MOV R7,#250</p><p>  DJNZ R7,$</p><p>

71、  DJNZ R6,D1</p><p><b>  RET</b></p><p><b>  第4節(jié) 結(jié)束語(yǔ)</b></p><p>  以上就是我這次期末課程設(shè)計(jì)全部?jī)?nèi)容。本系統(tǒng)是以STC89C52為核心,外加各個(gè)模塊,最終達(dá)到讓小車(chē)遇障礙物靈活避障的目標(biāo)。本系統(tǒng)硬件電路比較簡(jiǎn)單,主要是通過(guò)軟件來(lái)實(shí)現(xiàn)各個(gè)功能,這

72、樣就可以讓小車(chē)負(fù)載輕,小車(chē)行動(dòng)就變得更靈活了。硬件電路感測(cè)模塊的光電開(kāi)關(guān)組價(jià)格昂貴是本系統(tǒng)的一不足之處,但是其他擁有此功能的傳感器精度不高,所以為了設(shè)計(jì)好這個(gè)系統(tǒng)還是選了光電開(kāi)關(guān)組。</p><p>  此小車(chē)我認(rèn)為要改進(jìn)的是,小車(chē)走向時(shí)能有語(yǔ)音播放,這樣就能更直觀的知道小車(chē)接下來(lái)的走向了。</p><p>  通過(guò)這次期末課程設(shè)計(jì),我對(duì)單片機(jī)有了更深層次的了解 ,課本上我們學(xué)習(xí)的是805

73、1單片機(jī),但是這次課程設(shè)計(jì)我選的是現(xiàn)在工業(yè)用的單片機(jī)STC89C52單片機(jī),此單片機(jī)操作與8051絕大部分是一樣的,所以知道了8051就可以對(duì)STC89C52進(jìn)行編程操作。學(xué)習(xí)8051是學(xué)習(xí)一種方法,要能夠舉一反三?,F(xiàn)在單片機(jī)種類(lèi)繁多,根據(jù)具體情況選擇合適的單片機(jī)是非常重要的。</p><p>  在這次期末課程設(shè)計(jì)中,我遇到了很多問(wèn)題。最害怕的也是最基本的是寫(xiě)匯編程序,由于以前學(xué)習(xí)單片機(jī)時(shí)寫(xiě)的都是C語(yǔ)言,所以一

74、段時(shí)間總覺(jué)得匯編語(yǔ)言過(guò)時(shí)了,不如C語(yǔ)言靈活,但是經(jīng)過(guò)這次期末課程設(shè)計(jì)覺(jué)得有些C語(yǔ)言跟匯編是沒(méi)法比的,對(duì)匯編語(yǔ)言也更熟悉了。上課時(shí)學(xué)匯編指令,只是記下來(lái)而已,沒(méi)有真正的寫(xiě)過(guò),因此經(jīng)過(guò)這次期末課程設(shè)計(jì),讓我知道了,學(xué)習(xí)一門(mén)語(yǔ)言光記是沒(méi)有用的,而且很容易忘記,最好的方法是在實(shí)際中多寫(xiě),多改,不要怕寫(xiě)不好,走出了第一步,接下里的就容易了。</p><p><b>  參考文獻(xiàn):</b></p&

75、gt;<p>  [1] 何立民 單片機(jī)高級(jí)教程—應(yīng)用于設(shè)計(jì) 北京航空航天大學(xué)出版社 2000.8</p><p>  [2] 張?chǎng)?單片機(jī)原理及應(yīng)用 電子工業(yè)出版社 2008.5</p><p>  [3] 郁有文 傳感器原理及工程應(yīng)用 西安電子科技大學(xué)出版社 2007.2</p>&

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論