超聲波避障小車(chē)程序設(shè)計(jì)_第1頁(yè)
超聲波避障小車(chē)程序設(shè)計(jì)_第2頁(yè)
超聲波避障小車(chē)程序設(shè)計(jì)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、 * / 路超聲波避障實(shí)驗(yàn):?jiǎn)纹瑱C(jī)HC SR 4 超聲波/ * * * /#inlde T89x、 H> /器件配置文件#i lude < ntrins 、 h> #d fine R P3_6/ 小車(chē)左側(cè)超聲波 H R 4 接收端 deine TX1 P1_7 /發(fā)送端defi e R 2 P3_3 /左前方超聲波 ine TX2 P0_2 efine R3 24 正前方超聲波 defin X3 P2_5#defin X4 P3_5 /右前方超聲波 def ne X4 P3_4 efine R P _7 /右側(cè)超聲波# efin TX5 P1_6 define L t_mot

2、o wm P1_5 /P 信號(hào)端 efin gh_ oto_p P1_ /PWM 信號(hào)端/定義小車(chē)驅(qū)動(dòng)模塊輸入 IO 口sb IN =P1 0 ;sbit IN2=P1 1; it IN =12;sbit 4=P13 ;sbi E =P14;sbit E P15;bit R g t_moto_s p=1;bt L ft_ oto_ top 1;# efine L t_m to_go I 1=0, IN2 , N1=1; / 左電機(jī)向前走# fn L f_moto_ ck IN=, N2=0,N1; /左邊電機(jī)向后走 defi Left_ ot Sto E 1=0; / 左邊電機(jī)停轉(zhuǎn)def n

3、ight o _go IN3=, IN=0,E 2=1; / 右邊電機(jī)向前走#define Rh_moto_bck N3=0,IN=1,N=1; /右邊電機(jī)向后走 dfine ight_moto_ tp EN2=0; / 右邊電機(jī)停轉(zhuǎn)uns g ed ch pwm_val_l ft =0;/ 變量定義u signed char p sh_ left =0 ; 左電機(jī)占空比 N20unsigned chr p m_val_igh =0;nign chr push_val_ i t=0;/ 右電機(jī)占空比 N/20 u igned in time 0; unsigned int tim r= ; u

4、n gned long S 0; un ig e long 2=; ns ned ong S3=0;u s g e long 4=0; unsigned long S5= ; d delay_ m ( unsi n char x) / s 延時(shí)函數(shù) ,100ms 以內(nèi)可 用 unsigned char i; while( ) for ( i 2; i 0; i ); * id Cont1() / 計(jì)算左側(cè)超聲波距離得函數(shù) wh l(!R1); /當(dāng) R為零時(shí)等待TR;/ 開(kāi)啟計(jì)數(shù)whi( RX1); /當(dāng) RX為計(jì)數(shù)并等待TR0=0; /關(guān)閉計(jì)數(shù)tm =T 25+T;H0=0; =0;S1=(

5、 m 1、 7) 100; /算出來(lái)就是 M voi Coun() /計(jì)算函數(shù) while(!RX2); / 當(dāng) R2 為零時(shí)等待TR0=;/ 開(kāi)啟計(jì)數(shù) hile(RX2); / 當(dāng) RX2 為計(jì)數(shù)并等待TR0=0; / 關(guān)閉計(jì)數(shù) =TH* 6+T 0;T 0=0;TL =0;=(ie1、7)100; / 算出來(lái)就是 CM v i C( ) / 計(jì)算函數(shù) whi (! X3); / 當(dāng) R 3 為零時(shí)等待 R0=;/ 開(kāi)啟計(jì)數(shù)hil(RX); /當(dāng) R3為 1計(jì)數(shù)并等待TR=0; / 關(guān)閉計(jì)數(shù)time=TH0* 5 0;TH0=0;L0=;S3( m *1、7)/10; /算出來(lái)就是 CM v

6、oid C unt4 () / 計(jì)算函數(shù) hil(! RX4); / 當(dāng) RX4 為零時(shí)等待TR=1;/ 開(kāi)啟計(jì)數(shù)whl(R4); /當(dāng)X4為 1計(jì)數(shù)并等待 R =0; / 關(guān)閉計(jì)數(shù)time=TH0* 56TL0;H0=0;T 0;S4 (time*1 、7)/100; /算出來(lái)就是 CM void Count5 () / 計(jì)算函數(shù)while ( !RX5); / 當(dāng) RX為零時(shí)等待 0=1;/開(kāi)啟計(jì)數(shù)w e(RX) ; /當(dāng) R5為 1計(jì)數(shù)并等待TR0=0; / 關(guān)閉計(jì)數(shù)time TH0 256+T 0;TH0=0;TL0=0;S5=( ie*1 、7)/10; / 算出來(lái)就是 Mvod l

7、eft un(void) push val_left=20 ;push_va _right=20;Le t_moto_ a k 左電機(jī)往后走ight mot _go / 右電機(jī)往前走/ * * * * * / / 右轉(zhuǎn)o d rrun(voi ) usvale t=2 ; sh_val_r gh =20;Le _moto_go / 左電機(jī)往前走ig t_mot ba /右電機(jī)往后走 * * * * * * * */ / 停止voistoprun ( v id)eftm to_S op / 左電機(jī)停R ht_m to_Stop / 右電機(jī)停/* * * *PWM調(diào)制電機(jī)轉(zhuǎn)*/ * * * /*左

8、電機(jī)調(diào)速*/ / 調(diào)節(jié)h_val_lef 得值改變電機(jī)轉(zhuǎn)速,占空比oi p m out_ e t_moto( oid)if(Left_moto_ to)i ( pwm val left sh_v l_lft )Lef oto p m= ; sLef _ t pwm=0;if( pw val_left =20) wm_val_left= ;ele ef _mt_pwm ; * * * * * * * * /*右電機(jī)調(diào)速*/vd w _ou r ght_m o( void) if( R g _mo _st p) i( pwm_va _rig t=push_valr ght) g t moto_ m

9、=1;ese ight_ oto_pwm=0;f(pmal_rg t 2)pmvalrit=0; elseRig t_ oto_pw =;/ /vod timer0() nterpt 1/ 0 中斷 / /TIMR1 中斷服務(wù)子函數(shù)產(chǎn)生PWM 信號(hào)/vid im r1( ) nte rupt 3 TH=(65361000)/56; /1ms 定時(shí) TL1=( 553610 ) 56; timer +;p _val_e t+; pwm_val_ri ht ; pwm_out le _mot ( ); pwm_ ut_r g _ oto () ; /* * * * * * * * * * * *

10、* * * vo d mai ( id)M =0x1; /設(shè) T0 為方式 1,GATE=; T 0=0;L0=0;TH1=(65536100)/256; /1ms 定時(shí) L1=(65361000) %256;ET0=;/ 允許 T0 中斷 1=1; /允許 T1 中斷 T1=; / 開(kāi)啟定時(shí)器EA1; /開(kāi)啟總中斷whil ( ) =1; /開(kāi)啟超聲波 1 探測(cè) d ly1m();TX10;Count1(); / 測(cè)距TX2=1; e ay ms(1);X20;out () X31; ela _1ms( );TX =0;Co nt3( ) ;TX4=1;d ly s(1);TX4=;Co nt ( ); X5=1; elay_1ms ();T5=0;Count () ;if( 3<20 S1<20 & S5<2) / 進(jìn)入狹窄通道 ba krun( ) ; / 倒車(chē)delay m (100);else f(S3<20 && S<S5 ) /車(chē)子與障礙物 90 度垂直,左邊距離小右轉(zhuǎn)r g t un(); es i(S3<20 S<

溫馨提示

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