欢迎来到天天文库
浏览记录
ID:30068096
大小:73.54 KB
页数:3页
时间:2018-12-26
《飞思卡尔小车光电组程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/*----------------------------------------------------10040125------------------------------------------------------*/#include//单片机专用的头文件#defineucharunsignedchar#defineuintunsignedint//**********马达控制端口定义***********//sbitENA=P2^4;//驱动转向马达使能,若为0则马达停止sbitENB=P2^
2、5;//驱动动力马达使能,若为0则马达停止sbitIN1=P2^0;//控制转向马达正转和反转sbitIN2=P2^1;//控制转向马达正转和反转sbitIN3=P2^2;//控制动力马达正转和反转sbitIN4=P2^3;//控制动力马达正转和反转//*********扫描探头端口定义(从右到左1~7)*******//sbitsensor1=P1^0;sbitsensor2=P1^1;sbitsensor3=P1^2;sbitsensor4=P1^3;sbitsensor5=P1^4;sbitsensor6=P1^5;sbit
3、sensor7=P1^6;intmotor_mark;//******探头扫描程序********//uintsenscan(){if(P1=0x77)motor_mark=1;if(sensor1==0)motor_mark=2;if(sensor2==0)motor_mark=3;if(sensor3==0)motor_mark=4;if(sensor5==0)motor_mark=5;if(sensor6==0)motor_mark=6;if(sensor7==0)motor_mark=7;}//*******PWM调速用延
4、时程序*****************//voidpwm_delay(uchari){ucharj;for(;i>0;i--)for(j=29;j>0;j--);}//*****************************PWM减速程序*************************************//voidPWMout(ucharp){ENB=1;pwm_delay(p);ENB=0;pwm_delay(10-p);}//*****全速前进函数********//voidqianjin(){ENA=0;ENB=
5、1;IN3=1;IN4=0;}//****左转函数****//voidturnleft(){ENA=1;IN1=0;IN2=1;PWMout(5);}//*****右转函数*****//voidturnright(){ENA=1;IN1=1;IN2=0;PWMout(5);}/*----------马达控制函数------------*/execute_motor(){switch(motor_mark){case1:qianjin();break;case2:turnright();break;case3:turnright()
6、;break;case4:turnright();break;case5:turnleft();break;case6:turnleft();break;case7:turnleft();break;default:break;}}//**********主函数**********//main(){while(1){senscan();execute_motor();}}
此文档下载收益归作者所有