下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上/*/ /5路超声波避障实验:51单片机 + HC-SR04超声波 / /*/ #include <AT89x52.H> /器件配置文件 #include <intrins.h> #define RX1
2、 P3_6 /小车左侧超声波HC-SR04接收端 #define TX1 P1_7 /发送端 #define RX2 P3_3 /左前方超声波 #define
3、0; TX2 P0_2 #define RX3 P2_4 /正前方超声波 #define TX3 P2_5 #define RX4 P3_5
4、160;/右前方超声波 #define TX4 P3_4 #define RX5 P3_7 /右侧超声波 #define TX5 P1_6 &
5、#160; #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、160; 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、电机向前走 #define Left_moto_back IN1=1,IN2=0,EN1=1; /左边电机向后走 #define Left_moto_Stop EN1=0; /左边电机停转 #define Rig
8、ht_moto_go 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、#160; =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、 unsigned int timer=0; unsigned long S1=0; unsigned long S2=0; unsigned long S3=0; unsigned long
11、160;S4=0; unsigned long S5=0; void delay_1ms(unsigned char x) /1ms延时函数,100ms以内可用 unsigned char i; while(x-)&
12、#160; for(i=124;i>0;i-); /*/ void Count1() /计算左侧超声波距离的函数 while(!RX1); /当RX1为零时等待 TR0=1; /开启计数 whi
13、le(RX1); /当RX1为1计数并等待 TR0=0; /关闭计数 time=TH0*256+TL0; TH0=0; TL0=0; S1=(time*1.7)/100; /算出来是CM
14、; void Count2() /计算函数 while(!RX2); /当RX2为零时等待 TR0=1; /开启计数 while(RX2); /当RX2为1计数并等待 TR0=0; /关闭计数
15、;time=TH0*256+TL0; TH0=0; TL0=0; S2=(time*1.7)/100; /算出来是CM void Count3()
16、;/计算函数 while(!RX3); /当RX3为零时等待 TR0=1; /开启计数 while(RX3); /当RX3为1计数并等待 TR0=0; /关闭计数
17、;time=TH0*256+TL0; TH0=0; TL0=0; S3=(time*1.7)/100; /算出来是CM void Count4() /计算函数
18、 while(!RX4); /当RX4为零时等待 TR0=1; /开启计数 while(RX4); /当RX4为1计数并等待 TR0=0; /关闭计数 time=TH0*256+TL0;
19、 TH0=0; TL0=0; S4=(time*1.7)/100; /算出来是CM void Count5() /计算函数
20、 while(!RX5); /当RX5为零时等待 TR0=1; /开启计数 while(RX5); /当RX5为1计数并等待 TR0=0; /关闭计数 time=TH0*256+TL0; TH0=0; TL0=0;
21、 S5=(time*1.7)/100; /算出来是CM void leftrun(void) push_val_left=20; push_val_right=20; L
22、eft_moto_back /左电机往后走 Right_moto_go /右电机往前走 /*/ /右转 void rightrun(void) push_val_left=20; push_val_right=20; Left_moto_go
23、60;/左电机往前走 Right_moto_back /右电机往后走 /*/ /停止 void stoprun(void) Left_moto_Stop /左电机停 Right_moto_Stop /右电机停 /*/ /*
24、60; PWM调制电机转速
25、 */ /*/ /* 左电机调速
26、 */ /*调节push_val_left的值改变电机转速,占空比 */ void pwm_out_left_moto(void)
27、 if(Left_moto_stop) if(pwm_val_left<=push_val_left)
28、 Left_moto_pwm=1; else
29、0; Left_moto_pwm=0; if(pwm_val_left>=20) pwm_val_left=0; else
30、 Left_moto_pwm=0; /*/ /*
31、60; 右电机调速 */
32、160; void pwm_out_right_moto(void) if(Right_moto_stop) if(pwm_val_right<=push_val_right)
33、60; Right_moto_pwm=1; else Right_moto_pwm=0; &
34、#160; if(pwm_val_right>=20) pwm_val_right=0; else
35、; Right_moto_pwm=0; /*/ void timer0() interrupt 1
36、; /T0中断 /*/ /*TIMER1中断服务子函数产生PWM信号*/ void timer1()interrupt 3 TH1=(65536-1000)/256; /1ms定时 TL1=(65536-1000)%256
37、; timer+; pwm_val_left+; pwm_val_right+; pwm_out_left_moto(); pwm_out_right_moto(); /* */ void main(void)
38、 TMOD=0x11; /设T0为方式1,GATE=1; TH0=0; TL0=0; TH1=(65536-1000)/256; /1ms定时 TL1=(65536-1000)%256; ET0=1;
39、0; /允许T0中断 ET1=1; /允许T1中断 TR1=1; /开启定时器 EA=1; /开启总中断 while(1) &
40、#160; TX1=1; /开启超声波1探测 delay_1ms(1); TX1=0; Count1(); /测距 TX2=1;
41、60;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);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026全球跨境电商行业市场深度分析及商业模式创新与未来发展趋势研究报告
- 2026皮革行业市场分析及未来规划与投资管理策略与研究报告
- 2026石油化工产业市场供需现状及投资发展前景规划分析研究报告
- 2026年成品检验员FQC试卷(附答案)
- 2026中国抑郁症行业市场深度调研及发展趋势和前景预测研究报告
- 2025年7月国开(中央电大)法学本科《合同法》期末考模拟试题及答案4
- 全国江西科学技术版小学信息技术四年级下册第三单元第13课《编码长度对信息量的影响》教学设计
- 高中语文 第二单元 新闻 第4课 东方风来满眼春(节选)教学设计 粤教版必修5
- 2026生物技术行业市场需求评价投资评估发展规划研究
- 天津市中小学生mixly创意编程 第16课机器人运动会-教学设计
- 腹主动脉扩张护理查房
- 2026年档案职称中级高分题库附完整答案详解【网校专用】
- 2026年上海市静安区高三语文二模作文题目解析及范文:当你觉得对话失去意义
- 2026年北京市西城区初三一模语文试卷(含答案)
- 2026四川宜宾高新区招聘城市综合管理辅助人员15名笔试备考试题及答案解析
- 广东粤电阳江海上风电有限公司招聘笔试题库2026
- 《中华人民共和国危险化学品安全法》解读课件
- PCB设计规范(IPC2152中文版)
- 重庆轨道交通社会招聘考试题
- 地质测量课件
- 2025年春招上位机通信协议面试题及答案
评论
0/150
提交评论