stm32mini版做的循迹小车,读电平的口分别是pa5,pa6,pa7.请论坛各位兄弟多多指教!如果有疑问也可以加QQ:2910202136.感谢!
单片机源程序如下:
- #include "stm32f10x.h"
- #include "led.h"
- #include "light.h"
- #include "pwm.h"
- #include "delay.h"
- #include "motor.h"
- int main(void)
- {
- LED_Init(); //led初始化
- LIGHT_Init(); //巡线模块初始化
- TIM3_PWM_Init(799,0);
- delay_init();
- while(1)
- {
- if(readfrontleft1==WHITE_AREA&&readfrontleft2==WHITE_AREA&&readfrontleft3==WHITE_AREA)//三路白1
- {
- CarGo();
- delay_ms(100);
- CarStop();
- }
- else if(readfrontleft1==BLACK_AREA&&readfrontleft2==WHITE_AREA&&readfrontleft3==BLACK_AREA)//中间白,左右黑2
- {
- CarGo();
- delay_ms(100);
- CarStop();
- }
- else if(readfrontleft2==WHITE_AREA&&readfrontleft1==WHITE_AREA&&readfrontleft3==BLACK_AREA)//左路中路白右路黑3
- {
- CarRight();
- delay_ms(100);
- CarStop();
- }
- else if(readfrontleft1==WHITE_AREA&&readfrontleft2==BLACK_AREA&&readfrontleft3==BLACK_AREA)//左路白右路中路黑4
- {
- CarRight();
- delay_ms(100);
- CarStop();
- }
- else if(readfrontleft1==BLACK_AREA&&readfrontleft2==WHITE_AREA&&readfrontleft3==WHITE_AREA)//左路黑中右白
- {
- CarLeft();
- delay_ms(100);
- CarStop();
- }
- else if(readfrontleft1==BLACK_AREA&&readfrontleft2==BLACK_AREA&&readfrontleft3==WHITE_AREA)//左路中路黑右路白
- {
- CarLeft();
- delay_ms(100);
- CarStop();
- }
- else if(readfrontleft1==BLACK_AREA&&readfrontleft2==BLACK_AREA&&readfrontleft3==WHITE_AREA)//全黑
- {
- CarStop();
-
- }
- }
- }
复制代码
所有资料51hei提供下载:
循迹部分.7z
(187.14 KB, 下载次数: 81)
|