基于51单片机的四路寻迹程序(共7页)_第1页
基于51单片机的四路寻迹程序(共7页)_第2页
基于51单片机的四路寻迹程序(共7页)_第3页
基于51单片机的四路寻迹程序(共7页)_第4页
基于51单片机的四路寻迹程序(共7页)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上硬件连接 P16 接驱动模块ENA使能端,输入PWM信号调节速度P17 接驱动模块ENB使能端,输入PWM信号调节速度P34 P35 接IN1 IN2 当 P34=1,P35=0; 时左电机正转 驱动蓝色输出端OUT1 OUT2接左电机 P34 P35 接IN1 IN2 当 P34=0,P35=1; 时左电机反转 P36 P37 接IN3 IN4 当 P36=1,P37=0; 时右电机正转 驱动蓝色输出端OUT3 OUT4接右电机P36 P37 接IN3 IN4 当 P36=0,P37=1; 时右电机反转P10接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1

2、P11接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2P12接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3P13接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4四路寻迹传感器有信号(白线)为0 没有信号(黑线)为1四路寻迹传感器电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口 关于单片机电源:本店驱动模块内带LDO稳压芯片,当电池输入最低的电压6V时候可以输出稳定的5V分别在针脚标+5 与GND 。这个电源可以作为单片机系统的供电电源。*/#include#define Left_moto_pwm P16 /接驱动模块ENA使能端,输入PWM信

3、号调节速度#define Right_moto_pwm P17 /接驱动模块ENB#define Left_1_led P10 /四路寻迹模块接口第一路#define Left_2_led P11 /四路寻迹模块接口第二路#define Right_1_led P12 /四路寻迹模块接口第三路#define Right_2_led P13 /四路寻迹模块接口第四路#define Left_moto_go P34=0,P35=1; /P3_4 P3_5 接IN1 IN2 当 P34=0,P35=1; 时左电机前进#define Left_moto_back P34=1,P35=0; /P3_4

4、P3_5 接IN1 IN2 当 P34=1,P35=0; 时左电机后退 #define Left_moto_stp P34=1,P35=1; /P3_4 P3_5 接IN1 IN2 当 P34=1,P35=1; 时左电机停转 #define Right_moto_go P36=0,P37=1; /P3_6 P3_7 接IN1 IN2 当 P36=0,P37=1; 时右电机前转#define Right_moto_back P36=1,P37=0; /P3_6 P3_7 接IN1 IN2 当 P36=1,P37=0; 时右电机后退#define Right_moto_stp P36=1,P37=

5、1; /P3_6 P3_7 接IN1 IN2 当 P36=1,P37=0; 时右电机停转unsigned char pwm_val_left =0;/变量定义unsigned char push_val_left =0;/ 左电机占空比N/10unsigned char pwm_val_right =0;unsigned char push_val_right=0;/ 右电机占空比N/10bit Right_moto_stop=1;bit Left_moto_stop =1;unsigned int time=0;/*/void delay(unsigned int k) /延时函数 unsi

6、gned int x,y; for(x=0;xk;x+) for(y=0;y2000;y+);/*/void run(void)/前进函数 push_val_left = 5; /PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 push_val_right = 5;/PWM 调节参数1-10 1为最慢,10是最快改这个值可以改变其速度 Left_moto_go ; /左电机前进 Right_moto_go ; /右电机前进/*/void left(void)/左转函数 push_val_left =4; /PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变

7、其速度 push_val_right =4; /PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 Right_moto_go;/右电机继续 Left_moto_stp; /左电机停走 /*/void right(void)/右转函数 push_val_left =4; /PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 push_val_right =4; /PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 Right_moto_stp; /右电机停走 Left_moto_go; /左电机继续 /*/* PWM调制电机转速 */

8、*/* 左电机调速 */*调节push_val_left的值改变电机转速,占空比 */void pwm_out_left_moto(void) if(Left_moto_stop)if(pwm_val_left=10)pwm_val_left=0;elseLeft_moto_pwm=0;/*/* 右电机调速 */ void pwm_out_right_moto(void) if(Right_moto_stop) if(pwm_val_right=10)pwm_val_right=0; elseRight_moto_pwm=0;/*/*TIMER0中断服务子函数产生PWM信号*/void tim

9、er0()interrupt 1 using 2 TH0=0XF8; /1Ms定时 TL0=0X30; time+; pwm_val_left+; pwm_val_right+; pwm_out_left_moto(); pwm_out_right_moto(); /*/void main(void)TMOD= 0X01;TH0= 0XF8; /1ms定时 TL0= 0X30;TR0= 1;ET0= 1;EA = 1;while(1)/*无限循环*/ /四路寻迹传感器有信号(白线)为0 没有信号(黑线)为1 switch(P1&0x0f)case 0x00:/ 全部没有压线,直转run();break;case 0x01:/ 右压线,左转left

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论