版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 專 業(yè): </p><p> 班 級(jí): </p><p> 姓 名: </p&
2、gt;<p> 畢業(yè)設(shè)計(jì)題目:基于單片機(jī)的多功能智能小車(chē)</p><p> 指導(dǎo)教師姓名: </p><p><b> 二〇一三年四月</b></p><p><b> 摘要</b></p><p> 基于近幾年大學(xué)生電子大賽中
3、關(guān)于小車(chē)的研究,對(duì)此根據(jù)嵌入式系統(tǒng)的應(yīng)用,提出了提出了一種以8位單片機(jī)作為系統(tǒng)大腦能實(shí)現(xiàn)智能循線避障避懸崖小車(chē)的設(shè)計(jì)方法,通過(guò)主芯片的32個(gè)完全I(xiàn)O端口,對(duì)這些端口加以信號(hào)輸入電路,控制電路和執(zhí)行電路,并且利用紅外探頭技術(shù)檢測(cè)障礙物和搜集地面信息,采用AT89S52單片機(jī)進(jìn)行適時(shí)控制,實(shí)現(xiàn)智能循線避障以及避懸崖。智能小車(chē)采用前輪驅(qū)動(dòng),兩輪各用一個(gè)電機(jī)執(zhí)行,用MAX232芯片來(lái)控制,前方和底部探頭采用紅外發(fā)射管和紅外接收管進(jìn)行障礙物檢測(cè)以
4、及地面信息的采集。</p><p> 關(guān)鍵詞:AT89S52,尋線,避障,避懸崖,流水燈</p><p><b> Abstract</b></p><p> based on undergraduate electronic contest in recent years, the research on this car accord
5、ing to the application of the embedded system, puts forward presented a 8-bit microcontroller as the system can realize intelligent follow line brain obstacle-avoidance avoid cliff car design methods, through the main ch
6、ip 32 completely to these ports, IO port to signal input circuit, control circuit and execute circuit, and make use of infrared sensor technology testing obstacles and ground information, co</p><p> Key wor
7、ds: AT89S51 , Cast about line,obstacle-avoidance avoid cliffs,flowing water line of light.</p><p><b> 目 錄</b></p><p><b> 摘要2</b></p><p> Abstract3<
8、/p><p><b> 1 引言5</b></p><p> 2設(shè)計(jì)思想、方案選擇及設(shè)計(jì)任務(wù)的指標(biāo)6</p><p> 2.1 設(shè)計(jì)思想6</p><p> 2.2 方案設(shè)計(jì)比較與選擇7</p><p> 2.2.1 遙控模塊7</p><p> 2.2.
9、2 障礙物檢測(cè)模塊8</p><p> 2.3 設(shè)計(jì)指標(biāo)及技術(shù)參數(shù)8</p><p> 3 硬件電路設(shè)計(jì)8</p><p> 3.1 智能尋跡小車(chē)系統(tǒng)框圖及概述9</p><p> 3.2 智能小車(chē)系統(tǒng)硬件電路圖及單元電路10</p><p> 3.2.1 系統(tǒng)的硬件電路總體設(shè)計(jì)10</p&
10、gt;<p> 3.2.2 分布單元電路設(shè)計(jì)與功能概述10</p><p> 3.3 單元電路設(shè)計(jì)小結(jié)15</p><p> 4 軟件程序設(shè)計(jì)15</p><p><b> 4.118</b></p><p><b> 4.220</b></p>&l
11、t;p> 4.2.1 程序狀態(tài)指示燈模塊20</p><p> 4.2.2 流水燈演示模塊20</p><p> 4.2.3 數(shù)碼管及跑馬燈模塊21</p><p> 4.2.4 按鍵中斷查詢模塊21</p><p> 4.2.5 話筒聲音識(shí)別模塊21</p><p> 4.2.6 光敏電阻
12、及蜂鳴器模塊22</p><p> 4.2.7 紅外反射與直流電機(jī)驅(qū)動(dòng)模塊22</p><p> 4.2.8 串口通信模塊23</p><p> 4.3 單元模塊程序設(shè)計(jì)小結(jié)23</p><p> 5 實(shí)物運(yùn)行與測(cè)試結(jié)果以及結(jié)論23</p><p> 5.1 小車(chē)的運(yùn)行情況24</p>
13、<p> 5.2 小車(chē)的測(cè)試結(jié)果及分析24</p><p><b> 5.3 結(jié)論25</b></p><p><b> 6 結(jié)束語(yǔ)25</b></p><p><b> 參考文獻(xiàn)26</b></p><p><b> 致 謝27&l
14、t;/b></p><p> 附錄A:系統(tǒng)總原理圖28</p><p> 附錄B:部分程序清單29</p><p><b> 附錄C:35</b></p><p><b> 附錄D:36</b></p><p> 基于單片機(jī)的智能小車(chē)設(shè)計(jì)與制作<
15、/p><p><b> 1 引言</b></p><p> 隨著汽車(chē)工業(yè)的迅速發(fā)展,關(guān)于汽車(chē)的研究也就越來(lái)越受人關(guān)注。全國(guó)大學(xué)生電子大賽和省內(nèi)電子大賽中幾乎每次都有關(guān)于小車(chē)這方面的題目,全國(guó)各高校也都很重視該題目的研究,可見(jiàn)其研究意義很大。本設(shè)計(jì)就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的準(zhǔn)備。本題目是結(jié)合科研項(xiàng)目而確定的設(shè)計(jì)類課題。設(shè)計(jì)的智能電動(dòng)小車(chē)應(yīng)該具有智能尋
16、跡、避障、避懸崖等功能。</p><p> 根據(jù)題目的要求,確定如下方案:在已有線路板及元器件的基礎(chǔ)上,將傳感器改為紅外探頭,將前方底部的兩個(gè)步進(jìn)電機(jī)改為用LG9110驅(qū)動(dòng)的電機(jī),再編寫(xiě)一段程序,通過(guò)COM1端口將程序下載至線路板上的STC單片機(jī)芯片里,使得LED燈和數(shù)碼管具有程序指示作用以及跑馬燈流水燈的演示,并且實(shí)現(xiàn)小車(chē)的防撞、避懸崖和尋跡。</p><p> 本設(shè)計(jì)以AT89S5
17、2為主芯片,通過(guò)P0.0,P0.1,P0.2,P0.3分別控制LG9110電機(jī)驅(qū)動(dòng),來(lái)驅(qū)動(dòng)電機(jī)1和電機(jī)2,。由電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)來(lái)完成小車(chē)的前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn)等功能的基本動(dòng)作。在小車(chē)前進(jìn)時(shí)如果前方有障礙物,由紅外發(fā)射管發(fā)射的紅外信號(hào)被反射給紅外接收管,且將此信號(hào)經(jīng)過(guò)P3.7傳送入AT89S52中,主芯片通過(guò)內(nèi)部的代碼進(jìn)行小車(chē)的繞行,同時(shí)主芯片將P3.7的信號(hào)狀態(tài)通過(guò)P2.5的LED燈顯示出來(lái);小車(chē)行走時(shí)P3.5與P3.6的紅外接收探頭
18、會(huì)進(jìn)行路面檢測(cè),當(dāng)走到懸崖處時(shí),端口將會(huì)收到一個(gè)電平信號(hào),此電平信號(hào)通過(guò)相應(yīng)端口傳送入主芯片中,以此來(lái)控制小車(chē)后退然后左轉(zhuǎn)以避開(kāi)懸崖前進(jìn);另外通過(guò)代碼還附有程序狀態(tài)指示功能,蜂鳴器的報(bào)警功能,夜間自動(dòng)照明等功能。</p><p> 第三代單片機(jī)包括了Intel公司發(fā)展MCS-51系列的新一代產(chǎn)品,如8xC152﹑80C51FA/FB﹑80C51GA/GB﹑8xC451﹑8xC452,還包括了Philips﹑Si
19、emens﹑ADM﹑Fujutsu﹑OKI﹑Harria-Metra﹑ATMEL等公司以80C51為核心推出的大量各具特色﹑與80C51兼容的單片機(jī)。新一代的單片機(jī)的最主要的技術(shù)特點(diǎn)是向外部接口電路擴(kuò)展,以實(shí)現(xiàn)Microcomputer完善的控制功能為己任,將一些外部接口功能單元如A/D﹑PWM﹑PCA(可編程計(jì)數(shù)器陣列)﹑WDT(監(jiān)視定時(shí)器)﹑高速I(mǎi)/O口﹑計(jì)數(shù)器的捕獲/比較邏輯等。這一代單片機(jī)中,在總線方面最重要的進(jìn)展是為單片機(jī)配置
20、了芯片間的串行總線,為單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)提供了更加靈活的方式。Philips公司還為這一代單片機(jī)80C51系列8xC592單片機(jī)引入了具有較強(qiáng)功能的設(shè)備間網(wǎng)絡(luò)系統(tǒng)總線----CAN(Controller Area Network BUS)。新一代單片機(jī)為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。本設(shè)計(jì)就采用了比較先進(jìn)的89S52為控制核心,89S52采</p><p> 2 設(shè)計(jì)思想、方
21、案選擇及設(shè)計(jì)任務(wù)的指標(biāo)</p><p><b> 2.1 設(shè)計(jì)思想</b></p><p> 本系統(tǒng)主要實(shí)現(xiàn)的功能有:避障功能,避懸崖功能,尋黑線功能,聲控功能,流水燈演示,程序狀態(tài)指示功能,數(shù)碼管演示,報(bào)警功能,夜間探照燈照明及方向燈模擬。</p><p> ?。?)避障避懸崖功能:小車(chē)前進(jìn)時(shí),如果遇到具有反光的物體或者懸崖時(shí),小車(chē)會(huì)自動(dòng)
22、后退一段,然后左轉(zhuǎn),繞過(guò)障礙物和避開(kāi)懸崖行駛。</p><p> ?。?)巡線功能:將小車(chē)放在一條特定的黑色跑道上,邊緣是白色,小車(chē)會(huì)尋著黑線行駛,不會(huì)走到白色跑道上。</p><p> ?。?)聲控功能:前進(jìn)時(shí),用雙手拍打一下,小車(chē)就會(huì)停止前進(jìn),這時(shí)前方的探照燈依然亮著,再次拍打后,小車(chē)又會(huì)繼續(xù)前進(jìn)。</p><p> ?。?)流水燈和數(shù)碼管演示:將流水燈模塊的程
23、序?qū)懭雴纹瑱C(jī)之后,小車(chē)上的LED燈會(huì)從左到右,從右到左,從兩邊到中間以及從中間到兩邊依次點(diǎn)亮。</p><p> ?。?)報(bào)警功能:小車(chē)在遇到懸崖和障礙物時(shí)后退左轉(zhuǎn)過(guò)程中會(huì)報(bào)警,一直到繼續(xù)前進(jìn)時(shí)才停下警笛聲音。</p><p> ?。?)夜間探照燈照明及方向燈模擬:當(dāng)小車(chē)處于黑暗條件時(shí),前方的探照燈會(huì)一直點(diǎn)亮,起到照明作用;小車(chē)處于左轉(zhuǎn)時(shí),左邊方向燈閃一次,右邊的方向燈會(huì)滅,模擬了生活中汽
24、車(chē)的方向燈。</p><p> 具體設(shè)計(jì)思路如圖2-1所示。</p><p> 圖2-1 基本模塊方框圖</p><p> 2.2 方案設(shè)計(jì)比較與選擇</p><p> 2.2.1 遙控模塊</p><p> 方案一:普通遙控玩具小車(chē)的遙控裝置。</p><p> 此裝置是通過(guò)發(fā)送
25、不同頻率的電磁波,被小車(chē)接收后,在電路中產(chǎn)生不同的電流和電壓,從而控制各個(gè)電動(dòng)機(jī)的開(kāi)關(guān)和方向,來(lái)實(shí)現(xiàn)遙控目標(biāo)的。此裝置需要在遙控器和小車(chē)上安裝小型天線,用于發(fā)射和接受,雖然是無(wú)線的,但是也不方便,容易彎曲與損壞,而且遙控距離較短。</p><p> 方案二:紅外遙控裝置。</p><p> 此裝置是通過(guò)遙控器的按鍵發(fā)送由一串0和1的二進(jìn)制代碼組成,被紅外接收裝置接受,運(yùn)用單片機(jī)將遙控器
26、上的多種按鍵解碼出來(lái),用作單片機(jī)系統(tǒng)的輸入。這樣不但解決了常規(guī)矩陣鍵盤(pán)線路板過(guò)大、布線復(fù)雜、占用I/O口過(guò)多的弊病,而且通過(guò)使用遙控器,操作時(shí)可實(shí)現(xiàn)人與機(jī)器設(shè)備的分離,從而更加方便實(shí)用。</p><p> 通過(guò)兩種方案的比較,結(jié)合本設(shè)計(jì)所采用的主控制器為單片機(jī)芯片AT89S52,故采用第二種方案。</p><p> 2.2.2 障礙物檢測(cè)模塊</p><p>&
27、lt;b> 方案一:超聲波探測(cè)</b></p><p> 采用超聲波器件。超聲波傳感器向空氣中發(fā)射聲脈沖,聲波遇到障礙物反射回來(lái),被接收探頭接受進(jìn)行相關(guān)的計(jì)算和處理;超聲波波瓣較寬,一個(gè)發(fā)生器就可以監(jiān)測(cè)較寬的范圍。其優(yōu)點(diǎn)為抗干擾能力強(qiáng),不受物體表面顏色的影響;缺點(diǎn)為實(shí)現(xiàn)電路復(fù)雜,且用通常的測(cè)量方法在較近距離上有盲區(qū)。</p><p><b> 方案二:光電
28、式探測(cè)</b></p><p> 采用光電式發(fā)射器。發(fā)射器向外發(fā)送信號(hào),如遇到具有反光效應(yīng)的障礙物,接受管會(huì)接收到信號(hào),通過(guò)電路轉(zhuǎn)換成高電平或低電平的電信號(hào),送入芯片內(nèi)部,通過(guò)預(yù)先設(shè)計(jì)的程序使其繞過(guò)障礙物。其優(yōu)點(diǎn)是電路實(shí)現(xiàn)非常簡(jiǎn)單,抗干擾能力較強(qiáng),但是這種探測(cè)只能躲避反光物體,如遇黑色物體則不能避障。</p><p> 通過(guò)比較,兩種方案均有優(yōu)缺點(diǎn),由于本設(shè)計(jì)中的避障功能不
29、需要非常的精確,并且探測(cè)的距離比較近,考慮到電路實(shí)現(xiàn)的難易程度,對(duì)于電路知識(shí)掌握不夠熟練,所以綜合之下,采用方案二。</p><p> 在方案二中,由于單個(gè)發(fā)射器的照射范圍不能太小,因此不使用激光管。用波瓣較寬的脈沖調(diào)制型紅外發(fā)射管和接收管。</p><p> 2.3 設(shè)計(jì)指標(biāo)及技術(shù)參數(shù)</p><p> ?。?)輸入基準(zhǔn)電壓:6V</p><
30、;p> ?。?)路徑識(shí)別:黑色尋跡</p><p> ?。?)障礙物檢測(cè)范圍:①具有反光性質(zhì)物體范圍:0.005m~1m</p><p> ②不具反光性質(zhì)物體范圍:0</p><p> ?。?)懸崖探測(cè)范圍:大于0.1m</p><p> ?。?)轉(zhuǎn)彎角度設(shè)置:左轉(zhuǎn)90度</p><p> ?。?)行駛速度:0
31、.06 m/s</p><p> (7)遙控距離:25m</p><p><b> 3 硬件電路設(shè)計(jì)</b></p><p> 一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含有兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如ROM﹑RAM﹑I/O口﹑定時(shí)/記數(shù)器﹑中斷系統(tǒng)等能量不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)相
32、應(yīng)的電路。二是系統(tǒng)配置,既按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤(pán)顯示器﹑打印機(jī)﹑A/D﹑D/A轉(zhuǎn)換器等,要設(shè)計(jì)合適的接口電路。</p><p> 3.1 智能尋跡小車(chē)系統(tǒng)框圖及概述</p><p><b> 如下圖3-1所示:</b></p><p> 圖3-1 小車(chē)系統(tǒng)框圖</p><p> 微控制器CPU即控制
33、核心模塊(MCU):使用AT89S52單片機(jī),其作用是對(duì)其他模塊采集到的信號(hào)進(jìn)行通過(guò)設(shè)計(jì)的程序進(jìn)行相關(guān)處理,并發(fā)出正確的控制信號(hào),是整個(gè)系統(tǒng)中最重要的部分。</p><p> 防撞模塊巡跡避懸崖模塊都采用紅外發(fā)射探頭和紅外接收探頭,利用紅外光線反射和其對(duì)黑白兩色反光程度不同的原理,既可以很好的檢測(cè)到前方能夠反射的白光物體,從而實(shí)現(xiàn)繞障礙物與防撞的功能,也可以用來(lái)檢測(cè)黑線與白線,實(shí)現(xiàn)智能巡跡的功能,同時(shí)還可以根據(jù)
34、這種方法來(lái)實(shí)現(xiàn)避懸崖及其他更多的高級(jí)功能。</p><p> 聲控模塊由普通的小型話筒構(gòu)成,簡(jiǎn)易方便,電路搭建也不復(fù)雜;在接近小車(chē)上方的位置,有間隔的拍打雙手兩次,小車(chē)會(huì)實(shí)行停止與前進(jìn)兩種狀態(tài)。</p><p> 流水燈數(shù)碼管以及程序狀態(tài)指示模塊均由一排發(fā)光二極管和一個(gè)數(shù)碼管組成,發(fā)光二極管可以展示不同的花樣,比且與小車(chē)的運(yùn)行狀態(tài)同步;數(shù)碼管采用共陽(yáng)的方式接入,由芯片端口直接控制,可以
35、更好的展現(xiàn)出小車(chē)的運(yùn)行狀態(tài)。</p><p> 電機(jī)驅(qū)動(dòng)模塊分別由兩個(gè)LG9110芯片通過(guò)主芯片的發(fā)出指令來(lái)驅(qū)動(dòng)底部的兩個(gè)電動(dòng)機(jī),以完成小車(chē)的順利運(yùn)行;采用簡(jiǎn)單易于管理的LG9110驅(qū)動(dòng)芯片,充分主程序有時(shí)間去處理其它更多功能,比步進(jìn)電機(jī)驅(qū)動(dòng)更簡(jiǎn)單,更能提高主芯片的效率。</p><p> 電源模塊比較簡(jiǎn)單,由四節(jié)干電池構(gòu)成電池組,提供整機(jī)的電源;</p><p&g
36、t; COM接口模塊采用RS232連接方式,為電腦控制小車(chē)實(shí)現(xiàn)RS232通信建立了接口,能實(shí)現(xiàn)串口通信,同時(shí)它還是程序下載與燒錄不可缺少的端口,可以通過(guò)它完成ISP編程。</p><p> 3.2 智能小車(chē)系統(tǒng)硬件電路圖及單元電路</p><p> 3.2.1 系統(tǒng)的硬件電路總體設(shè)計(jì)</p><p> 小車(chē)的硬件搭建電路主要根據(jù)上述框圖的每個(gè)模塊設(shè)計(jì),將分步
37、的模塊電路與主控制器連接構(gòu)成系統(tǒng)總原理圖,原理總圖見(jiàn)附錄A。</p><p> 3.2.2 分布單元電路設(shè)計(jì)與功能概述</p><p> ?。?)微控制器CPU模塊</p><p> 根據(jù)前面關(guān)于單片機(jī)系統(tǒng)的概述,本設(shè)計(jì)的主控電路采用AT89S52單片機(jī)芯片,主要是根據(jù)外部遙控和紅外探頭送入單片機(jī)的信號(hào),以內(nèi)部代碼來(lái)控制小車(chē)的運(yùn)動(dòng)狀態(tài)以及數(shù)碼管LED燈的動(dòng)作;附
38、控電路選用LG9110芯片,即驅(qū)動(dòng)小車(chē)的底部電機(jī),它根據(jù)主芯片發(fā)出的指令來(lái)控制電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),以完成小車(chē)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)。</p><p> 兩種芯片的結(jié)構(gòu)、引腳及連接電路如下圖3-2所示:</p><p> 圖3-2 AT89S52引腳圖和LG9110引腳圖</p><p> ?。?)COM1端口模塊</p><p> C
39、OM端口在電路中的連接如下圖3-3所示:</p><p> 圖3-3 COM1端口模塊電路</p><p> MAX232芯片是為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。
40、</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。</p><p> TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從
41、T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p><p> 第三部分是供電,15腳GND、16腳VCC(+5v)。</p><p><b> ?。?)遙控模塊</b></p><p> 外部遙控信號(hào)與小車(chē)的無(wú)線連接裝置利用電視機(jī)的
42、遙控器發(fā)送無(wú)線信號(hào)以及安裝在小車(chē)上的紅外遙控接收頭接收信號(hào),然后轉(zhuǎn)變成電信號(hào),通過(guò)外部中斷端口和訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)的端口送入主芯片內(nèi)部進(jìn)行處理,以發(fā)出正確的指令來(lái)控制小車(chē)</p><p> (4)防撞尋跡以及電機(jī)驅(qū)動(dòng)模塊</p><p> 此模塊是小車(chē)的肢體,小車(chē)根據(jù)微控制器CPU大腦所下發(fā)的指令,來(lái)做出正確的肢體行為,此肢體即為紅外反射與直流電機(jī)驅(qū)動(dòng),用紅外發(fā)射管和紅外接收管
43、以及電機(jī)驅(qū)動(dòng)芯片LG9110來(lái)實(shí)現(xiàn)。其與主芯片的搭建電路如下圖3-4所示:</p><p> 防撞尋跡探頭 LG9110驅(qū)動(dòng)電機(jī) </p><p> 圖3-4 防撞尋跡以及電機(jī)驅(qū)動(dòng)模塊電路</p><p> 紅外反射是通過(guò)V1、V2、V5、V6、V3和V4,信號(hào)通過(guò)220電阻到達(dá)發(fā)射管
44、V1,電路中220歐電阻是給發(fā)射管提供工作電壓和工作電流;15K電阻至V2是將光信號(hào)轉(zhuǎn)變成電信號(hào)傳送到單片機(jī)的端口P3.7和P3.6以及P3.5端口,V3、V4是防撞的,V5、V6是尋跡的。</p><p> 電機(jī)驅(qū)動(dòng)主要是通過(guò)驅(qū)動(dòng)芯片LG9110,將電機(jī)直接接到芯片輸出的兩端,引腳1和4用于電機(jī)方向的控制,1和4的電平不同變換表示電機(jī)的運(yùn)轉(zhuǎn)方向不同,主要有正轉(zhuǎn)和反轉(zhuǎn)等狀態(tài),以驅(qū)動(dòng)小車(chē)的前進(jìn)、后退、左轉(zhuǎn)以及右轉(zhuǎn)
45、。</p><p> 設(shè)計(jì)中對(duì)路徑檢測(cè)精度要求較高,可采用6個(gè)紅外探頭置于小車(chē)前方(超出小車(chē)的車(chē)頭,成“一”型)和底端(垂直于車(chē)身向下,離地面大約1cm),安裝時(shí)探頭需置于小車(chē)前方超出小車(chē)車(chē)頭,是為了增加徑向探出距離,從理論上講,徑向探出距離越大即探頭超出小車(chē)車(chē)頭的距離越大,越有利于盡早的預(yù)測(cè)小車(chē)即將通過(guò)的路徑,早點(diǎn)將此信息傳遞給單片機(jī),作出相應(yīng)的調(diào)整,發(fā)出正確的控制信號(hào),從而改善小車(chē)的性能,因此從理論上講,徑
46、向探出距離是越大越好。但從實(shí)際出發(fā),增加徑向探出距離會(huì)使探頭位于小車(chē)前方,必然會(huì)使小車(chē)的重心前移,如果小車(chē)本事的重量較輕的話,勢(shì)必會(huì)影響到小車(chē)自身的平衡性,嚴(yán)重影響小車(chē)在行駛過(guò)程中的穩(wěn)定性能,當(dāng)然不會(huì)得到理想的控制效果的。但是本設(shè)計(jì)中的小車(chē)底部有電機(jī),重心比較穩(wěn),并且檢測(cè)障礙物選用的是紅外探頭,重量很輕,故不需考慮會(huì)影響到小車(chē)的平衡性。</p><p> 此外,在采取合理的安置檢測(cè)探頭后,還可以將探頭向下傾斜安
47、置,如下圖3-5所示。這樣做會(huì)比垂直安置光電傳感器更能獲得較大的徑向探出距離,更能有效的探測(cè)障礙物。</p><p> 圖3-5 探頭裝置圖</p><p><b> (5)聲控模塊</b></p><p> 實(shí)現(xiàn)小車(chē)具有聲控功能,則需有聲音信號(hào)采集裝置,因此采用比較簡(jiǎn)單的小型話筒,其聲控的硬件電路設(shè)計(jì)如下圖3-6所示:</p&g
48、t;<p> 圖3-6 聲控電路</p><p> 當(dāng)有聲音輸入時(shí),話筒內(nèi)部的電流會(huì)發(fā)生相應(yīng)的變化,47K電阻將聲音信號(hào)轉(zhuǎn)變成電壓信號(hào),其電壓信號(hào)經(jīng)過(guò)10uF的濾波電容傳入到三極管中,8050在設(shè)置時(shí)有靜態(tài)工作點(diǎn),通過(guò)1M電阻和150K電阻使三極管處于一種即將開(kāi)啟狀態(tài)或者是即將導(dǎo)通狀態(tài),當(dāng)有信號(hào)輸入時(shí),三極管導(dǎo)通,輸出一個(gè)低電平的信號(hào),傳送到單片機(jī)的P0.4端口;沒(méi)有信號(hào)時(shí),三極管將處于截止?fàn)?/p>
49、態(tài),信號(hào)的電平被拉高,則P0.4端口將會(huì)是一個(gè)高電平。這樣就可以實(shí)現(xiàn)話筒的聲控功能。</p><p> ?。?)數(shù)碼管顯示、程序指示燈及跑馬燈演示模塊</p><p> 數(shù)碼管與LED燈電路的電路設(shè)計(jì)比較簡(jiǎn)單,主要在于它的軟件設(shè)計(jì)。其硬件電路如下圖3-7所示:</p><p> 圖3-7 顯示電路</p><p> 電路中數(shù)碼管和LE
50、D燈與主芯片通過(guò)560歐的限流電阻連接,主芯片根據(jù)預(yù)先設(shè)計(jì)的程序會(huì)通過(guò)P1和P2發(fā)出指令信號(hào),這樣數(shù)碼管就會(huì)顯示相應(yīng)的數(shù)字或相應(yīng)順序的連續(xù)變換,以及發(fā)光二極管同時(shí)點(diǎn)亮,完成從左到右、從右到左、從中間往兩邊和從兩邊往中間依次點(diǎn)亮的跑馬燈的演示。</p><p> ?。?)探照燈模擬與蜂鳴器模塊</p><p> 此模塊主要是在電路中加入了兩個(gè)發(fā)光二極管,前方左右各一個(gè)用于方向指示,以及一個(gè)
51、光敏電阻用于夜間照明;同時(shí)安裝了一個(gè)蜂鳴器,實(shí)現(xiàn)報(bào)警功能。其電路如下圖3-8所示:</p><p> 圖3-8 照明與報(bào)警電路</p><p> 光敏電阻RL1通過(guò)15K電阻,將光信號(hào)轉(zhuǎn)為電壓信號(hào),傳送到單片機(jī)的P0.5端口;蜂鳴器經(jīng)過(guò)三極管V1和220歐電阻與P0.6端口連接,作為輸出。因?yàn)檫x用的三極管是8550,故低電平時(shí)才能導(dǎo)通。當(dāng)外界光度較強(qiáng)時(shí),RL1阻值變小,輸入到單片機(jī)的
52、是低電平,此時(shí)蜂鳴器就會(huì)工作;相反,當(dāng)沒(méi)有光照或較暗時(shí),送入的是高電平,蜂鳴器就會(huì)截止。而且電路中在P0.7和P2.0端口輸出照明電路,黑暗條件下,裝在小車(chē)前段的LED燈會(huì)點(diǎn)亮,模擬了汽車(chē)的夜間照明。</p><p> 3.3 單元電路設(shè)計(jì)小結(jié)</p><p> 以上為智能小車(chē)的每個(gè)單元電路設(shè)計(jì),并且對(duì)每個(gè)電路的設(shè)計(jì)思想、部分元器件的性能及實(shí)現(xiàn)的功能,進(jìn)行了比較詳細(xì)的闡述,把每個(gè)模塊整
53、合后就會(huì)形成小車(chē)的整體硬件電路,但是這只是小車(chē)的肢體,沒(méi)有語(yǔ)言使大腦發(fā)出正確的指令,它需要大腦來(lái)控制,即需要對(duì)小車(chē)的軟件部分進(jìn)行精心設(shè)計(jì)。</p><p><b> 4 軟件程序設(shè)計(jì)</b></p><p> 在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)外,大量的工作就是如何根據(jù)每個(gè)生產(chǎn)對(duì)象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)控制系統(tǒng)設(shè)計(jì)中占重要地位。對(duì)于本
54、系統(tǒng),軟件更為重要。</p><p> 在單片機(jī)控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過(guò)程控制兩個(gè)基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過(guò)程控制程序主要是使單片機(jī)按一定的方法進(jìn)行計(jì)算,然后再輸出,以便控制生產(chǎn)。</p><p> 為了完成上述任務(wù),在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過(guò)程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。所謂“模塊”,實(shí)質(zhì)上就是所完成一定功能,相對(duì)獨(dú)立的程序
55、段,這種程序設(shè)計(jì)方法叫模塊程序設(shè)計(jì)法。</p><p> 模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:</p><p> 單個(gè)模塊比起一個(gè)完整的程序易編寫(xiě)及調(diào)試;</p><p> 模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;</p><p> 模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。</p><p&
56、gt; 本系統(tǒng)軟件部分與硬件電路設(shè)計(jì)相似,采用模塊化結(jié)構(gòu),由程序狀態(tài)指示燈模塊,流水燈演示模塊,數(shù)碼管及跑馬燈模塊,按鍵中斷查詢模塊,話筒聲音識(shí)別模塊,光敏電阻及蜂鳴器模塊,紅外反射與直流電機(jī)驅(qū)動(dòng)模塊,紅外遙控解碼模塊,串口通信模塊構(gòu)成。</p><p> 軟件流程如圖4-1流程圖所示:</p><p> 圖4-1 軟件設(shè)計(jì)流程圖</p><p> 4.1總
57、程序的頭文件、數(shù)據(jù)類型和端口定義以及綜合程序</p><p> #include <at89x51.h> </p><p> 包含51 相關(guān)的頭文件</p><p> typeset unsigned char uchar; </p><p> typedef unsigned int uint; </p>
58、<p> 重定義char和int數(shù)據(jù)類型</p><p> #define ShowPort P2 </p><p> uchar code LedShowData[]={0x03,0x9F,0x25,0x0D,0x99, 0x49,0x41,0x1F,0x01,0x19}; //0,1,2,3,4,5,6,7,8,9</p><p> 定義數(shù)碼管
59、顯示端口和顯示數(shù)據(jù)</p><p> static unsigned int RecvData; </p><p> static unsigned char CountData; </p><p> 定義接收紅外數(shù)據(jù)變量和紅外個(gè)數(shù)計(jì)數(shù)變量</p><p> static unsigned char AddData; </p&g
60、t;<p> static unsigned int LedFlash; </p><p> 定義自增變量和閃動(dòng)頻率計(jì)數(shù)變量</p><p> unsigned char HeardData; </p><p> bit RunFlag=0;</p><p> 定義接收到數(shù)據(jù)的高位變量和運(yùn)行標(biāo)志位</p>
61、<p> 以上完成了基本數(shù)據(jù)變量和端口的定義,下面對(duì)狀態(tài)指示燈及按鍵端口進(jìn)行相關(guān)的定義:</p><p> sbit S1State=P1^0; </p><p> sbit S2State=P1^1; </p><p> sbit B1State=P1^2; </p><p> sbit IRState=P1^3; &
62、lt;/p><p> 定義S1、S2、B1、IR狀態(tài)標(biāo)志位</p><p> sbit RunStopState=P1^4;</p><p> sbit FontIRState=P1^5; </p><p> sbit LeftIRState=P1^6; </p><p> sbit RightIRState=P
63、1^7; </p><p> 定義運(yùn)行停止標(biāo)志位以及FontIR、LeftIR和RightIRState三種狀態(tài)標(biāo)志位</p><p> sbit S1=P3^2; </p><p> sbit S2=P3^4;</p><p> 定義S1、S2按鍵端口</p><p> 完成LED燈的定義后,我們將對(duì)最重要
64、的紅外探頭和電機(jī)端口進(jìn)行定義,如下:</p><p> sbit LeftLed=P2^0; </p><p> sbit RightLed=P0^7; </p><p> 定義前方左側(cè)和右側(cè)指示燈端口</p><p> sbit LeftIR=P3^5; </p><p> sbit RightIR=P3^
65、6; </p><p> sbit FontIR=P3^7;</p><p> 定義前方左側(cè)和右側(cè)紅外探頭以及正前方紅外探頭</p><p> sbit M1A=P0^0; </p><p> sbit M1B=P0^1; </p><p> sbit M2A=P0^2; </p><p&
66、gt; sbit M2B=P0^3; </p><p> 定義電機(jī)1及電機(jī)2的正向端口和反向端口</p><p> 下面是對(duì)小車(chē)的附加功能,如話筒、光敏電阻、蜂鳴器的端口定義,如下:</p><p> sbit B1=P0^4; </p><p> sbit RL1=P0^5; </p><p> sbit
67、 SB1=P0^6;</p><p> 定義話筒傳感器、光敏電阻和蜂鳴端口</p><p> sbit IR1=P3^3</p><p><b> 定義紅外接收端口</b></p><p> void Delay();</p><p> { uint DelayTime=30000 &l
68、t;/p><p> 定義延時(shí)子程序和延時(shí)時(shí)間變量</p><p> 綜上所有程序只是整體程序代碼設(shè)計(jì)的開(kāi)頭部分,只是對(duì)小車(chē)所有需要定義的端口及數(shù)據(jù)類型進(jìn)行定義,為以下的每個(gè)模塊程序設(shè)計(jì)做好鋪墊。</p><p> 4.2 單個(gè)模塊程序設(shè)計(jì)與編寫(xiě)</p><p> 4.2.1 程序狀態(tài)指示燈模塊</p><p>
69、程序狀態(tài)指示燈是比較常見(jiàn)到的一種工作狀態(tài)指示器,像網(wǎng)卡、無(wú)線發(fā)射器、電腦等等都會(huì)有相應(yīng)的LED指示燈來(lái)表示當(dāng)前儀器的工作狀況。往往用LED閃亮的快慢來(lái)表示儀器是否處在工作中,以及長(zhǎng)亮與長(zhǎng)滅來(lái)表示儀器是否故障或需要檢查等操作</p><p> 本設(shè)計(jì)系統(tǒng)中的此模塊也是通過(guò)LED燈來(lái)模擬小車(chē)的運(yùn)行情況,設(shè)計(jì)思路如下:</p><p> ?。?)定義一個(gè)可變的延時(shí)函數(shù),通過(guò)它來(lái)改變燈閃亮的時(shí)間
70、.</p><p> ?。?)選取51機(jī)器人中相應(yīng)的LED模塊,聲明端口,用來(lái)顯示閃亮的狀態(tài)。</p><p> (3)編寫(xiě)主函數(shù),讓芯片一直循環(huán)運(yùn)行,并定義一個(gè)時(shí)間記錄器來(lái)改變閃亮情況。</p><p> ?。?)根據(jù)時(shí)間記錄器的數(shù)值來(lái)改變LED指示燈的閃亮情況,來(lái)完成程序狀態(tài)指示燈的模擬操作.</p><p> 具體的程序見(jiàn)附錄B程序
71、指示燈模塊。</p><p> 4.2.2 流水燈演示模塊</p><p> (1)unsigned int code BToM[]={0x7E,0x3C,0x18,0x00}; </p><p> unsigned int code MToB[]={0xE7,0xC3,0x81,0x00};</p><p> 定義由兩邊到中間及中間
72、到兩邊的顯示數(shù)據(jù)</p><p> void Delay() reentrant </p><p> { unsigned int DelayTime=10000;</p><p> while(DelayTime--); </p><p><b> }</b></p><p> 加入可
73、重入的延時(shí)函數(shù)延和時(shí)時(shí)間基數(shù),以便每個(gè)LED燈閃滅之間有一定的延時(shí)</p><p> ?。?)void LeftToRight() </p><p> {unsigned char TempCount=0; </p><p> Led=Led<<1; </p><p> 定義從左邊到右邊的顯示函數(shù)以及顯示次數(shù)變量;由右邊向左
74、邊移動(dòng)數(shù)據(jù);然后定義初步的顯示數(shù)據(jù),通過(guò)循環(huán)進(jìn)行數(shù)據(jù)顯示,在每次移動(dòng)數(shù)據(jù)開(kāi)始的時(shí)候加入(1)中的延時(shí),最后通過(guò)空返回語(yǔ)句return表明該子程序的結(jié)束,進(jìn)入下一個(gè)子程序。</p><p> 流水燈的四個(gè)動(dòng)作程序結(jié)構(gòu)與設(shè)計(jì)上完全一樣,完整的程序見(jiàn)附錄B中流水燈模塊。</p><p> 4.2.3 數(shù)碼管及跑馬燈模塊</p><p> 此模塊只是將數(shù)碼管的顯示融入
75、到上述的流水燈演示里面,使兩者結(jié)合起來(lái)演示,所以不復(fù)雜,并且設(shè)計(jì)中已經(jīng)將這個(gè)模塊的程序?qū)懭氲娇偝绦蛑校谛≤?chē)運(yùn)行時(shí),會(huì)有相應(yīng)的顯示。</p><p> 4.2.4 按鍵中斷查詢模塊</p><p> 本模塊通過(guò)兩個(gè)按鍵對(duì)數(shù)碼管進(jìn)行操作,分別演示了查詢與中斷的操作方式,中斷中應(yīng)用了對(duì)按鍵進(jìn)行查詢的方法來(lái)判斷按鍵的鍵值,查詢按鍵方法中則采用了鍵盤(pán)延遲的方法來(lái)消除按鍵重復(fù)輸入。</p&
76、gt;<p> 程序運(yùn)行效果:開(kāi)機(jī)后數(shù)碼管顯示數(shù)字 "1" ,當(dāng)按 S1 不放時(shí),數(shù)碼管數(shù)字不變,松開(kāi) S1 按鍵,數(shù)碼減 1 ;按 S2 鍵不放時(shí),數(shù)碼管數(shù)字會(huì)自動(dòng)加 1。并且數(shù)字遵守從 0-9 循環(huán)操作。</p><p> 具體的程序見(jiàn)附錄B中的按鍵中斷查詢模塊</p><p> 4.2.5 話筒聲音識(shí)別模塊</p><p&g
77、t; 本程序主要通過(guò)話筒對(duì)聲音信號(hào)進(jìn)行識(shí)別,由于硬件關(guān)于本模塊電路設(shè)計(jì)中能有效的去除雜波,所以僅能對(duì)響度較大的聲音進(jìn)行識(shí)別 ( 例 : 拍手聲,大叫聲等等 )。像正常的說(shuō)話聲對(duì)本電路慮除,不會(huì)產(chǎn)生信息的輸入。話筒識(shí)別的加入,為我們建立了聲控平臺(tái)。主要的程序設(shè)計(jì)如下:</p><p><b> while(1) </b></p><p><b> {&l
78、t;/b></p><p> if (0==B1) </p><p><b> {</b></p><p> while(0==B1); </p><p><b> Delay(); </b></p><p> LeftLed=!LeftLed; </
79、p><p> RightLed=!RightLed;</p><p><b> }</b></p><p><b> }</b></p><p> 首先判斷是否有聲音輸入,等待聲音信號(hào)結(jié)束,去除多余雜音,然后使小車(chē)前方左側(cè)和右側(cè)指示燈分別取反,這樣就實(shí)現(xiàn)了聲音識(shí)別的功能;關(guān)于聲音控制小車(chē)運(yùn)行的設(shè)
80、計(jì),已經(jīng)寫(xiě)入了總程序中,在小車(chē)運(yùn)行時(shí)能展現(xiàn)出聲控的功能。</p><p> 4.2.6 光敏電阻及蜂鳴器模塊</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(1==RL1)</p><p><b&
81、gt; {</b></p><p><b> Delay();</b></p><p><b> SB1=!SB1;</b></p><p> LeftLed=!LeftLed;</p><p> RightLed=!RightLed;</p><p>
82、<b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> SB1=1;</b></p><p> LeftLed=1;</p><p> Right
83、Led=1;</p><p><b> }</b></p><p><b> }</b></p><p> 首先判斷光敏的現(xiàn)在狀態(tài) ( 有光 0, 無(wú)光 1),然后開(kāi)始延時(shí),如果在黑暗條件下,高電平輸入使蜂鳴器響亮以及前方左右兩側(cè)指示燈閃亮;否則蜂鳴器和指示燈均關(guān)閉。</p><p> 4.
84、2.7 紅外反射與直流電機(jī)驅(qū)動(dòng)模塊</p><p> 此模塊為小車(chē)最為重要的模塊,因?yàn)樗P(guān)系著小車(chē)整體的運(yùn)行情況,避障避懸崖和尋線都是設(shè)計(jì)的核心部分,也都是在本模塊實(shí)現(xiàn)的。</p><p> 首先要定義前方指示燈、紅外探頭以及電機(jī)驅(qū)動(dòng)、語(yǔ)音傳感器和蜂鳴器端口,然后加入小車(chē)調(diào)轉(zhuǎn)子時(shí)間子程序并定義轉(zhuǎn)彎時(shí)間變量,在延時(shí)子程序中寫(xiě)入讓蜂鳴器響亮的代碼:</p><p>
85、 while(DelayTime--); </p><p> SB1=!SB1; </p><p> 這樣使得小車(chē)轉(zhuǎn)彎時(shí)蜂鳴器報(bào)警,用return語(yǔ)句來(lái)結(jié)束該子程序,進(jìn)入到下一個(gè)電機(jī)控制子程序,將電機(jī)的初始化都設(shè)為0,用case語(yǔ)句來(lái)判斷小車(chē)的前進(jìn),后退,左轉(zhuǎn)以及右轉(zhuǎn)四種狀態(tài),并在相應(yīng)的狀態(tài)下寫(xiě)入電機(jī)的運(yùn)轉(zhuǎn)狀態(tài),如前進(jìn)時(shí)電機(jī)M1M2正轉(zhuǎn),左轉(zhuǎn)時(shí)M1 電機(jī)反轉(zhuǎn)M2 電機(jī)正轉(zhuǎn);下面是進(jìn)入
86、主循環(huán)。用LeftLed和RightLed分別表示前方左側(cè)和右側(cè)紅外探頭狀態(tài),RunShow指示前方紅外探頭狀態(tài),然后用if語(yǔ)句(if(FontIR==0 || LeftIR==1)來(lái)判斷前方 , 左側(cè) , 右側(cè)是否有信號(hào)輸入</p><p> RightIR==1);</p><p> {ControlCar(2);</p><p> 讓小車(chē)后退,在后退過(guò)程
87、中加入了蜂鳴器報(bào)警,注意此時(shí)小車(chē)沒(méi)有聲控功能,因?yàn)榇嬖趫?bào)警聲音,對(duì)其造成了一定的干擾。</p><p> 4.2.8 串口通信模塊</p><p> 本程序是通過(guò)數(shù)碼管、LED 指示燈的閃亮來(lái)表示當(dāng)前串口通信的結(jié)果 , 串口通信使單片機(jī)與電腦之間通信的橋梁,可以很好的用電腦來(lái)進(jìn)行單片機(jī)的控制,及對(duì)單片機(jī)數(shù)據(jù)的采集。</p><p> 具體的程序代碼見(jiàn)附錄B中的
88、串口通信模塊</p><p> 運(yùn)行時(shí)可以看到,打開(kāi)本機(jī)電源開(kāi)關(guān)后, P1端LED 指示燈在不停的閃耀,此時(shí)使用“串口調(diào)試助手” 或其它軟件向單片機(jī)發(fā)送數(shù)據(jù),可以看到相應(yīng)的數(shù)據(jù)顯示在數(shù)碼管上,并且發(fā)送的數(shù)據(jù)又返回到電腦中。 ( 只顯示 0-9 數(shù)字)</p><p> 4.3 單元模塊程序設(shè)計(jì)小結(jié)</p><p> 以上是對(duì)小車(chē)軟件部分的每個(gè)模塊進(jìn)行了說(shuō)明,并
89、且對(duì)主要的程序設(shè)計(jì)思想進(jìn)行了闡述,有的模塊已經(jīng)融入到了綜合程序中,有的模塊是需要分步下載之后才能展現(xiàn)出來(lái),將每個(gè)模塊的程序經(jīng)過(guò)整合,定義的端口和函數(shù)都放在前面,子程序通過(guò)空返回語(yǔ)句return來(lái)連接,構(gòu)成總程序。</p><p> 總程序代碼如附錄B中總程序所示。</p><p> 5 實(shí)物運(yùn)行與測(cè)試結(jié)果以及結(jié)論</p><p> 5.1 小車(chē)的運(yùn)行情況<
90、;/p><p> 將COM端口的USB線把小車(chē)和電腦連接起來(lái),通過(guò)ISP編程器和STC_ISP_V394軟件將綜合程序?qū)懭氲叫酒?,等待幾秒鐘,放在一張反光較強(qiáng)的桌子上,打開(kāi)電源可以看到,小車(chē)往前走,當(dāng)遇到障礙物時(shí)會(huì)后退轉(zhuǎn)彎,繞過(guò)障礙物行駛;行駛到桌子的邊緣時(shí),小車(chē)同樣也會(huì)后退轉(zhuǎn)彎,躲避懸崖;同時(shí)在前進(jìn)過(guò)程中,可以用拍手聲來(lái)控制小車(chē),使小車(chē)停下來(lái),再拍一次小車(chē)又會(huì)前進(jìn)。</p><p>
91、由于尋跡功能需單獨(dú)演示,所以要將其程序?qū)懭胄酒言谐绦蚋采w,單獨(dú)實(shí)現(xiàn)黑色尋跡。</p><p> 流水燈和程序狀態(tài)指示燈也都是屬于獨(dú)立演示的模塊,所以要通過(guò)端口依次寫(xiě)入依次演示。</p><p> 5.2 小車(chē)的測(cè)試結(jié)果及分析</p><p> ?。?)測(cè)試結(jié)果及數(shù)據(jù)如下:</p><p> ?、傩≤?chē)的前進(jìn)和后退速度一致,均為0.05
92、9m/s;</p><p> ②障礙物檢測(cè)距離:反光很強(qiáng)的物體:約1m;</p><p> 反光很弱的物體:約0.005m;</p><p> 黑色物體:0 m(即檢測(cè)不到黑色的障礙物);</p><p> ?、郾軕已赂叨确秶捍笥诘扔?.09m;</p><p> ?、苎埠诰€偏離范圍:0~0.04m;</
93、p><p> ?、蒉D(zhuǎn)彎角度:路面較光滑時(shí)為左轉(zhuǎn)87~90度</p><p> 路面比較粗糙時(shí)左轉(zhuǎn)約80~87度</p><p> ?、迶?shù)碼管能正常顯示出數(shù)字“0、1、2、···”,LED燈比較亮,沒(méi)有出現(xiàn)閃、較暗或不亮的情況;</p><p> ?、吡魉疅粞菔?、方向燈探照燈及聲控功能都能實(shí)現(xiàn)</p>
94、<p><b> ?、噙b控功能沒(méi)有實(shí)現(xiàn)</b></p><p> ?。?)測(cè)試結(jié)果分析如下:</p><p> 經(jīng)過(guò)調(diào)試與測(cè)試,實(shí)物小車(chē)的速度與設(shè)計(jì)指標(biāo)相差0.001 m/s;轉(zhuǎn)彎度與目標(biāo)值相差10度,這兩種誤差都與小車(chē)行駛的路面狀況有關(guān),摩擦力大時(shí),誤差范圍會(huì)更大,所以都符合預(yù)先設(shè)計(jì)的技術(shù)要求。避障避懸崖以及尋線的精確度與設(shè)計(jì)指標(biāo)相差不是太大,這與元器件
95、的性能有關(guān)。其他功能也都能實(shí)現(xiàn),只有實(shí)遙控功能沒(méi)有實(shí)現(xiàn),這是本次設(shè)計(jì)中的缺陷所在</p><p> 經(jīng)過(guò)線路板及元器件的焊點(diǎn)觀察和測(cè)試分析,主要原因有以下幾點(diǎn):</p><p> ?、倏赡苁羌t外遙控接收頭壞了,接收不到遙控器發(fā)出的信號(hào);</p><p> ?、诳赡苁羌t外接收頭至芯片那一路的某個(gè)元件虛焊導(dǎo)致斷路;</p><p> ?、圻€有可
96、能是所選遙控器與軟件設(shè)計(jì)的代碼不匹配,實(shí)現(xiàn)不了對(duì)小車(chē)的遙控。</p><p> ?、苡捎趯?duì)遙控解碼程序不熟悉,可能通過(guò)單片機(jī)的程序?qū)b控器的按鍵解碼不正確,導(dǎo)致小車(chē)不具遙控功能。</p><p><b> 5.3 結(jié)論</b></p><p> 至此小車(chē)的整體包括硬件和軟件的設(shè)計(jì)已經(jīng)完成,歷時(shí)三個(gè)月的設(shè)計(jì)過(guò)程中,我首先上網(wǎng)搜集資料,并在網(wǎng)上
97、選購(gòu)線路板,在我實(shí)習(xí)的車(chē)間里焊接小車(chē)的線路板。雖然我訓(xùn)練過(guò)兩個(gè)月的焊接,但是在實(shí)際的焊接過(guò)程中,我感覺(jué)到即使是一個(gè)簡(jiǎn)單的電路,要想很輕松的焊好,也不是很容易的事情,有時(shí)是“虛焊”的原因,有時(shí)可能是阻值選錯(cuò),比如這次的遙控功能就不能實(shí)現(xiàn),這使我深深感受到理論與實(shí)際間的差距。通過(guò)這樣的設(shè)計(jì),提高了我的動(dòng)手能力。</p><p> 焊接結(jié)束后,要對(duì)其進(jìn)行調(diào)試,在調(diào)試過(guò)程中,出現(xiàn)了很多問(wèn)題,如數(shù)碼管不顯示、小車(chē)總是后退
98、不前進(jìn)等等一些問(wèn)題,在孟老師的指導(dǎo)與幫助下,這些難題已經(jīng)被攻克了,小車(chē)能夠正確的實(shí)現(xiàn)智能防撞壁懸崖等功能。</p><p> 小車(chē)的模型圖和實(shí)物圖見(jiàn)附錄C所示;</p><p> 小車(chē)的元件清單見(jiàn)附錄D所示。</p><p><b> 6 結(jié)束語(yǔ)</b></p><p> 從三月份著手查資料開(kāi)始到今日,小車(chē)的焊接
99、、調(diào)試和組裝已經(jīng)完成,系統(tǒng)基本上能穩(wěn)定的運(yùn)行,但是還有不足之處,就是上面所提到的遙控功能沒(méi)有實(shí)現(xiàn),所以要吸取經(jīng)驗(yàn),在以后的學(xué)習(xí)和工作中要更加完善。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 胡漢才.單片機(jī)原理及其接口技術(shù). [M]. 北京: 清華大學(xué)出版社,2004年2月.</p><p> [2] 張永瑞,王
100、松林,李小平.電路分析. [M]. 北京:高等教育出版社,2004年10月.</p><p> [3] 譚浩強(qiáng).C程序設(shè)計(jì). [M]. 北京: 清華大學(xué)出版社,2005年7月.</p><p> [4] 清源科技.電路原理圖與PCB設(shè)計(jì)及仿真. [M]. 北京:機(jī)械工業(yè)出版社,2008年6月.</p><p> [5] 李松法.電子元器件應(yīng)用技術(shù). [M].
101、北京:航空工業(yè)出版社,2009年6月.</p><p> [6] AT89C51 DATA SHEEP Philips Semiconductors 1999.dec</p><p> [7] Nilsson,J.W.Introductory Circuits for Electrical and Computer Engineering. [M].BeiJing:Publishing
102、 House of Electronics Industry</p><p><b> 致 謝</b></p><p> 經(jīng)過(guò)自己不斷的搜索努力以及王老師的耐心指導(dǎo)和熱情幫助,本設(shè)計(jì)已經(jīng)基本完成。在這段時(shí)間里, 老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和熱忱的工作作風(fēng)令我十分欽佩,她的指導(dǎo)使我受益非淺。</p><p> 通過(guò)這次畢業(yè)設(shè)計(jì),使我深刻地認(rèn)
103、識(shí)到學(xué)好專業(yè)知識(shí)的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)三年的學(xué)習(xí)成果。雖然在這次設(shè)計(jì)中對(duì)于知識(shí)的運(yùn)用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這個(gè)畢業(yè)設(shè)計(jì)是對(duì)過(guò)去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過(guò)程,為今后的發(fā)展打下了良好的基礎(chǔ)。</p><p> 由于自身水平有限,設(shè)計(jì)中一定存在很多不足之處,敬請(qǐng)各位老師批評(píng)指正。</p><p> 附錄A:系統(tǒng)總原理
104、圖</p><p> 附錄B:部分程序清單</p><p><b> 附錄C:</b></p><p><b> 模 型 圖</b></p><p><b> 實(shí) 物 圖</b></p><p><b> 附錄D:&l
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的智能小車(chē)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的智能尋跡小車(chē)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能小車(chē)的設(shè)計(jì)
- 基于單片機(jī)的wifi智能小車(chē)設(shè)計(jì) 畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的智能尋跡小車(chē)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的wifi智能小車(chē)設(shè)計(jì) 畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的電動(dòng)智能小車(chē)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于arduino單片機(jī)的智能小車(chē)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于arduino單片機(jī)的智能小車(chē)設(shè)計(jì)
- 基于單片機(jī)的多功能智能小車(chē)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文基于單片機(jī)的智能循跡小車(chē)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)控制的智能電動(dòng)小車(chē)
- 機(jī)電專業(yè)畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能循跡小車(chē)
- 基于單片機(jī)的多功能智能小車(chē)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的智能小車(chē)設(shè)計(jì)
- 基于單片機(jī)的智能循跡小車(chē)的控制畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的智能循跡小車(chē)的控制畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的多功能智能小車(chē)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)智能小車(chē)畢業(yè)設(shè)計(jì)(論文)
- 基于單片機(jī)的智能小車(chē)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論