超聲波避障小車(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è)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、/*/5路超聲波避障實(shí)驗(yàn):51單片機(jī)+HC-SR04超聲波/*/#include/器件配置文件#include#defineRX1P3_6/小車(chē)左側(cè)超聲波HC-SR04接收端#defineTX1P1_7/發(fā)送端#defineRX2P3_3/左前方超聲波#defineTX2P0_2#defineRX3P2_4/正前方超聲波#defineTX3P2_5#defineRX4P3_5/右前方超聲波#defineTX4P3_4#defineRX5P3_7/右側(cè)超聲波#defineTX5P1_6#defineLeft_moto_pwmP1_5/PWM信號(hào)端#defineRight_moto_pwmP1_4

2、/PWM信號(hào)端/定義小車(chē)驅(qū)動(dòng)模塊輸入IO口sbitIN1=P10;sbitIN2=P11;sbitIN3=P12;sbitIN4=P13;sbitEN1=P14;sbitEN2=P15;bitRight_moto_stop=1;bitLeft_moto_stop=1;#defineLeft_moto_goIN1=0,IN2=1,EN1=1;/左電機(jī)向前走#defineLeft_moto_backIN1=1,IN2=0,EN1=1;/左邊電機(jī)向后走#defineLeft_moto_StopEN1=0;/左邊電機(jī)停轉(zhuǎn)#defineRight_moto_goIN3=1,IN4=0,EN2=1;/右邊

3、電機(jī)向前走#defineRight_moto_backIN3=0,IN4=1,EN2=1;/右邊電機(jī)向后走#defineRight_moto_StopEN2=0;/右邊電機(jī)停轉(zhuǎn)unsignedcharpwm_val_left=0;/變量定義unsignedcharpush_val_left=0;/左電機(jī)占空比N/20unsignedcharpwm_val_right=0;unsignedcharpush_val_right=0;/右電機(jī)占空比N/20unsignedinttime=0;unsignedinttimer=0;unsignedlongS1=0;unsignedlongS2=0;un

4、signedlongS3=0;unsignedlongS4=0;1 / 5unsignedlongS5=0;voiddelay_1ms(unsignedcharx)/1ms延時(shí)函數(shù),100ms以內(nèi)可用unsignedchari;while(x-)for(i=124;i0;i-);/*/voidCount1()/計(jì)算左側(cè)超聲波距離的函數(shù)while(!RX1);/當(dāng)RX1為零時(shí)等待TR0=1;/開(kāi)啟計(jì)數(shù)while(RX1);/當(dāng)RX1為1計(jì)數(shù)并等待TR0=0;/關(guān)閉計(jì)數(shù)time=TH0*256+TL0;TH0=0;TL0=0;S1=(time*1.7)/100;/算出來(lái)是CMvoidCount2(

5、)/計(jì)算函數(shù)while(!RX2);/當(dāng)RX2為零時(shí)等待TR0=1;/開(kāi)啟計(jì)數(shù)while(RX2);/當(dāng)RX2為1計(jì)數(shù)并等待TR0=0;/關(guān)閉計(jì)數(shù)time=TH0*256+TL0;TH0=0;TL0=0;S2=(time*1.7)/100;/算出來(lái)是CMvoidCount3()/計(jì)算函數(shù)while(!RX3);/當(dāng)RX3為零時(shí)等待TR0=1;/開(kāi)啟計(jì)數(shù)while(RX3);/當(dāng)RX3為1計(jì)數(shù)并等待TR0=0;/關(guān)閉計(jì)數(shù)time=TH0*256+TL0;TH0=0;TL0=0;S3=(time*1.7)/100;/算出來(lái)是CMvoidCount4()/計(jì)算函數(shù)while(!RX4);/當(dāng)RX4為

6、零時(shí)等待TR0=1;/開(kāi)啟計(jì)數(shù)while(RX4);/當(dāng)RX4為1計(jì)數(shù)并等待TR0=0;/關(guān)閉計(jì)數(shù)time=TH0*256+TL0;TH0=0;TL0=0;S4=(time*1.7)/100;/算出來(lái)是CMvoidCount5()/計(jì)算函數(shù)while(!RX5);/當(dāng)RX5為零時(shí)等待TR0=1;/開(kāi)啟計(jì)數(shù)while(RX5);/當(dāng)RX5為1計(jì)數(shù)并等待TR0=0;/關(guān)閉計(jì)數(shù)time=TH0*256+TL0;TH0=0;TL0=0;S5=(time*1.7)/100;/算出來(lái)是CMvoidleftrun(void)push_val_left=20;push_val_right=20;Left_mo

7、to_back/左電機(jī)往后走Right_moto_go/右電機(jī)往前走/*/右轉(zhuǎn)voidrightrun(void)push_val_left=20;push_val_right=20;Left_moto_go/左電機(jī)往前走Right_moto_back/右電機(jī)往后走/*/停止voidstoprun(void)Left_moto_Stop/左電機(jī)停Right_moto_Stop/右電機(jī)停/*/*PWM調(diào)制電機(jī)轉(zhuǎn)速*/*/*左電機(jī)調(diào)速*/*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比*/voidpwm_out_left_moto(void)if(Left_moto_stop) if(pw

8、m_val_left=20)pwm_val_left=0;elseLeft_moto_pwm=0;/*/*右電機(jī)調(diào)速*/voidpwm_out_right_moto(void)if(Right_moto_stop)if(pwm_val_right=20)pwm_val_right=0;elseRight_moto_pwm=0;/*/voidtimer0()interrupt1/T0中斷/*/*TIMER1中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)*/voidtimer1()interrupt3TH1=(65536-1000)/256;/1ms定時(shí)TL1=(65536-1000)%256;timer+;pwm

9、_val_left+;pwm_val_right+;pwm_out_left_moto();pwm_out_right_moto();/*/voidmain(void)TMOD=0x11;/設(shè)T0為方式1,GATE=1;TH0=0;TL0=0;TH1=(65536-1000)/256;/1ms定時(shí)TL1=(65536-1000)%256;ET0=1;/允許T0中斷ET1=1;/允許T1中斷TR1=1;/開(kāi)啟定時(shí)器EA=1;/開(kāi)啟總中斷while(1)TX1=1;/開(kāi)啟超聲波1探測(cè)delay_1ms(1);TX1=0;Count1();/測(cè)距TX2=1;delay_1ms(1);TX2=0;Count2();TX3=1;delay_1ms(1);TX3=0;Count3();TX4=1;delay_1ms(1);TX4=0;Count4();TX5=1;delay_1ms(1);TX5=0;Count5();if(S320&S120&S520)/進(jìn)入狹窄通道backrun();/倒車(chē)delay_1ms(100);elseif(S320&S1S5)/車(chē)子與障礙物90度垂直,左邊距離小右轉(zhuǎn)rightrun();elsei

溫馨提示

  • 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)論