基于51单片机的自动避障小车

该代码示例展示了一款基于STM8S微控制器的小车避障系统,利用三个超声波测距模块检测障碍物,并根据距离信息调整小车行驶模式。通过定时器和中断实现精确控制,包括前进、左右转和后退。代码中还包含了延时函数和初始化设置。
摘要由CSDN通过智能技术生成

先上代码

#include <REGX52.H>
#include <INTRINS.H>
#include "LCD1602.h"
sbit motor=P2^1;
sbit dismotor=P2^0;
sbit motor2=P2^4;
sbit dismotor2=P2^5;
sbit trig=P1^3;
sbit echo=P1^2;
sbit trig1=P1^5;
sbit echo1=P1^4;
sbit trig2=P1^7;
sbit echo2=P1^6;
void Delay10ms()		//@11.0592MHz
{
	unsigned char i, j;

	i = 108;
	j = 145;
	do
	{
		while (--j);
	} while (--i);
}

void Delay50ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	_nop_();
	i = 3;
	j = 26;
	k = 223;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void Timer0Init(void)		//1毫秒@11.0592MHz
{
	TMOD &= 0xF0;		//设置定时器模式
	TMOD |= 0x01;		//设置定时器模式
	TL0 = 0xA4;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值
	TF0 = 0;		//清除TF0标志
	TR0 = 1;		//定时器0开始计时
	ET0=1;
	EA=1;
	PT0=0;
}
void Delay20us()		//@11.0592MHz
{
	unsigned char i;

	_nop_();
	_nop_();
	_nop_();
	i =
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值