51单片机蓝牙控制舵机代码
时间: 2023-04-04 09:03:32 浏览: 182
以下是一个基于51单片机的蓝牙控制舵机的代码示例:
#include <reg52.h>
sbit IN1 = P1^0; // 舵机控制信号1
sbit IN2 = P1^1; // 舵机控制信号2
void delay(unsigned int t) // 延时函数
{
unsigned int i, j;
for(i = 0; i < t; i++)
for(j = 0; j < 125; j++);
}
void main()
{
unsigned char data;
TMOD = 0x20; // 定时器1工作在方式2
TH1 = 0xfd; // 波特率9600
TL1 = 0xfd;
SCON = 0x50; // 串口工作在方式1
TR1 = 1; // 启动定时器1
ES = 1; // 开启串口中断
EA = 1; // 开启总中断
while(1)
{
if(data == '1') // 控制舵机向左转
{
IN1 = 1;
IN2 = 0;
delay(10);
IN1 = 0;
IN2 = 0;
}
else if(data == '2') // 控制舵机向右转
{
IN1 = 0;
IN2 = 1;
delay(10);
IN1 = 0;
IN2 = 0;
}
}
}
void ser() interrupt 4 // 串口中断服务函数
{
if(RI == 1) // 接收到数据
{
RI = 0;
data = SBUF;
}
}
阅读全文