智能避障小車(chē)課程設(shè)計(jì)_第1頁(yè)
智能避障小車(chē)課程設(shè)計(jì)_第2頁(yè)
智能避障小車(chē)課程設(shè)計(jì)_第3頁(yè)
智能避障小車(chē)課程設(shè)計(jì)_第4頁(yè)
智能避障小車(chē)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

武漢大學(xué)珞珈學(xué)院本科畢業(yè)論文廣東技術(shù)師范學(xué)院2光機(jī)電一體化課程設(shè)計(jì)題目:智能超聲波避障小車(chē)院別:機(jī)電學(xué)院專(zhuān)業(yè):機(jī)械電子工程(師范)姓名:路小娃學(xué)號(hào):2013095444026同組人員:謝嘉玲歐嘉興指導(dǎo)教師:楊永日期:2016年6月16日

智能超聲波避障小車(chē)摘要本設(shè)計(jì)主要有三個(gè)模塊包括信號(hào)檢測(cè)模塊、主控模塊、電機(jī)驅(qū)動(dòng)模塊。信號(hào)檢測(cè)模塊采用超聲波測(cè)距模塊,用以對(duì)有無(wú)障進(jìn)行檢測(cè)。主控電路采用宏晶公司的8051核心的STC89C52單片機(jī)為控制芯片。電機(jī)驅(qū)動(dòng)模塊采用意法半導(dǎo)體的L298N專(zhuān)用電機(jī)驅(qū)動(dòng)芯片,單片控制與傳統(tǒng)分立元件電路相比,使整個(gè)系統(tǒng)有很好的穩(wěn)定性。信號(hào)檢測(cè)模塊將采集到的路況信號(hào)傳入STC89C52單片機(jī),經(jīng)單片機(jī)處理過(guò)后對(duì)L298N發(fā)出指令進(jìn)行相應(yīng)的調(diào)整。我們?cè)O(shè)計(jì)的小車(chē)已經(jīng)實(shí)現(xiàn)基本的避障功能。關(guān)鍵詞:智能避障小車(chē),STC89C52單片機(jī),L298N驅(qū)動(dòng)芯片,信號(hào)檢測(cè)模塊,避障目錄TOC\o"1-3"\h\u3072摘要 232077目錄 3274171課程設(shè)計(jì)內(nèi)容 4100611.1項(xiàng)目研究的背景及意義 4168581.2應(yīng)用場(chǎng)合和功能: 494431.3項(xiàng)目主要研究?jī)?nèi)容 4171892總體方案論述 6133062.1總體方案 6229422.2總體功能及性能指標(biāo) 6121562.2.1總體功能 630612.2.2總體電路原理圖 612812.3系統(tǒng)方案的比較與確定 7134102.3.1系統(tǒng)方案的比較 7176312.3.2系統(tǒng)方案的確定 7115162.4最終實(shí)物圖 819453硬件電路的設(shè)計(jì) 9245353.1硬件系統(tǒng)的基本結(jié)構(gòu) 9317563.1.1障礙物測(cè)距系統(tǒng): 9248493.1.2驅(qū)動(dòng)模塊: 10194043.1.3電源模塊: 12107964.程序 13121674.1程序流程圖 1324175系統(tǒng)軟硬件調(diào)試 1470235.1硬件調(diào)試 14115675.2軟件調(diào)試 14276365.3調(diào)試中遇到的問(wèn)題 1412808結(jié)論 1432087參考文獻(xiàn) 155302附錄 1611492附錄一相關(guān)程序 1610988附錄二使用元器件一覽表 2330922附錄三心得 24

1課程設(shè)計(jì)內(nèi)容1.1項(xiàng)目研究的背景及意義智能作為現(xiàn)代社會(huì)的新產(chǎn)物,是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個(gè)特定的環(huán)境里自動(dòng)的運(yùn)作,無(wú)需人為管理,便可以完成預(yù)期所要達(dá)到的或是更高的目標(biāo)。本設(shè)計(jì)主要體現(xiàn)多功能小車(chē)的智能模式,設(shè)計(jì)中的理論方案、分析方法及特色與創(chuàng)新點(diǎn)等可以為自動(dòng)運(yùn)輸機(jī)器人、采礦勘探機(jī)器人、家用自動(dòng)清潔機(jī)器人等自動(dòng)半自動(dòng)機(jī)器人的設(shè)計(jì)與普及有一定的參考意義。同時(shí)小車(chē)可以作為玩具的發(fā)展對(duì)象,為中國(guó)玩具市場(chǎng)技術(shù)含量的缺乏進(jìn)行一定的彌補(bǔ),實(shí)現(xiàn)經(jīng)濟(jì)收益,形成商業(yè)價(jià)值。超聲波作為智能車(chē)避障的一種重要手段,以其避障實(shí)現(xiàn)方便,計(jì)算簡(jiǎn)單,易于做到實(shí)時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車(chē)智能化進(jìn)程中必將得到廣泛應(yīng)用。我國(guó)作為一個(gè)世界大國(guó),在高科技領(lǐng)域也必須占據(jù)一席之地,未來(lái)汽車(chē)的智能化是汽車(chē)產(chǎn)業(yè)發(fā)展必然的,在這種情況下研究超聲波在智能車(chē)避障上的應(yīng)用具有深遠(yuǎn)意義,這將對(duì)我國(guó)未來(lái)智能汽車(chē)的研究在世界高科技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用。本智能小車(chē)系統(tǒng)最誘人的前景就是可用于未來(lái)的智能汽車(chē)上了,當(dāng)駕駛員因疏忽或打瞌睡時(shí)這樣的智能汽車(chē)的設(shè)計(jì)就能體現(xiàn)出它的作用。如果汽車(chē)偏離車(chē)道或距障礙物小于安全距離時(shí),汽車(chē)就會(huì)發(fā)出警報(bào),提醒駕駛員注意,如果駕駛員沒(méi)有及時(shí)作出反應(yīng),汽車(chē)就會(huì)自動(dòng)減速或??坑诼愤叀_@樣的小車(chē)還可以用于月球探測(cè)等的無(wú)人探月車(chē),幫助我們傳達(dá)月球上更多的信息,讓我們更加的了解月球,為將來(lái)登月做好充分準(zhǔn)備。這樣的小車(chē)在科學(xué)考察探測(cè)車(chē)上也有廣闊的應(yīng)用前景,在科學(xué)考察中,有很多危險(xiǎn)且人們無(wú)法涉足的地方,這時(shí),智能科學(xué)考察車(chē)就能夠派上用場(chǎng),在它上面裝上攝像機(jī),代替人們進(jìn)行許多無(wú)法進(jìn)行的工作。1.2應(yīng)用場(chǎng)合和功能:應(yīng)用場(chǎng)合:智能小車(chē)是一種能夠通過(guò)編程手段完成特定任務(wù)的小型化機(jī)器人,它具有制作成本低廉,電路結(jié)構(gòu)簡(jiǎn)單,程序調(diào)試方便等優(yōu)點(diǎn)。由于具有很強(qiáng)的趣味性,智能小車(chē)深受廣大機(jī)器人愛(ài)好者以及高校學(xué)生的喜愛(ài)。同時(shí)在玩具的應(yīng)用上深受小朋友的青睞。功能:本小車(chē)使用STC12C5A60S2單片機(jī)作為主控芯片,它通過(guò)超聲波測(cè)距來(lái)獲取小車(chē)距離障礙物的距離,當(dāng)小車(chē)與障礙物的距離大于30cm時(shí),小車(chē)會(huì)沿直線前進(jìn),當(dāng)小車(chē)與障礙物的距離小于30cm時(shí),小車(chē)轉(zhuǎn)彎以避開(kāi)障礙物。在避開(kāi)障礙物后,小車(chē)會(huì)沿直線前進(jìn)。1.3項(xiàng)目主要研究?jī)?nèi)容本設(shè)計(jì)題目為智能避障小車(chē)設(shè)計(jì),主要研究小車(chē)的避障功能,小車(chē)遇到障礙物時(shí),當(dāng)距離障礙物大于30cm,驅(qū)動(dòng)電機(jī)工作,小車(chē)正常前進(jìn),當(dāng)小于30cm時(shí),舵機(jī)會(huì)接受到單片機(jī)的信號(hào),小車(chē)采取相應(yīng)的避障措施。這里探測(cè)裝置必不可少,因?yàn)槌暡ㄔ诰嚯x檢測(cè)方面的較準(zhǔn)確定位。所以采用超聲波傳感器作為探測(cè)裝置,由于超聲波遇到障礙物時(shí)發(fā)生像光一樣的反射和散射,在經(jīng)過(guò)多次發(fā)射之后再回到超聲波檢測(cè)端口會(huì)產(chǎn)生較嚴(yán)重的路程差,從而影響對(duì)距離的檢測(cè)進(jìn)而影響對(duì)障礙物的較準(zhǔn)確定位。通過(guò)軟件內(nèi)部校準(zhǔn)優(yōu)化消除外部物理?xiàng)l件造成的誤差從而達(dá)到對(duì)障礙物的較準(zhǔn)確定位。

2總體方案論述2.1總體方案計(jì)劃小車(chē)使用STC12C5A60S2單片機(jī)作為主控芯片,它通過(guò)超聲波測(cè)距來(lái)獲取小車(chē)距離障礙物的距離,當(dāng)小車(chē)與障礙物的距離大于危險(xiǎn)距離時(shí),小車(chē)會(huì)沿直線前進(jìn),當(dāng)小車(chē)與障礙物的距離小于危險(xiǎn)距離時(shí),小車(chē)轉(zhuǎn)彎以避開(kāi)障礙物。在避開(kāi)障礙物后,小車(chē)會(huì)沿直線前進(jìn)。2.2總體功能及性能指標(biāo)2.2.1總體功能1.通過(guò)測(cè)距傳感器來(lái)獲取小車(chē)距離障礙物的距離。2.當(dāng)小車(chē)與障礙物的距離大于30cm時(shí),小車(chē)會(huì)沿直線前進(jìn),當(dāng)小車(chē)與障礙物的距離小于30cm時(shí),小車(chē)轉(zhuǎn)彎以避開(kāi)障礙物。2.2.2總體電路原理圖圖二總體電路原理圖2.3系統(tǒng)方案的比較與確定2.3.1系統(tǒng)方案的比較1.方案一(1)設(shè)計(jì)超聲波模塊測(cè)距,STC12C5A60S2單片機(jī)作為主控模塊;(2)設(shè)定報(bào)警閾值(設(shè)定30CM,可用鍵盤(pán)調(diào)整閾值),小車(chē)通過(guò)舵機(jī)工作來(lái)實(shí)現(xiàn)轉(zhuǎn)彎避障;(3)利用STC12C5A60S2的P1口AD轉(zhuǎn)換功能,超聲波模塊測(cè)量距離。2.方案二(1)紅外測(cè)距器的系統(tǒng)設(shè)計(jì),STC12C5A60S2單片機(jī)作為主控模塊;(2)用動(dòng)態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示,紅外驅(qū)動(dòng)信號(hào)用單片機(jī)的定時(shí)器完成;(3)單片機(jī)使用P1.0端口輸出超聲波轉(zhuǎn)化器所需的40KHz方波信號(hào)ISD1820語(yǔ)音播放距離,并用LED數(shù)字顯示顯示其距離值。2.3.2系統(tǒng)方案的確定我們小組考慮到,超聲波測(cè)距方向性好,耐臟污,可以在較差環(huán)境下使用,價(jià)格中等,檢測(cè)距離遠(yuǎn)。紅外測(cè)距的優(yōu)點(diǎn)是便宜,易制,安全,缺點(diǎn)是精度低、抗干擾能力差、方向性差、測(cè)試距離近。激光測(cè)距精度高,但是成本較高,制作難度高,對(duì)人體安全有影響,且受外界環(huán)境影響較大。三者經(jīng)過(guò)相互比較,從經(jīng)濟(jì)和我們所學(xué)的知識(shí)考慮。所以我們最終選擇方案一。2.4最終實(shí)物圖

3硬件電路的設(shè)計(jì)3.1硬件系統(tǒng)的基本結(jié)構(gòu)該智能車(chē)系統(tǒng)可分為四個(gè)主要模塊:?jiǎn)纹瑱C(jī)主控核心模塊,傳感器避障模塊,電機(jī)驅(qū)動(dòng)模塊和顯示模塊。其主要組成構(gòu)圖如下:數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)超聲波單片機(jī)STC12C5A60S2單片機(jī)STC12C5A60S2控制數(shù)據(jù)超聲波單片機(jī)STC12C5A60S2單片機(jī)STC12C5A60S2控制數(shù)據(jù)舵機(jī)舵機(jī)控制控制數(shù)據(jù)3.1.1障礙物測(cè)距系統(tǒng):方案一:超聲波視覺(jué)優(yōu)點(diǎn):價(jià)格合理,夜間不受影響。易于多目標(biāo)測(cè)量和分類(lèi),分辨率好。缺點(diǎn):測(cè)量范圍小,對(duì)天氣變化敏感。不能直接測(cè)量距離,算法復(fù)雜,處理速度慢。方案二:紅外測(cè)距優(yōu)點(diǎn):便宜,易制,安全,速度快。缺點(diǎn):精度低,距離近,方向性差,容易受光干擾探測(cè)障礙的最簡(jiǎn)單的方法是使用超聲波傳感器,它是利用向目標(biāo)發(fā)射超聲波脈沖,計(jì)算其往返時(shí)間來(lái)判定距離的。算法簡(jiǎn)單,價(jià)格合理。所以我們選擇超聲波傳感器。超聲波測(cè)距原理:首先利用單片機(jī)輸出一個(gè)40kHz的觸發(fā)信號(hào),把觸發(fā)信號(hào)通過(guò)TRIG管腳輸入到超聲波測(cè)距模塊,再由超聲波測(cè)距模塊的發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)單片機(jī)通過(guò)軟件開(kāi)始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物返回,超聲波測(cè)距模塊的接收器收到反射波后通過(guò)產(chǎn)生一個(gè)回應(yīng)信號(hào)并通過(guò)ECHO腳反饋給單片機(jī),此時(shí)單片機(jī)就立即停止計(jì)時(shí)。時(shí)序圖如圖1所示。由于超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離,即:S=VT/2,通過(guò)單片機(jī)來(lái)算出距離。圖3.1:超聲波測(cè)距原理3.1.2驅(qū)動(dòng)模塊:方案一:采用ULN2003驅(qū)動(dòng),它是由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,一般用于高速大功率驅(qū)動(dòng)電路。所以我們不采用這個(gè)方案。方案二:采用由雙極性管組成的H橋電路(L298N)。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子開(kāi)關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強(qiáng)的驅(qū)動(dòng)能力。L298N有過(guò)電流保護(hù)功能,當(dāng)出現(xiàn)電機(jī)卡死時(shí),可以保護(hù)電路和電機(jī)等。L298N有過(guò)電流保護(hù)功能,當(dāng)出現(xiàn)電機(jī)卡死時(shí),可以保護(hù)電路和電機(jī)等。所以我們選擇L298N。下圖為L(zhǎng)298內(nèi)部圖:圖3.3:L298內(nèi)部原理圖L298各引腳功能,如下表。引腳功能1、15SEN1、SEN2分別為兩個(gè)H橋的電流反饋腳,不用時(shí)可以接地2、31Y1、1Y2輸出端,與對(duì)應(yīng)輸入端(IN1、IN2)同邏輯4VS驅(qū)動(dòng)電壓,最小值需比輸入的低電平電壓高2.5V5、7IN1、IN2輸入端,TTL電平兼容6、11EN1、EN2使能端,低電平禁止輸出8GND地9VSS邏輯電源,4.5~7V10、12IN3、IN4輸入端,TTL電平兼容13、142Y1、2Y2輸出端,與對(duì)應(yīng)輸入端(IN3、IN4)同邏輯表3-3-1封裝引腳及功能驅(qū)動(dòng)電機(jī)的運(yùn)行,I/O端口狀態(tài)與電機(jī)制動(dòng)對(duì)照表,如下。IN1IN2IN3IN4EN1EN2轉(zhuǎn)速101011正轉(zhuǎn)010111反轉(zhuǎn)111111停止000011停止XXXX00停止表3-3-2I/O端口狀態(tài)與電機(jī)制動(dòng)對(duì)照表3.1.3電源模塊:我們選擇采用8.4v的獨(dú)立的穩(wěn)壓電源。優(yōu)點(diǎn):穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn):電源需要經(jīng)LM2940轉(zhuǎn)換成5v的獨(dú)立的穩(wěn)壓電源。綜合電源模塊的缺優(yōu)點(diǎn),和電路的實(shí)際需求,我們采用了兩個(gè)變壓電源模塊,一塊給小車(chē)的電機(jī)驅(qū)動(dòng)供電,一塊給小車(chē)的芯片供電,這樣彌補(bǔ)了單個(gè)獨(dú)立電源供電出現(xiàn)電力不足的情況。

4.程序4.1程序流程圖本設(shè)計(jì)系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑定時(shí)子程序、電機(jī)驅(qū)動(dòng)子程序﹑中斷子程序、顯示子程序﹑算法子程序構(gòu)成。主程序流程圖如圖2所示。其中:避障中斷服務(wù)子程序完成對(duì)超聲波探測(cè)器產(chǎn)生的外部中斷進(jìn)行處理,如果超出預(yù)定的危險(xiǎn)距離就左轉(zhuǎn)進(jìn)行避障。在定時(shí)中斷服務(wù)子程序,完成定時(shí)與里程的計(jì)算。主程序流程圖如圖13所示。圖13程序流程圖5系統(tǒng)軟硬件調(diào)試5.1硬件調(diào)試超聲波距儀的制作為了使信號(hào)穩(wěn)定,最好給輸入電源加上一個(gè)濾波電路,會(huì)增加誤差,但總體來(lái)說(shuō)不影響結(jié)果。在本次設(shè)計(jì)中,主控模塊是非常重要的部分,它不僅是本次設(shè)計(jì)的核心,在本次硬件調(diào)試中也遇到了問(wèn)題,接上電源的時(shí)候,顯示屏不亮,沒(méi)有任何顯示,于是我做了如下的工作:(1)檢查電源是否通電;(2)編程使P1為低電平,檢查到P1輸出為低;(3)檢查P0口未接上拉電阻。5.2軟件調(diào)試硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測(cè)距儀能測(cè)的范圍為20cm~150cm,測(cè)距儀最大誤差不超過(guò)0.5cm。系統(tǒng)調(diào)試完后對(duì)各個(gè)距離進(jìn)行多次測(cè)量,與預(yù)定值進(jìn)行比較,對(duì)測(cè)量誤差進(jìn)行多次實(shí)驗(yàn)分析,不斷調(diào)節(jié)器件和修改程序使其達(dá)到實(shí)際使用的測(cè)量要求。5.3調(diào)試中遇到的問(wèn)題在焊接過(guò)程中一些地方出現(xiàn)虛焊等接觸不良的問(wèn)題,導(dǎo)致顯示不穩(wěn)定有閃爍。接線過(guò)程中用插針接線容易導(dǎo)致接線松動(dòng),沒(méi)接到或者接觸不良。環(huán)境問(wèn)題:超聲波在空氣介質(zhì)的傳播過(guò)程中會(huì)有很大的衰減,其衰減遵循指數(shù)規(guī)律。一般情況下能測(cè)150cm,但是空氣介質(zhì)發(fā)生改變,如塵埃過(guò)多,導(dǎo)致紅外線強(qiáng)度降低,測(cè)量發(fā)生誤差,且測(cè)量距離變小。周?chē)衅渌椛湓?,并且?qiáng)度很大時(shí)會(huì)影響測(cè)量結(jié)果。結(jié)論對(duì)所設(shè)計(jì)的電路進(jìn)行測(cè)量、校準(zhǔn)發(fā)現(xiàn)其測(cè)量范圍在20cm—150cm內(nèi)的平面物體做了多次測(cè)量發(fā)現(xiàn),其最大誤差為0.5cm,且重復(fù)性好。該測(cè)距儀穩(wěn)定性比較高、靈敏度比較高。但是在檢測(cè)過(guò)程中會(huì)有一些不便的地方:1.測(cè)量時(shí)在超聲波測(cè)距儀和目標(biāo)物體之間周沒(méi)有其它可阻擋的物體,由于是根據(jù)反射能量法,且發(fā)射功率有限,反射回來(lái)的聲波能量容易過(guò)低而無(wú)法采集,測(cè)距儀無(wú)法測(cè)量150cm外的物體。2.必須在干凈清新的空氣環(huán)境下測(cè)量,空氣中一旦塵埃過(guò)多,會(huì)最終影響計(jì)算距離的值。3.不能夠?qū)崿F(xiàn)不同溫度下的測(cè)距功能。4.因?yàn)槌暡ㄊ菍⒖諝庾鳛槊浇樗允茈姶鸥蓴_比較大。由上述的分析知,如果能夠干凈清新的空氣環(huán)境,穩(wěn)定的溫度下,無(wú)其它電磁干擾,阻擋的物體,能夠獲得較高的測(cè)量精度。參考文獻(xiàn)[1]毋茂盛,《單片機(jī)原理與開(kāi)發(fā)》,高等教育出版社[2]計(jì)時(shí)鳴,《機(jī)電一體化控制技術(shù)與系統(tǒng)》,西安電子科技大學(xué)出版社[3]張曙光,《c語(yǔ)言程序設(shè)計(jì)》,人民郵電出版社[4]彭偉,《單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)—基于8051+Proteus仿真》電子工業(yè)出版社

附錄附錄一相關(guān)程序#include<reg52.h>#include<intrins.h>#include<STDIO.H>#defineucharunsignedchar#defineuintunsignedint /*DeclareSFRassociatedwiththePCA*/sfrCCON=0xD8;//PCAcontrolregistersbitCCF0=CCON^0;//PCAmodule-0interruptflagsbitCCF1=CCON^1;//PCAmodule-1interruptflagsbitCR=CCON^6;//PCAtimerruncontrolbitsbitCF=CCON^7;//PCAtimeroverflowflagsfrCMOD=0xD9;//PCAmoderegistersfrCL=0xE9;//PCAbasetimerLOWsfrCH=0xF9;//PCAbasetimerHIGHsfrCCAPM0=0xDA;//PCAmodule-0moderegistersfrCCAP0L=0xEA;//PCAmodule-0captureregisterLOWsfrCCAP0H=0xFA;//PCAmodule-0captureregisterHIGHsfrCCAPM1=0xDB;//PCAmodule-1moderegistersfrCCAP1L=0xEB;//PCAmodule-1captureregisterLOWsfrCCAP1H=0xFB;//PCAmodule-1captureregisterHIGHsfrPCAPWM0=0xf2;sfrPCAPWM1=0xf3; sbitRX=P1^0;sbitTX=P1^1;sbitpwm=P2^7;sbitINPUT1=P2^0;//p1^3sbitINPUT2=P2^1;sbitINPUT3=P2^2;//p1^4sbitINPUT4=P2^3;sbitENA=P2^4;sbitENB=P2^5;unsignedcharjd=0,count=0,joflag=0;//角度標(biāo)識(shí) unsignedinttime=0; unsignedinttimer=0; floatS=0;bitflag=0;/********************************************************/voidConut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100;//算出來(lái)是CM// if(flag==1) //超出測(cè)量// {// flag=0;// printf("\n");// }//// printf("S=%f\n",S); }/********************************************************/voidDelay1ms() //@11.0592MHz{ unsignedchari,j; _nop_(); i=11; j=190; do { while(--j); }while(--i);}voiddelayms(unsignedintxms){ intxnum=0; for(;xnum<xms;xnum++) { Delay1ms(); }}voidDelay5us() //@11.0592MHz{ unsignedchari; _nop_(); _nop_(); _nop_(); i=10; while(--i);}voiddelayus5x(unsignedintxus){ while(xus--) { Delay5us(); }}/********************************************************/voidStartModule() //T1中斷用來(lái)800MS啟動(dòng)模塊{ TX=1; //800MS啟動(dòng)一次模塊 Delay5us(); Delay5us(); Delay5us(); Delay5us(); TX=0;}/****************************/*描述:PWM初始化函數(shù)/*功能:程序開(kāi)始執(zhí)行部分/*輸入:左右兩個(gè)輪子的速度****************************/voidPWM_INIT(){ CCON=0; CL=0; CH=0; CMOD=0X00;//0x02 CCAP0H=CCAP0L=0XFF; CCAPM0=0X42; CCAP1H=CCAP1L=0XFF; CCAPM1=0X42; CR=1; }/****************************/*描述:PWM調(diào)速函數(shù)/*功能:程序開(kāi)始執(zhí)行部分/*輸入:左右兩個(gè)輪子的速度****************************/voidmoto(intleft_speed,intright_speed){ if(left_speed>=255) left_speed=255; if(right_speed>=255) right_speed=255; CCAP0H=CCAP0L=(255-left_speed); CCAP1H=CCAP1L=(255-right_speed);}voiddianji(){INPUT1=1; INPUT2=0; INPUT3=1; INPUT4=0; ENA=1; ENB=1;}voidstop(){ INPUT1=1; INPUT2=0; INPUT3=1; INPUT4=0; ENA=0; ENB=0;}//voidduoji()//{//// TH0=0xff;//重新賦值// TL0=0x19;////if(count<jd)//判斷0.5ms次數(shù)是否小于角度標(biāo)識(shí)//pwm=1;//確實(shí)小于,PWM輸出高電平//else//pwm=0;//大于則輸出低電平////count=(count+1);//0.5ms次數(shù)加1//count=count%80; //次數(shù)始終保持為40即保持周期為20ms////}voidjiaodu(unsignedcharnum){ unsignedintjdcount=0; for(;jdcount<400;jdcount++) { if(jdcount<=num) pwm=1; elsepwm=0; delayus5x(10); }}voidcheck(){ if(S<40)//檢測(cè)到障礙物 { if(joflag%2) //0 { jiaodu(2); } else { jiaodu(35); } joflag++; joflag%=200; delayms(1200); jiaodu(21); } else jiaodu(21); delayms(100);}/********************************************************/voidmain(void){ unsign

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論