![超聲波避障小車程序設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/bd521f9e-2595-4e03-b8b1-60f56702db8c/bd521f9e-2595-4e03-b8b1-60f56702db8c1.gif)
![超聲波避障小車程序設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/bd521f9e-2595-4e03-b8b1-60f56702db8c/bd521f9e-2595-4e03-b8b1-60f56702db8c2.gif)
![超聲波避障小車程序設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/bd521f9e-2595-4e03-b8b1-60f56702db8c/bd521f9e-2595-4e03-b8b1-60f56702db8c3.gif)
![超聲波避障小車程序設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/bd521f9e-2595-4e03-b8b1-60f56702db8c/bd521f9e-2595-4e03-b8b1-60f56702db8c4.gif)
![超聲波避障小車程序設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/bd521f9e-2595-4e03-b8b1-60f56702db8c/bd521f9e-2595-4e03-b8b1-60f56702db8c5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、word/*/ /5路超聲波避障實驗:51單片機(jī) + HC-SR04超聲波 / /*/ #include <AT89x52.H> /器件配置文件 #include <intrins.h> #define RX1
2、60;P3_6 /小車左側(cè)超聲波HC-SR04接收端 #define TX1 P1_7 /發(fā)送端 #define RX2 P3_3 /左前方超聲波 #define T
3、X2 P0_2 #define RX3 P2_4 /正前方超聲波 #define TX3 P2_5 #define RX4 P3_5 /右前方超
4、聲波 #define TX4 P3_4 #define RX5 P3_7 /右側(cè)超聲波 #define TX5 P1_6
5、0;#define Left_moto_pwm P1_5 /PWM信號端 #define Right_moto_pwm P1_4 /PWM信號端 /定義小車驅(qū)動模塊輸入IO口 sbit IN1=P10; sbit IN2=P11; sbit IN3=P12;
6、;sbit IN4=P13; sbit EN1=P14; sbit EN2=P15; bit Right_moto_stop=1; bit Left_moto_stop =1; #define Left_moto_go IN1=0,IN2=1,EN1=1; /左電機(jī)向前走
7、0; #define Left_moto_back IN1=1,IN2=0,EN1=1; /左邊電機(jī)向后走 #define Left_moto_Stop EN1=0; /左邊電機(jī)停轉(zhuǎn) #define Right_moto_g
8、o IN3=1,IN4=0,EN2=1; /右邊電機(jī)向前走 #define Right_moto_back IN3=0,IN4=1,EN2=1; /右邊電機(jī)向后走 #define Right_moto_Stop EN2=0; /右邊電機(jī)停轉(zhuǎn) unsigned char pwm_val_left
9、0;=0;/變量定義 unsigned char push_val_left =0;/ 左電機(jī)占空比N/20 unsigned char pwm_val_right =0; unsigned char push_val_right=0;/ 右電機(jī)占空比N/20 unsigned int time=0;
10、60; unsigned int timer=0; unsigned long S1=0; unsigned long S2=0; unsigned long S3=0; unsigned long S4=0;
11、 unsigned long S5=0; void delay_1ms(unsigned char x) /1ms延時函數(shù),100ms以內(nèi)可用 unsigned char i; while(x-)
12、0;for(i=124;i>0;i-); /*/ void Count1() /計算左側(cè)超聲波距離的函數(shù) while(!RX1); /當(dāng)RX1為零時等待 TR0=1; /開啟計數(shù) while(RX1);&
13、#160; /當(dāng)RX1為1計數(shù)并等待 TR0=0; /關(guān)閉計數(shù) time=TH0*256+TL0; TH0=0; TL0=0; S1=(time*1.7)/100; /算出來是CM
14、160;void Count2() /計算函數(shù) while(!RX2); /當(dāng)RX2為零時等待 TR0=1; /開啟計數(shù) while(RX2); /當(dāng)RX2為1計數(shù)并等待 TR0=0; /關(guān)閉計數(shù) time=TH0
15、*256+TL0; TH0=0; TL0=0; S2=(time*1.7)/100; /算出來是CM void Count3() /計算函數(shù)
16、60; while(!RX3); /當(dāng)RX3為零時等待 TR0=1; /開啟計數(shù) while(RX3); /當(dāng)RX3為1計數(shù)并等待 TR0=0; /關(guān)閉計數(shù) time=TH0
17、*256+TL0; TH0=0; TL0=0; S3=(time*1.7)/100; /算出來是CM void Count4() /計算函數(shù)
18、60; while(!RX4); /當(dāng)RX4為零時等待 TR0=1; /開啟計數(shù) while(RX4); /當(dāng)RX4為1計數(shù)并等待 TR0=0; /關(guān)閉計數(shù) time=TH0*256+TL0;
19、60;TH0=0; TL0=0; S4=(time*1.7)/100; /算出來是CM void Count5() /計算函數(shù)
20、60; while(!RX5); /當(dāng)RX5為零時等待 TR0=1; /開啟計數(shù) while(RX5); /當(dāng)RX5為1計數(shù)并等待 TR0=0; /關(guān)閉計數(shù) time=TH0*256+TL0; TH0=0; TL0=0;
21、60; S5=(time*1.7)/100; /算出來是CM void leftrun(void) push_val_left=20; push_val_right=20; Left_moto_
22、back /左電機(jī)往后走 Right_moto_go /右電機(jī)往前走 /*/ /右轉(zhuǎn) void rightrun(void) push_val_left=20; push_val_right=20; Left_moto_go /左電機(jī)往前
23、走 Right_moto_back /右電機(jī)往后走 /*/ /停止 void stoprun(void) Left_moto_Stop /左電機(jī)停 Right_moto_Stop /右電機(jī)停 /*/ /*
24、 PWM調(diào)制電機(jī)轉(zhuǎn)速
25、60; */ /*/ /* 左電機(jī)調(diào)速
26、60; */ /*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比 */ void pwm_out_left_moto(void)
27、60; if(Left_moto_stop) if(pwm_val_left<=push_val_left)
28、60; Left_moto_pwm=1; else &
29、#160;Left_moto_pwm=0; if(pwm_val_left>=20) pwm_val_left=0; else
30、60; Left_moto_pwm=0; /*/ /*
31、 右電機(jī)調(diào)速 */
32、; void pwm_out_right_moto(void) if(Right_moto_stop) if(pwm_val_right<=push_val_right)
33、 Right_moto_pwm=1; else Right_moto_pwm=0;
34、0; if(pwm_val_right>=20) pwm_val_right=0; else
35、160; Right_moto_pwm=0; /*/ void timer0() interrupt 1
36、160;/T0中斷 /*/ /*TIMER1中斷效勞子函數(shù)產(chǎn)生PWM信號*/ void timer1()interrupt 3 TH1=(65536-1000)/256; /1ms定時 TL1=(65536-1000)%256;
37、160; timer+; pwm_val_left+; pwm_val_right+; pwm_out_left_moto(); pwm_out_right_moto(); /* */ void main(void)
38、60; TMOD=0x11; /設(shè)T0為方式1,GATE=1; TH0=0; TL0=0; TH1=(65536-1000)/256; /1ms定時 TL1=(65536-1000)%256; ET0=1; &
39、#160; /允許T0中斷 ET1=1; /允許T1中斷 TR1=1; /開啟定時器 EA=1; /開啟總中斷 while(1)
40、0; TX1=1; /開啟超聲波1探測 delay_1ms(1); TX1=0; Count1(); /測距 TX2=1; delay_
41、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);
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年公豬項目投資價值分析報告
- 2025至2031年中國電筒式收音機(jī)行業(yè)投資前景及策略咨詢研究報告
- 2025年金剛石型刀項目可行性研究報告
- 建筑與城市安全研究-深度研究
- 2025年仿真松鼠音箱項目可行性研究報告
- 科技產(chǎn)品中的安全防范策略分析
- 教育公平與平臺發(fā)展-深度研究
- 職場女性工作經(jīng)歷分享與職業(yè)成長規(guī)劃
- 大數(shù)據(jù)分析與應(yīng)急響應(yīng)-深度研究
- 機(jī)器人運動控制-深度研究
- 保障性住房配套公建工程項目可研報告
- 服務(wù)人員隊伍穩(wěn)定措施
- 規(guī)劃收費標(biāo)準(zhǔn)
- 支氣管鏡護(hù)理測試題
- 大連理工大學(xué)信封紙
- 圖形創(chuàng)意(高職藝術(shù)設(shè)計)PPT完整全套教學(xué)課件
- 北京版小學(xué)英語必背單詞
- 藝術(shù)課程標(biāo)準(zhǔn)(2022年版)
- 2023年全國4月高等教育自學(xué)考試管理學(xué)原理00054試題及答案新編
- 稀土配合物和量子點共摻雜構(gòu)筑發(fā)光軟材料及其熒光性能研究
- JJG 921-2021環(huán)境振動分析儀
評論
0/150
提交評論