51单片机避障小车代码
时间: 2023-11-12 12:07:34 浏览: 143
这款基于51单片机开发的智能小车集成了循迹,避障,跟随,语音切换模式选择等多种功能。由于51单片机只有两组定时器,因此在实现语音模块功能之前,作者选择抛弃测速和电机调速这两个功能。以下是该小车的避障功能代码实现步骤:
```c
// 引用头文件
#include <reg52.h>
#include <intrins.h>
// 定义IO口
sbit IN1 = P1^0;
sbit IN2 = P1^1;
sbit IN3 = P1^2;
sbit IN4 = P1^3;
sbit beep = P1^4;
sbit led = P1^5;
sbit trig = P1^6;
sbit echo = P1^7;
// 定义全局变量
unsigned int distance;
// 定义函数
void delay(unsigned int i) {
while(i--);
}
void beep_on() {
beep = 0;
}
void beep_off() {
beep = 1;
}
void forward() {
IN1 = 1;
IN2 = 0;
IN3 = 1;
IN4 = 0;
}
void back() {
IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 1;
}
void left() {
IN1 = 0;
IN2 = 1;
IN3 = 1;
IN4 = 0;
}
void right() {
IN1 = 1;
IN2 = 0;
IN3 = 0;
IN4 = 1;
}
void stop() {
IN1 = 0;
IN2 = 0;
IN3 = 0;
IN4 = 0;
}
void delay_us(unsigned int i) {
while(i--);
}
void ultrasonic() {
trig = 1;
delay_us(10);
trig = 0;
while(!echo);
TR0 = 1;
while(echo);
TR0 = 0;
distance = TH0 * 256 + TL0;
distance = distance / 58;
}
void main() {
TMOD = 0x01;
TH0 = 0;
TL0 = 0;
while(1) {
ultrasonic();
if(distance < 20) {
stop();
beep_on();
led = 0;
delay(50000);
beep_off();
led = 1;
back();
delay(50000);
left();
delay(50000);
} else {
forward();
}
}
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)