基于STC89C52RC单片机的蓝牙遥控与超声波避障程序代码

该博客介绍了如何使用STC89C52RC单片机配合蓝牙模块进行遥控操作,并结合超声波传感器实现避障功能。程序中涉及了舵机控制、PWM调速、超声波测距以及红外避障的相关代码和中断服务函数,提供了一个完整的机器人小车控制系统设计方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<reg52.h>
#include <intrins.h>

typedef unsigned char uchar;
typedef unsigned int  uint;
typedef unsigned long  ulong;

sbit Sevro_moto_pwm = P1^5;	   //接舵机信号端输入PWM信号调节速度
sbit  ECHO= P3^3;				   //超声波接口定义	   
sbit  TRIG= P3^2;				   //超声波接口定义
sbit ENB = P2^5;	  //左电机高电平
sbit ENA = P2^4;	  //右电机高电平
sbit IN1 = P2^0;
sbit IN2 = P2^1;	  //右电机
sbit IN3 = P2^2;
sbit IN4 = P2^3;	  //左电机
sbit P1_4=P1^4; 	  //LED
//sbit A1 = P1^4;		  //左红外避障模块
//sbit A2 = P2^7;		  //右红外避障模块
//sbit A3 = P1^2;		  //左红外寻迹模块
//sbit A4 = P1^3;		  //右红外寻迹模块
sbit K1 = P1^0;		  //功能转换按键
sbit K2 = P1^1;		  //加速键
sbit K3 = P1^2;	  //减速键
uchar connt;			  //调速周期
uchar PWM_time;			  //高电平时间
uchar flag1=0,flag2=0;			  //标志位
uchar COM;
uchar pwm_val_left  = 0;//变量定义
uchar push_val_left ;//舵机归中,产生约,1.5MS 信号
uchar non=0,t=0;
ulong S=0;			//距离变量定义
ulong S1=0;
ulong S2=0;
ulong S3=0;
ulong S4=0;
uint time=0;		    //时间变量
uint timer=0;			//延时基准变量


					
/************************************************************************/
 		void delay(uint k)	  //延时函数
{    
     uint x,y;
	   for(x=0;x<k;x++) 
	     for(y=0;y<2000;y++);
}
void delay1(uint j)	  //延时函数
{    
     uint x,y;
	   for(x=0;x<j;x++) 
	     for(y=0;y<120;y++);
}
void shansuo()
         {
                 P1_4=1;
                 delay(1);
                 P1_4=0;
                 delay(1);                 
         } 
/************************************
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值