2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  緒論1</b></p><p><b>  1系統(tǒng)方案選擇2</b></p><p><b>  1.1任務(wù)要求2</b></p><p>  1.1.1 設(shè)計任務(wù)2</

2、p><p>  1.1.2 設(shè)計要求2</p><p>  1.2總體設(shè)計方案2</p><p>  1.3方案選擇與分析3</p><p>  1.3.1控制器分析與比較3</p><p>  1.3.2電動車車體的選擇3</p><p>  1.3.3電機的選擇與分析4</p

3、><p>  1.3.4電機驅(qū)動電路方案選擇4</p><p>  1.3.5軌跡探測模塊設(shè)計與比較4</p><p>  1.3.6火源檢測設(shè)計與比較5</p><p>  1.3.7電源模塊5</p><p>  1.3.8避障模塊設(shè)計與分析5</p><p>  1.3.9滅火模塊

4、6</p><p><b>  1.4最終方案6</b></p><p>  2硬件實現(xiàn)及單元電路設(shè)計6</p><p>  2.1 STC89C52單片機系統(tǒng)概述及其引腳功能介紹6</p><p>  2.1.1 STC89C52單片機系統(tǒng)概述6</p><p>  2.1.2 單片機引

5、腳功能7</p><p>  2.2光電對管電路的設(shè)計9</p><p>  2.3火焰?zhèn)鞲衅骷皯?yīng)用10</p><p>  2.4電機驅(qū)動電路的設(shè)計11</p><p>  2.5滅火模塊設(shè)計13</p><p>  2.6避障功能的實現(xiàn)方法13</p><p>  3軟件系統(tǒng)設(shè)計

6、13</p><p>  3.1編譯語言及編譯環(huán)境13</p><p>  3.1.1匯編語言的概述13</p><p>  3.1.2 C語言概述13</p><p>  3.1.3 編譯語言及編譯環(huán)境綜述14</p><p>  3.2程序解析14</p><p>  3.2.1

7、各函數(shù)功能14</p><p>  3.2.2程序流程圖18</p><p><b>  4測試結(jié)果19</b></p><p><b>  結(jié)束語20</b></p><p><b>  致謝21</b></p><p><b> 

8、 參考文獻22</b></p><p>  附錄A:程序清單23</p><p><b>  緒論</b></p><p>  現(xiàn)在,隨著科技的快速發(fā)展,國內(nèi)外對小型智能系統(tǒng)的應(yīng)用越來越廣泛,種類也越來越多。本題目就是結(jié)合有關(guān)科研項目而確定的設(shè)計類課題,所設(shè)計的智能尋跡滅火小車應(yīng)能夠?qū)崿F(xiàn)自動發(fā)現(xiàn)火源、自動尋跡、自動前進接近火源并

9、完成滅火任務(wù)的功能。</p><p>  根據(jù)題目的要求,智能尋跡滅火小車控制系統(tǒng)采用一片STC89C52單片機作為本控制系統(tǒng)的主控芯片,硬件包括以下幾個模塊:驅(qū)動電機模塊、尋跡傳感器模塊、單片機控制模塊、火源傳感器模塊、風(fēng)扇模塊、電源模塊。本設(shè)計采用了STC89C52單片機為智能小車核心控制部分,通過查詢方式實現(xiàn)對小車的智能控制。小車由主控制板、傳感系統(tǒng)、風(fēng)扇系統(tǒng)和車身四部分組成。主控制系統(tǒng)由主控CPU電路、傳

10、感器接口電路、直流電機驅(qū)動電路等組成;傳感系統(tǒng)采用紅外傳感器檢測黑白線,火源傳感器檢測火源;行進直流電機驅(qū)動采用PWM調(diào)制技術(shù),可靈活方便地對車速、行進方向進行控制。</p><p>  本設(shè)計通過采用STC89C52單片機為控制核心,實現(xiàn)對小車的智能控制。該控制系統(tǒng)不僅在智能小車中有很強的實用價值,在汽車應(yīng)用、智能機器人等方面都有很強的實用價值,尤其是在機器人研究方面具有很好的發(fā)展前景。所以本設(shè)計與實際相聯(lián)系,

11、具有重要的現(xiàn)實意義。</p><p><b>  1系統(tǒng)方案選擇</b></p><p><b>  1.1任務(wù)要求</b></p><p>  1.1.1 設(shè)計任務(wù)</p><p>  設(shè)計制作一個智能滅火小車模型,能到指定區(qū)域進行搶險滅火工作。以蠟燭模擬火源,隨機分布在場地中,模擬滅火場地如圖1

12、-1所示。</p><p>  圖1-1模擬火場示意圖</p><p>  1.1.2 設(shè)計要求</p><p>  (1)智能滅火小車手動啟動后,自動尋找到火源的位置。</p><p>  (2)智能滅火小車必須按照固定的路線行進(黑白線)。</p><p>  (3)撲滅火源后自動檢測周圍環(huán)境是否還有其他火源。&

13、lt;/p><p>  (4)若有則繼續(xù)滅火,若無則停止工作。</p><p><b>  1.2總體設(shè)計方案</b></p><p>  總體方案為:整個電路分為驅(qū)動電機模塊、尋跡傳感器模塊、避障模塊、單片機控制模塊、火源傳感器模塊、風(fēng)扇模塊、電源模塊七個模塊。</p><p>  首先利用紅外對路面信號進行探測,利用火源

14、傳感器檢測火源信號,兩種信號經(jīng)過處理之后,送給單片機控制模塊進行實時運算,輸出相應(yīng)的信號給驅(qū)動電機模塊驅(qū)動電機轉(zhuǎn)動,從而控制整個小車的運動。系統(tǒng)方案框圖如圖1-2所示。</p><p>  圖1-2 方案設(shè)計框圖</p><p>  1.3方案選擇與分析</p><p>  1.3.1控制器分析與比較</p><p>  方案一:采用凌陽公司

15、的16位單片機,它是16位控制器,具有體積小、驅(qū)動能力高、集成度高、易擴展、可靠性高、功耗低、結(jié)構(gòu)簡單、中斷處理能力強等特點。處理速度高,尤其適用于語音處理和識別等領(lǐng)域。但是當(dāng)凌陽單片機應(yīng)用語音處理和辨識時,由于其占用的CPU資源較多而使得凌陽單片機同時處理其它任務(wù)的速度和能力降低。</p><p>  方案二:采用STC89C52單片機作為主控制器。STC89C52是一個低功耗,高性能的51內(nèi)核的CMOS 8位

16、單片機,片內(nèi)含8k空間的可反復(fù)擦寫1000次以上的Flash只讀存儲器,具有256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個IO口,2個16位可編程定時計數(shù)器。且該系列的51單片機可以不用燒寫器而直接用串口或并口就可以向單片機中下載程序。</p><p>  從方便使用和綜合性能的角度考慮,選擇了方案二。</p><p>  1.3.2電動車車體的選擇</p><

17、;p>  方案一:購買玩具電動車。購買的玩具電動車具有組裝完整的車架車輪、電機及其驅(qū)動電路。但是一般的說來,玩具電動車具有如下缺點:首先,這種玩具電動車由于裝配緊湊,使得各種所需傳感器的安裝十分不方便。其次,這種電動車一般都是前輪轉(zhuǎn)向后輪驅(qū)動,不能適應(yīng)該題目的方格地圖,不能方便迅速的實現(xiàn)原地保持坐標(biāo)轉(zhuǎn)90度甚至180度的彎角。而且這種電動車一般都價格不扉。因此放棄了此方案。</p><p>  方案二:自己

18、制作電動車。經(jīng)過反復(fù)考慮論證,我們制定了左右兩輪分別驅(qū)動,后方萬向輪轉(zhuǎn)向的方案。即左右輪分別用兩個直流電機進行驅(qū)動,后面裝一個萬向輪。這樣,當(dāng)兩個電機轉(zhuǎn)向相反同時轉(zhuǎn)速相同時就可以實現(xiàn)電動車的原地旋轉(zhuǎn),由此可以輕松的實現(xiàn)小車坐標(biāo)不變的90度和180度的轉(zhuǎn)彎。</p><p>  對于車架材料的選擇,經(jīng)過比較選擇了硬塑板。用硬塑板做的車架比塑料車架更加牢固,比鐵制小車更輕便,美觀。故選擇了方案二。</p>

19、<p>  1.3.3電機的選擇與分析</p><p>  方案一:采用直流電機</p><p>  直流電機速度快,價格便宜,通過調(diào)節(jié)電流來改變速度,驅(qū)動電路簡單,調(diào)速范圍廣,調(diào)速特性平滑。</p><p>  方案二:采用步進電機</p><p>  步進電機是一種能將電脈沖轉(zhuǎn)化為角位移的機構(gòu),通過控制脈沖個數(shù)來控制角位移量

20、,通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,其精確度高,但控制相對較繁瑣。</p><p>  由于本系統(tǒng)對電機速度控制要求不高,采用方案一。</p><p>  1.3.4電機驅(qū)動電路方案選擇</p><p>  方案一:采用專用芯片L298N作為電機驅(qū)動芯片。L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,它相應(yīng)頻率高,L298N芯片可以驅(qū)動兩個二相電機,也

21、可以驅(qū)動一個四相電機,輸出電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓;可以直接用單片機的IO口提供信號;電路簡單,使用比較方便。</p><p>  方案二:對于直流電機用分立元件構(gòu)成驅(qū)動電路。由分立元件構(gòu)成電機驅(qū)動電路,結(jié)構(gòu)簡單,價格低廉,在實際應(yīng)用中應(yīng)用廣泛。但是這種電路工作性能不夠穩(wěn)定。</p><p>  通過比較,使用L298N芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅(qū)動步進電機

22、,且價格不高,采用方案一。</p><p>  1.3.5軌跡探測模塊設(shè)計與比較</p><p>  方案一:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。但是這種方案受光照影響很大,不能夠穩(wěn)

23、定的工作。因此要考慮其他更加穩(wěn)定的方案。</p><p>  方案二:用紅外發(fā)射管和接收管自己制作光電對管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測出黑線繼而輸出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響,所以也放棄了這個方案。</p&

24、gt;<p>  方案三:用RPR220型光電對管。RPR220是一種一體化反射型光電探測器,其發(fā)射器是一個砷化鎵紅外發(fā)光二極管,而接收器是一個高靈敏度,硅平面光電三極管。RPR220采用DIP4封裝,塑料透鏡可以提高靈敏度,內(nèi)置可見光過濾器能減小離散光的影響,體積小,結(jié)構(gòu)緊湊。當(dāng)發(fā)光二極管發(fā)出的光反射回來時,三極管導(dǎo)通輸出低電平。此光電對管調(diào)理電路簡單,工作性能穩(wěn)定。</p><p>  因此本設(shè)

25、計采用了方案三。</p><p>  1.3.6火源檢測設(shè)計與比較</p><p>  火焰檢測有溫度傳感器、煙霧傳感器、紅外傳感器、紫外傳感器以及CCD圖像傳感器。綜合論證了這幾種傳感器,制定了如下幾種方案。</p><p>  方案一:用溫度傳感器如熱電偶,熱電偶在工業(yè)應(yīng)用上十分廣泛。但是熱電偶感應(yīng)的范圍太廣,而且由于火焰只是周圍溫度稍高且范圍較窄。實驗驗證用熱

26、電偶檢測火焰精度不高,故放棄了此方案。</p><p>  方案二:用煙霧傳感器。煙霧傳感器廣泛應(yīng)用與火警檢測。但是由于此題目的火源是用蠟燭模擬的,沒有太大的煙霧,因此用煙霧傳感器作為此小型電動車的火焰?zhèn)鞲衅饕膊粔驅(qū)嵱?,因此放棄了此方案?lt;/p><p>  方案三:用紫外傳感器檢測火焰。紫外火焰?zhèn)鞲衅髦饕獞?yīng)用于火災(zāi)消防系統(tǒng),尤其是一些易燃易爆場所,用來監(jiān)測火焰的產(chǎn)生。紫外線火焰?zhèn)鞲衅鞯撵`

27、敏度高,相應(yīng)速度快,抗干擾能力強,對明火特別敏感,能對火災(zāi)立即作出反應(yīng)。但是紫外傳感器檢測的范圍太大,不適用于本系統(tǒng)。</p><p>  方案四:用CCD圖像傳感器。用CCD圖像傳感器可以檢測各種被檢測量,適用于各種量的檢測。但是用CCD圖像傳感器需要處理的信號量太大,且體積較大,不使用與本系統(tǒng)。</p><p>  方案五:用遠(yuǎn)紅外傳感器。經(jīng)試驗驗證,遠(yuǎn)紅外火焰?zhèn)鞲衅鳈z測距離遠(yuǎn),線性度

28、好,檢測準(zhǔn)確,且體積較小。很適用于本題目的要求。</p><p>  因此本設(shè)計采用了方案五。</p><p><b>  1.3.7電源模塊</b></p><p>  由于本系統(tǒng)需要電池供電,我們考慮了如下集中方案為系統(tǒng)供電。</p><p>  方案一:采用12V蓄電池為系統(tǒng)供電。蓄電池具有較強的電流驅(qū)動能力以及穩(wěn)

29、定的電壓輸出性能。</p><p>  方案二:采用6節(jié)1.5V鋰電池分別3節(jié)串聯(lián),分別供單片機和電機驅(qū)動使用,單片機和傳感器工作穩(wěn)定,電機工作互不影響,且電池體積較小,能夠滿足系統(tǒng)要求。</p><p>  綜上考慮,采用了方案二。</p><p>  1.3.8避障模塊設(shè)計與分析</p><p>  方案一:用超聲波傳感器進行避障。超聲波

30、傳感器的原理是:超聲波由壓電陶瓷超聲波傳感器發(fā)出后,遇到障礙物便反射回來,再被超聲波傳感器接收。然后將這信號放大后送入單片機。超聲波傳感器在避障的設(shè)計中被廣泛應(yīng)用。但是超聲波傳感器需要40KHz的方波信號來工作,因為超聲波傳感器對工作頻率要求較高,偏差在1%內(nèi),所以用模擬電路來做方波發(fā)生器比較難以實現(xiàn)。而用單片機來作方波發(fā)生器未免有些浪費資源。因此考慮其他的方案。</p><p>  方案二:用紅外光電開關(guān)進行避

31、障。光電開關(guān)的工作原理是根據(jù)投光器發(fā)出的光束,被物體阻斷或部分反射,受光器最終據(jù)此作出判斷反應(yīng),是利用被檢測物體對紅外光束的遮光或反射,由同步回路選通而檢測物體的有無,其物體不限于金屬,對所有能反射光線的物體均能檢測。光電開關(guān)E3F-DS10C4操作簡單,使用方便。當(dāng)有光線反射回來時,輸出低電平。當(dāng)沒有光線反射回來時,輸出高電平。</p><p>  考慮到本系統(tǒng)只需要檢測簡單障礙物,沒有十分復(fù)雜的環(huán)境。為了使用

32、方便,便于操作和調(diào)試,最終選擇了方案二。</p><p><b>  1.3.9滅火模塊</b></p><p>  方案一:用風(fēng)扇將蠟燭吹滅,檢測并確定火源在課吹滅的范圍內(nèi)后由單片機控制風(fēng)扇開啟,吹滅蠟燭。經(jīng)實驗確定當(dāng)采用5V電源給風(fēng)扇電機供電時,火源在20cm以內(nèi)都可被吹滅。能達(dá)到要求,并且簡單方便各方面的實現(xiàn)都比較簡單,工作也比較穩(wěn)定,調(diào)試快捷。適合應(yīng)用。<

33、;/p><p>  方案二:用水管噴滅,由于整個系統(tǒng)是電子系統(tǒng),如用水則有可能發(fā)生斷路或出現(xiàn)危險,并且小車還要承載水的重量,對小車電機驅(qū)動要求比較高,故排除這種方案,選擇方案一。</p><p><b>  1.4最終方案</b></p><p>  經(jīng)過反復(fù)論證,最終確定了如下方案:</p><p> ?。?)手工制作車體

34、。</p><p>  (2)采用STC89C52單片機作為主控制器。</p><p> ?。?)用直流電機實現(xiàn)小車行駛與滅火。</p><p> ?。?)用6節(jié)鋰電池分別給單片機和電機供電。</p><p> ?。?)用RPR220型光電對管進行尋跡。</p><p>  (6)遠(yuǎn)紅外火焰?zhèn)鞲衅髯鳛楸鞠到y(tǒng)的火焰?zhèn)鞲衅?/p>

35、。</p><p> ?。?)L298N作為直流電機的驅(qū)動芯片。</p><p>  (7)用紅外光電開關(guān)進行避障。</p><p>  2硬件實現(xiàn)及單元電路設(shè)計</p><p>  2.1 STC89C52單片機系統(tǒng)概述及其引腳功能介紹</p><p>  2.1.1 STC89C52單片機系統(tǒng)概述</p>

36、;<p>  STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個16 位 定時器/計數(shù)器

37、,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。</p><p><b>  參數(shù):</b></p

38、><p>  (1)增強型8051 單片機,6 時鐘/機器周期和12 時鐘/機器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051.[1]</p><p>  (2)工作電壓:5.5V~3.3V(5V 單片機)/3.8V~2.0V(3V 單片機)</p><p>  (3)工作頻率范圍:0~40MHz,相當(dāng)于普通8051 的0~80MHz,實際工作 頻率可達(dá)48MHz&l

39、t;/p><p>  (4)用戶應(yīng)用程序空間為8K 字節(jié)</p><p>  (5)片上集成512 字節(jié)RAM</p><p>  (6)通用I/O 口(32 個),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。</p><p>  (7)IS

40、P(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片</p><p>  (8)具有EEPROM 功能</p><p>  (9)具有看門狗功能</p><p>  (10)共3 個16 位定時器/計數(shù)器。即定時器T0、T1、T2</p>&l

41、t;p>  (11)外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒</p><p>  (12)通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART</p><p>  (13)工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)</p><p>  (14) PDIP 封裝<

42、/p><p>  2.1.2 單片機引腳功能</p><p>  STC89C52是一個有40個引腳的芯片,引腳配置如圖2-1所示:</p><p>  圖2-1 STC89C52引腳配置</p><p>  STC89C52單片機各個引腳功能如表2-2所示。</p><p>  表2-2 STC89C51RC/RD+引腳

43、示意圖</p><p>  2.2光電對管電路的設(shè)計</p><p>  實驗中設(shè)計并論證了兩種光電對管檢測及調(diào)理電路,電路原理圖分別如圖2-3和圖2-4所示。</p><p>  圖 2-3 采用三極管檢測電路原理圖</p><p>  圖2-3所示電路中,R1起限流電阻的作用,當(dāng)有光反射回來時,光電對管中的三極管導(dǎo)通,R2的上端變?yōu)楦唠娖?/p>

44、,此時VT1飽和導(dǎo)通,三極管集電極輸出低電平。</p><p>  當(dāng)沒有光反射回來時,光電對管中的三極管不導(dǎo)通,VT1截至,其集電極輸出高電平。</p><p>  VT1在該電路中起到濾波整形的作用。</p><p>  經(jīng)實驗和示波器驗證,該電路工作性能一般,輸出還有雜散干擾波的成分。如果輸出加施密特觸發(fā)器就可以實現(xiàn)良好的輸出波形。</p>&l

45、t;p>  但是這種電路用電量比較大,給此種傳感器調(diào)理電路供電的電池壓降較快。究其原因,是因為光敏三極管和三極管VT1導(dǎo)通時的導(dǎo)通電流較大。</p><p>  因此考慮用比較器的方案。</p><p>  圖2-4 采用電壓比較器檢測電路原理圖</p><p>  在圖2-4中,可調(diào)電阻R3可以調(diào)節(jié)比較器的門限電壓,經(jīng)示波器觀察,輸出波形相當(dāng)規(guī)則,可以直接夠

46、單片機查詢使用。</p><p>  而且經(jīng)實驗驗證給此電路供電的電池的壓降較小。因此我們選擇此電路作為我們的傳感器檢測與調(diào)理電路。</p><p>  在尋跡傳感器的設(shè)計中,我們在車體底盤的前端裝有四個傳感器,用來起到尋跡的作用。</p><p>  安裝在前端的四個傳感器直接將信號送給單片機,當(dāng)中間兩個傳感器中一個傳回低電平,則為踩線,既調(diào)整車頭方向,當(dāng)四個傳感

47、器均為高點平時認(rèn)定為一個交點,并且2個交點間距離約為25cm。</p><p>  因為地圖為方格,所當(dāng)小車轉(zhuǎn)向時會出現(xiàn)四個傳感器中不定時離開黑線,為保證能準(zhǔn)確轉(zhuǎn)彎。再因RPR220檢測到黑線返回高電平,否則為低電平,利用這一原理。當(dāng)小車右轉(zhuǎn)時,位于小車最右端傳感器會由黑線轉(zhuǎn)到白色區(qū)域,這時會產(chǎn)生一個下降沿,將下降沿接至單片機外部中斷用于判斷是否已經(jīng)完成轉(zhuǎn)向,左轉(zhuǎn)原理同上。經(jīng)實驗證實此方法能使小車穩(wěn)定轉(zhuǎn)向。<

48、;/p><p>  2.3火焰?zhèn)鞲衅骷皯?yīng)用</p><p>  火焰?zhèn)鞲衅鞯暮脡膶τ谠撓到y(tǒng)的功能能否實現(xiàn)十分重要,火焰?zhèn)鞲衅骷捌湔{(diào)理電路如圖2-3-1所示。</p><p>  圖2-5 火焰?zhèn)鞲衅髟韴D</p><p>  圖2-5中,可調(diào)電阻RV1可以調(diào)節(jié)比較器的門限電壓,本電路還能輸出模擬和數(shù)字兩種信號,非常適合本次系統(tǒng)的條件。</p

49、><p>  火焰?zhèn)鞲衅髂軌蛱綔y到波長在700納米~1000納米范圍內(nèi)的紅外光,探測角度為60,其中紅外光波長在880納米附近時候的靈敏度達(dá)到最大。遠(yuǎn)紅外火焰探頭將外界紅外光的強弱變化轉(zhuǎn)化為電流的變化,通過A/D轉(zhuǎn)換器反映為0~255范圍內(nèi)數(shù)值的變化。外界紅外光越強,數(shù)值越小;反之則越大。</p><p>  利用四個火焰?zhèn)鞲衅?,調(diào)節(jié)其中兩個傳感器門限電壓,使得傳感器能檢測到整張地圖距離的火焰

50、,再調(diào)節(jié)另兩個傳感器使得只能檢測一個方格距離的火焰。這四個傳感器分別兩兩置于小車兩側(cè)距離地面約10cm(相當(dāng)于火焰的高度),一遠(yuǎn)一近配合使用。</p><p>  我們將能檢測整張地圖的傳感器稱為“遠(yuǎn)視”,只能檢測一格的稱為“近視”。當(dāng)遠(yuǎn)視傳感器檢測到火焰信號,執(zhí)行滅火程序,小車向檢測到火源的方向前行。當(dāng)“近視”傳感器檢測到信號,說明火焰處于當(dāng)前所在方格,觸發(fā)轉(zhuǎn)向開啟風(fēng)扇。</p><p>

51、;  2.4電機驅(qū)動電路的設(shè)計</p><p>  直流電機里邊固定有環(huán)狀永磁體,電流通過轉(zhuǎn)子上的線圈產(chǎn)生安培力,當(dāng)轉(zhuǎn)子上的線圈與磁場平行時,再繼續(xù)轉(zhuǎn)受到的磁場方向?qū)⒏淖?,因此此時轉(zhuǎn)子末端的電刷跟轉(zhuǎn)換片交替接觸,從而線圈上的電流方向也改變,產(chǎn)生的洛倫茲力方向不變,所以電機能保持一個方向轉(zhuǎn)動。</p><p>  采用電機驅(qū)動芯片L298N作為電機驅(qū)動,管腳圖如圖2-6所示,原理圖如圖2-7

52、所示。</p><p>  L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。</p><p>  圖2-6 L298N管腳</p><p>  圖2-7 電機驅(qū)動原理圖</p><p>  L298

53、有兩路電源分別為邏輯電源和動力電源,上圖中6V為邏輯電源,12V為動力電源。J4接入邏輯電源,J6接入動力電源,J1與J2分別為單片機控制兩個電機的輸入端,J3與J5分別與兩個電極的正負(fù)極相連。</p><p>  ENA與ENB直接接入6V邏輯電源也就是說兩個電機時刻都工作在使能狀態(tài),控制電機的運行狀態(tài)只有通過J1與J2兩個接口。</p><p>  由于我們使用的電機是線圈式的,在從運

54、行狀態(tài)突然轉(zhuǎn)換到停止?fàn)顟B(tài)和從順時針狀態(tài)突然轉(zhuǎn)換到逆時針狀態(tài)時會形成很大的反向電流,在電路中加入二極管的作用就是在產(chǎn)生反向電流的時候進行泄流,保護芯片的安全。</p><p><b>  2.5滅火模塊設(shè)計</b></p><p>  如圖2-8所示,滅火風(fēng)扇的驅(qū)動由5v電源供電。利用三級管的開關(guān)應(yīng)用,實現(xiàn)單片機控制風(fēng)扇轉(zhuǎn)停。當(dāng)單片機給低電平時,風(fēng)扇開始轉(zhuǎn)動吹滅火焰,否

55、則不轉(zhuǎn)。</p><p>  圖2-8 滅火風(fēng)扇原理圖</p><p>  2.6避障功能的實現(xiàn)方法</p><p>  由于火源為不確定位置,所以小車還屬于前進并還未檢測到火焰而遇到障礙物,首先讓小車先后退,在遇到黑線交點時先右轉(zhuǎn),因為地圖是有限的,所以如果轉(zhuǎn)的方向不是正確的火焰方向,則當(dāng)小車行駛到地圖邊緣時就180度轉(zhuǎn),就能正確的判斷出火源的具體位置。</

56、p><p><b>  3軟件系統(tǒng)設(shè)計</b></p><p>  3.1編譯語言及編譯環(huán)境</p><p>  3.1.1匯編語言的概述</p><p>  為了克服機器語言的缺點,用英文字條來代替機器語言,這些英文字符被稱為助記符,用助記符表示的指令稱為符號語言或匯編語言。</p><p>  匯

57、編語言是面向機器的語言,程序設(shè)計人員必須對單片機的硬件有相當(dāng)深入的了解。助記符指令和機器指令一一對應(yīng),所以用匯編語言編寫的程序效率高,占用的存儲空間小,運行速度快,因此用匯編語言能編寫出最優(yōu)化的程序。匯編語言程序能直接管理和控制硬件設(shè)備(功能部件),它能處理中斷,也能直接訪問存儲器及I/O接口電路。但是,匯編語言和機器語言一樣,都脫離不開具體機器的硬件,因此,這兩種語言均是面向機器的語言,缺乏通用性。</p><p&

58、gt;  3.1.2 C語言概述</p><p>  C語言是國際上廣泛流行的計算機高級語言,既可用來寫系統(tǒng)軟件,也可用來寫應(yīng)用軟件。C語言功能豐富,表達(dá)能力強,使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點。因此,C語言特別適合于編寫系統(tǒng)軟件。它的特點如下:</p><p>  (1)語言簡潔、緊湊,使用方便、靈活。</p>

59、<p>  (2)運算符豐富,數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。</p><p>  (4)具有結(jié)構(gòu)化的控制語句用函數(shù)作為程序的模塊單位,便于實現(xiàn)程序的模塊化。</p><p>  (5)語法限制不大嚴(yán)格,程序設(shè)計自由度大。</p><p>  (6)C語言允許直接訪問物理地址。</p><p>  (7)生成目標(biāo)代碼

60、質(zhì)量高,程序執(zhí)行效率高,用C語言寫的程序可移植性好。</p><p>  3.1.3 編譯語言及編譯環(huán)境綜述</p><p>  兼于以上兩種編譯語言的優(yōu)缺點,我選擇了Keil軟件。Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案

61、,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。如果使用C語言編程,那么Keil幾乎就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令事情變得事半功倍。</p><p><b>  3.2程序解析</b></p><p>  3.2.1各函數(shù)功能</p><p><b>

62、  電機的正反轉(zhuǎn):</b></p><p>  void DC_LEFT(void)</p><p><b>  {</b></p><p>  DC1_1 = 1;</p><p>  DC1_2 = 0;</p><p><b>  }</b><

63、/p><p>  void DC_RIGHT(void) </p><p><b>  {</b></p><p>  DC2_1 = 1;</p><p>  DC2_2 = 0;</p><p><b>  }</b></p><p>  voi

64、d DC_CLOSE_LEFT(void)</p><p><b>  {</b></p><p>  DC1_1 = DC1_2 = 0;</p><p><b>  }</b></p><p>  void DC_CLOSE_RIGHT(void)</p><p>&l

65、t;b>  {</b></p><p>  DC2_1 = DC2_2 = 0;</p><p><b>  }</b></p><p>  void DC_LEFT_BACK(void)</p><p><b>  {</b></p><p>  D

66、C1_1 = 0;</p><p>  DC1_2 = 1;</p><p><b>  }</b></p><p>  void DC_RIGHT_BACK(void) </p><p><b>  {</b></p><p>  DC2_1 = 0;</p&g

67、t;<p>  DC2_2 = 1;</p><p><b>  }</b></p><p>  其中DC1為左輪,DC2為右輪。此函數(shù)分別控制兩個電機正反轉(zhuǎn),通過左右兩輪正反轉(zhuǎn)的配合能實現(xiàn)各個方向的轉(zhuǎn)彎。</p><p><b>  尋跡功能:</b></p><p>  if(!N

68、EAR_LEFT_F && !STOP && !NEAR_RIGHT_F)</p><p><b>  {</b></p><p>  if(!Back_Flag && !BACK)</p><p><b>  {</b></p><p>  if(l

69、eft !=0 && right != 0)</p><p><b>  {</b></p><p>  DC_LEFT();</p><p>  DC_RIGHT();</p><p><b>  }</b></p><p>  if(left == 0 &

70、amp;& right != 0)</p><p><b>  {</b></p><p>  DC_LEFT();</p><p>  DC_CLOSE_RIGHT();</p><p><b>  }</b></p><p>  if(right ==0 &

71、;& left != 0)</p><p><b>  {</b></p><p>  DC_RIGHT();</p><p>  DC_CLOSE_LEFT();</p><p><b>  }</b></p><p><b>  }</b>&

72、lt;/p><p>  else if(!NEAR_LEFT_F && !NEAR_RIGHT_F)</p><p><b>  BACK = 1;</b></p><p>  根據(jù)尋跡模塊傳回的信號,判斷小車是否超出黑線,左右都沒有超出,則執(zhí)行前進函數(shù);當(dāng)左輪超出,執(zhí)行右轉(zhuǎn)函數(shù);當(dāng)右輪超出,執(zhí)行左轉(zhuǎn)函數(shù);當(dāng)小車回到黑線上,繼續(xù)前進

73、。通過不斷的查詢實現(xiàn)尋跡功能。</p><p><b>  火焰位置判斷:</b></p><p>  if(first && last)</p><p><b>  {</b></p><p>  if(!IR_RIGHT)</p><p>  CORNER

74、_RIGHT = 1;</p><p><b>  else </b></p><p>  CORNER_RIGHT = 0;</p><p>  if(!IR_LEFT)</p><p>  CORNER_LEFT = 1;</p><p><b>  else</b>&l

75、t;/p><p>  CORNER_LEFT = 0;</p><p>  if(!IR_RIGHT || !IR_LEFT)</p><p><b>  BACK = 0;</b></p><p><b>  }</b></p><p>  if(CORNER_RIGHT)&l

76、t;/p><p><b>  {</b></p><p>  DC_CLOSE_RIGHT();</p><p>  DC_LEFT();</p><p><b>  if(BACK)</b></p><p>  PASS = last;</p><p>

77、<b>  else</b></p><p>  PASS = left;</p><p><b>  }</b></p><p>  if(CORNER_LEFT)</p><p><b>  {</b></p><p>  DC_RIGHT();&l

78、t;/p><p>  DC_CLOSE_LEFT();</p><p><b>  if(BACK)</b></p><p>  PASS = first;</p><p><b>  else</b></p><p>  PASS = right;</p><

79、;p><b>  }</b></p><p>  void EX1_ISR (void) interrupt 0</p><p><b>  {</b></p><p>  CORNER_RIGHT = 0;</p><p>  CORNER_LEFT = 0;</p><

80、p>  if(!IR_RIGHT || !IR_LEFT)</p><p><b>  {</b></p><p>  if(first && last)</p><p><b>  BACK = 0;</b></p><p><b>  }</b><

81、;/p><p><b>  }</b></p><p>  根據(jù)小車兩側(cè)火焰?zhèn)鞲衅餍盘柵袛嗷鹧嫖恢?,?dāng)火焰出現(xiàn)在小車右側(cè),將右轉(zhuǎn)變量置1,當(dāng)火焰出現(xiàn)在小車左側(cè),將左轉(zhuǎn)變量置1;再通過判斷兩個變量的值來實現(xiàn)不同的轉(zhuǎn)向。因為這里為90度轉(zhuǎn)彎,所以配合尋跡模塊的黑線傳回高電平,超出黑線低電平特點,當(dāng)小車轉(zhuǎn)過90度后,尋跡模塊邊緣兩側(cè)的傳感器必將由黑線到白色區(qū)域。利用這個下降沿觸

82、發(fā)外部中斷,在中斷中將轉(zhuǎn)向信號清零,使其能繼續(xù)前進。其中PASS為外部中斷端口。</p><p><b>  滅火功能:</b></p><p>  if(!NEAR_LEFT)</p><p>  NEAR_LEFT_F = 1;</p><p>  if(NEAR_LEFT_F)</p><p&g

83、t;<b>  {</b></p><p>  DC_LEFT_BACK();</p><p>  DC_RIGHT();</p><p><b>  }</b></p><p>  if(!NEAR_RIGHT)</p><p>  NEAR_RIGHT_F = 1;<

84、;/p><p>  if(NEAR_RIGHT_F)</p><p><b>  {</b></p><p>  DC_RIGHT_BACK();</p><p>  DC_LEFT();</p><p><b>  }</b></p><p><b

85、>  if(!IR_S)</b></p><p><b>  {</b></p><p>  NEAR_RIGHT_F = 0;</p><p>  NEAR_LEFT_F = 0;</p><p>  STOP = 1; </p><p><b>  DC_S =

86、1;</b></p><p>  DC_CLOSE_RIGHT();</p><p>  DC_CLOSE_LEFT();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  DC_S = 0

87、;</b></p><p>  當(dāng)小車兩側(cè)的近火焰?zhèn)鞲衅鱾骰氐碗娖?,則說明火焰處于小車當(dāng)前所在的方格內(nèi)。當(dāng)火焰在小車左側(cè),則讓小車左輪反轉(zhuǎn)右輪正轉(zhuǎn),實現(xiàn)小車原地左方向打轉(zhuǎn);右側(cè)則讓左輪正轉(zhuǎn)右輪反轉(zhuǎn),讓小車右方向打轉(zhuǎn)。再當(dāng)置于小車前端的火焰?zhèn)鞲衅鱾骰氐碗娖?,說明小車車頭正對著火焰,開啟風(fēng)扇,當(dāng)火焰吹滅后,風(fēng)扇停止轉(zhuǎn)動。</p><p><b>  完整程序見附錄A。&l

88、t;/b></p><p>  3.2.2程序流程圖</p><p><b>  圖3-1程序流程圖</b></p><p><b>  4測試結(jié)果</b></p><p><b>  1.測試儀器</b></p><p>  模擬跑道、計算機、開

89、關(guān)電源、示波器、數(shù)字萬用表等。</p><p><b>  2.測試方法</b></p><p>  完全按照要求模擬實驗環(huán)境,用地板革(150cmX150cm)制作模擬場地,在地板革上用黑膠帶做成網(wǎng)格,黑膠帶寬1.5cm,跑道長度寬度均為150cm,反復(fù)使小車在模擬環(huán)境中進行實驗,并記錄各項數(shù)據(jù)。</p><p>  3.測試數(shù)據(jù)及測試結(jié)果分

90、析</p><p>  測試顯示,當(dāng)蠟燭位置不是位于方格中間時,小車不能穩(wěn)定的實現(xiàn)轉(zhuǎn)向。</p><p>  問題分析:由于轉(zhuǎn)向的觸發(fā)必須是在小車在黑線交點的同時檢測到火焰,由于傳感器位置不合理,使當(dāng)小車到黑色交點的時候不能準(zhǔn)確的檢測到火焰,而不能穩(wěn)定的發(fā)出轉(zhuǎn)向信號。</p><p>  問題解決:調(diào)整火焰?zhèn)鞲衅鞯奈恢谩?lt;/p><p>&l

91、t;b>  結(jié)束語</b></p><p>  小車的特點能實現(xiàn)自動尋路找到火源,但由于火焰?zhèn)鞲衅鞯臋z測角度為60度,并不能在安全區(qū)檢測到整張地圖,所以對于火源的位置有一定的局限。解決這一問題可以使用多個遠(yuǎn)紅外火焰?zhèn)鞲衅髋帕谐梢欢ń嵌龋瑢崿F(xiàn)對全地圖的檢測。</p><p>  滅火全程均為自動,不需要人員干擾、遙控。</p><p>  出現(xiàn)的一些

92、問題,由于尋跡模塊安裝位置不是很合理,所以偶爾會出現(xiàn)在黑線交點處越出軌道的現(xiàn)象,后經(jīng)過對模塊的調(diào)整和程序上配合這一現(xiàn)象有所好轉(zhuǎn)。這一問題給了我一個深刻的教訓(xùn),在設(shè)計系統(tǒng)前就應(yīng)考慮到可能會出現(xiàn)的問題,而不能只一味的追求美觀。</p><p>  通過這幾天的設(shè)計,我們不但增強了實踐能力和協(xié)作精神,而且懂得了聯(lián)系實際的重要性,這對我們以后的學(xué)習(xí)和工作不無裨益。當(dāng)然,我們的設(shè)計還存在著一些缺陷,有待于在將來的設(shè)計中進一

93、步提高,在此懇請各位老師批評指正。</p><p><b>  致謝</b></p><p>  在此,我首先要衷心地感謝我的指導(dǎo)老師,在這次設(shè)計中遇到的每個問題都是老師給予解答,詳細(xì)設(shè)計等整個過程中都給予了我悉心的指導(dǎo),給我提出了許多極具價值的建議。在生活上兩位老師同樣給予了我極大的支持和關(guān)心,在為人處世上也對我進行諄諄的教導(dǎo),這些都將對我今后的學(xué)習(xí)和工作產(chǎn)生深刻的

94、影響,使我獲益匪淺。除了敬佩老師的專業(yè)水平和綜合素養(yǎng)外,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的研究精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,必將對我今后的學(xué)習(xí)和工作產(chǎn)生深遠(yuǎn)的影響,老師傳授給我的知識也必然會在我人生的學(xué)習(xí)階段乃至各個階段發(fā)揮重要的作用。</p><p><b>  參考文獻</b></p><p>  [1]何玲.蔡莉莎.曾維鵬.單片機最小系統(tǒng)的設(shè)計與制作.北京:電子工業(yè)出版社,20

95、12.1</p><p>  [2]譚浩強.C程序設(shè)計.北京:清華大學(xué)初版社,2005.</p><p>  [3]翟玉文.梁偉.艾學(xué)忠.電子設(shè)計與實踐[M].北京:中國電力出版社,2005.256-257.</p><p>  [4]張景元.基于單片機的多用途定時器的設(shè)計與實現(xiàn)[J].電子工程師,2000年第8期22-31.</p><p>

96、;  [5]張專成.趙懷勛.單片機測控系統(tǒng)中的監(jiān)視定時器[J].武警技術(shù)學(xué)院學(xué)報,Mar 1997.</p><p>  [6]馮成龍.傳感器應(yīng)用技術(shù)項目化教程.北京:清華大學(xué)出版社;北京交通大學(xué)出版社,2009.7</p><p><b>  附錄A:程序清單</b></p><p>  #include <reg52.h><

97、;/p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  void DC_LEFT(void);</p><p>  void DC_RIGHT(void);</p><p>  void DC_CLOSE_LEF

98、T(void);</p><p>  void DC_CLOSE_RIGHT(void);</p><p>  void DC_LEFT_BACK(void);</p><p>  void DC_RIGHT_BACK(void);</p><p>  void EX0init(void);</p><p>  voi

99、d RUN_DC(void);</p><p>  void IR_Rev (void);</p><p>  sbit DC1_1 = P1^4;</p><p>  sbit DC1_2 = P1^5;</p><p>  sbit DC2_1 = P1^6;</p><p>  sbit DC2_2 = P1^7

100、;</p><p>  sbit IR = P1^2;</p><p>  sbit first = P2^3;</p><p>  sbit left = P2^2;</p><p>  sbit right = P2^1; </p><p>  sbit last = P2^0;</p>&l

101、t;p>  sbit PASS = P3^2;</p><p>  sbit IR_RIGHT = P1^1;</p><p>  sbit IR_LEFT = P1^0;</p><p>  sbit NEAR_LEFT = P3^0;</p><p>  sbit NEAR_RIGHT = P3^1;</p><

102、p>  sbit IR_S = P1^3;</p><p>  sbit DC_S = P0^0;</p><p>  bit NEAR_LEFT_F = 0;</p><p>  bit NEAR_RIGHT_F = 0;</p><p>  bit BACK = 0;</p><p>  bit CORNER

103、_RIGHT = 0;</p><p>  bit CORNER_LEFT = 0;</p><p>  bit STOP = 0;</p><p>  bit Back_Flag;</p><p>  void main(void)</p><p><b>  {</b></p>

104、<p>  EX0init();</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  IR_Rev();</b></p><p>  RUN_DC();</p><p>&

105、lt;b>  }</b></p><p><b>  }</b></p><p>  /*------------------------------------------------</p><p><b>  左輪前進驅(qū)動</b></p><p>  ------------

106、------------------------------------*/</p><p>  void DC_LEFT(void)</p><p><b>  {</b></p><p>  DC1_1 = 1;</p><p>  DC1_2 = 0;</p><p><b&g

107、t;  }</b></p><p>  /*------------------------------------------------</p><p><b>  右輪前進驅(qū)動</b></p><p>  ------------------------------------------------*/</p>

108、<p>  void DC_RIGHT(void) </p><p><b>  {</b></p><p>  DC2_1 = 1;</p><p>  DC2_2 = 0;</p><p><b>  }</b></p><p>  /*--------

109、----------------------------------------</p><p><b>  左輪停止</b></p><p>  ------------------------------------------------*/</p><p>  void DC_CLOSE_LEFT(void)</p>&l

110、t;p><b>  {</b></p><p>  DC1_1 = DC1_2 = 0;</p><p><b>  }</b></p><p>  /*------------------------------------------------</p><p><b>  右

111、輪停止</b></p><p>  ------------------------------------------------*/</p><p>  void DC_CLOSE_RIGHT(void)</p><p><b>  {</b></p><p>  DC2_1 = DC2_2 = 0;&l

112、t;/p><p><b>  }</b></p><p>  /*------------------------------------------------</p><p><b>  左輪后退驅(qū)動</b></p><p>  -----------------------------------

113、-------------*/</p><p>  void DC_LEFT_BACK(void)</p><p><b>  {</b></p><p>  DC1_1 = 0;</p><p>  DC1_2 = 1;</p><p><b>  }</b><

114、;/p><p>  /*------------------------------------------------</p><p><b>  右輪后退驅(qū)動</b></p><p>  ------------------------------------------------*/</p><p>  void D

115、C_RIGHT_BACK(void) </p><p><b>  {</b></p><p>  DC2_1 = 0;</p><p>  DC2_2 = 1;</p><p><b>  }</b></p><p>  /*----------------------

116、--------------------------</p><p>  避障紅外發(fā)射接收函數(shù)</p><p>  ------------------------------------------------*/</p><p>  void IR_Rev (void)</p><p><b>  {</b><

117、/p><p><b>  if(!IR)</b></p><p>  Back_Flag = 1;</p><p><b>  else</b></p><p>  Back_Flag = 0;</p><p><b>  }</b></p>

118、<p>  /*------------------------------------------------</p><p><b>  外部中斷0初始化</b></p><p>  ------------------------------------------------*/</p><p>  void EX0init(

119、void)</p><p><b>  {</b></p><p>  IT0 = 1; //指定外部中斷0下降沿觸發(fā),INT0 (P3.2)</p><p>  EX0 = 1; //使能外部中斷</p><p><b>  IT1=1;</b></p><p>&

120、lt;b>  EX1=1;</b></p><p>  EA = 1; //開總中斷</p><p><b>  }</b></p><p>  void RUN_DC(void)</p><p><b>  {</b></p><p>  if(!N

121、EAR_LEFT_F && !STOP && !NEAR_RIGHT_F)</p><p><b>  {</b></p><p>  if(!Back_Flag && !BACK)</p><p><b>  {</b></p><p>  if(l

122、eft !=0 && right != 0)</p><p><b>  {</b></p><p>  DC_LEFT();</p><p>  DC_RIGHT();</p><p><b>  }</b></p><p>  if(left == 0 &

123、amp;& right != 0)</p><p><b>  {</b></p><p>  DC_LEFT();</p><p>  DC_CLOSE_RIGHT();</p><p><b>  }</b></p><p>  if(right ==0 &

124、;& left != 0)</p><p><b>  {</b></p><p>  DC_RIGHT();</p><p>  DC_CLOSE_LEFT();</p><p><b>  }</b></p><p><b>  }</b>&

125、lt;/p><p>  else if(!NEAR_LEFT_F && !NEAR_RIGHT_F)</p><p><b>  BACK = 1;</b></p><p>  if(first && last)</p><p><b>  {</b></p>

126、<p>  if(!IR_RIGHT)</p><p>  CORNER_RIGHT = 1;</p><p><b>  else </b></p><p>  CORNER_RIGHT = 0;</p><p>  if(!IR_LEFT)</p><p>  CORNER_LE

127、FT = 1;</p><p><b>  else</b></p><p>  CORNER_LEFT = 0;</p><p>  if(!IR_RIGHT || !IR_LEFT)</p><p><b>  BACK = 0;</b></p><p><b>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論