




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word/*/ /5路超声波避障实验:51单片机 + HC-SR04超声波 / /*/ #include <AT89x52.H> /器件配置文件 #include <intrins.h> #define RX1
2、60;P3_6 /小车左侧超声波HC-SR04接收端 #define TX1 P1_7 /发送端 #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 /右侧超声波 #define TX5 P1_6
5、0;#define Left_moto_pwm P1_5 /PWM信号端 #define Right_moto_pwm P1_4 /PWM信号端 /定义小车驱动模块输入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; /左电机向前走
7、0; #define Left_moto_back IN1=1,IN2=0,EN1=1; /左边电机向后走 #define Left_moto_Stop EN1=0; /左边电机停转 #define Right_moto_g
8、o IN3=1,IN4=0,EN2=1; /右边电机向前走 #define Right_moto_back IN3=0,IN4=1,EN2=1; /右边电机向后走 #define Right_moto_Stop EN2=0; /右边电机停转 unsigned char pwm_val_left
9、0;=0;/变量定义 unsigned char push_val_left =0;/ 左电机占空比N/20 unsigned char pwm_val_right =0; unsigned char push_val_right=0;/ 右电机占空比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延时函数,100ms以内可用 unsigned char i; while(x-)
12、0;for(i=124;i>0;i-); /*/ void Count1() /计算左侧超声波距离的函数 while(!RX1); /当RX1为零时等待 TR0=1; /开启计数 while(RX1);&
13、#160; /当RX1为1计数并等待 TR0=0; /关闭计数 time=TH0*256+TL0; TH0=0; TL0=0; S1=(time*1.7)/100; /算出来是CM
14、160;void Count2() /计算函数 while(!RX2); /当RX2为零时等待 TR0=1; /开启计数 while(RX2); /当RX2为1计数并等待 TR0=0; /关闭计数 time=TH0
15、*256+TL0; TH0=0; TL0=0; S2=(time*1.7)/100; /算出来是CM void Count3() /计算函数
16、60; while(!RX3); /当RX3为零时等待 TR0=1; /开启计数 while(RX3); /当RX3为1计数并等待 TR0=0; /关闭计数 time=TH0
17、*256+TL0; TH0=0; TL0=0; S3=(time*1.7)/100; /算出来是CM void Count4() /计算函数
18、60; while(!RX4); /当RX4为零时等待 TR0=1; /开启计数 while(RX4); /当RX4为1计数并等待 TR0=0; /关闭计数 time=TH0*256+TL0;
19、60;TH0=0; TL0=0; S4=(time*1.7)/100; /算出来是CM void Count5() /计算函数
20、60; while(!RX5); /当RX5为零时等待 TR0=1; /开启计数 while(RX5); /当RX5为1计数并等待 TR0=0; /关闭计数 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 /左电机往后走 Right_moto_go /右电机往前走 /*/ /右转 void rightrun(void) push_val_left=20; push_val_right=20; Left_moto_go /左电机往前
23、走 Right_moto_back /右电机往后走 /*/ /停止 void stoprun(void) Left_moto_Stop /左电机停 Right_moto_Stop /右电机停 /*/ /*
24、 PWM调制电机转速
25、60; */ /*/ /* 左电机调速
26、60; */ /*调节push_val_left的值改变电机转速,占空比 */ 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、 右电机调速 */
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中断效劳子函数产生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; /设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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年注会考试技能提升试题及答案
- 投资咨询工程师在国际投资中的挑战试题及答案
- 2024年预算员复习资料清单试题及答案
- 2024监理工程师考试收益分享试题及答案
- 2024年计算机二级考前强化试题及答案
- 黑龙江民族职业学院《SPSS原理及应用》2023-2024学年第一学期期末试卷
- 黑龙江省伊春二中2025年第二学期高三调研测试历史试题试卷含解析
- 黑龙江省克东一中、克山一中等五校联考2025届高三第一次十校联考(语文试题)试题含解析
- 黑龙江省哈尔滨尚志市2025年中考适应性考试化学试题试卷含解析
- 黑龙江省哈尔滨市松北区2025年数学五年级第二学期期末考试试题含答案
- 骨转移瘤课件
- 三下语文作业样例(第三单元)
- 护士注册健康体检表下载【可直接打印版本】
- 地源热泵空调技术应用介绍
- 双星与多星问题
- 五年级下册音乐教案-1编花篮-湘教版
- ESS嗜睡量表评分标准(Epworth 嗜睡量表(ESS))
- 住建部《建筑业10项新技术(2017版)》解读培训课件
- 合作社组织架构图
- 《你知道吗?》罗鸣亮
- 彩色简约鱼骨图PPT图表模板
评论
0/150
提交评论