单片机源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit N1=P0^0;
sbit N2=P0^1;
sbit N3=P0^2;
sbit N4=P0^3;
//n1 n2
//n3 n4
//0 0 制动
//0 1 正转
//1 0 反转
//1 1 制动
void stop()
{
N1=0;
N2=0;
N3=0;
N4=0;
}
void forward()
{
N1=0;
N2=1;
N3=0;
N4=1;
}
void back()
{
N1=1;
N2=0;
N3=1;
N4=0;
}
void left()
{
N1=0;
N2=1;
N3=1;
N4=0;
}
void right()
{
N1=1;
N2=0;
N3=0;
N4=1;
}
void Com_Int(void) interrupt 4
{
uchar receive_data;
EA = 0;
if(RI == 1)
{
RI=0;
N1=0;
N2=0;
N3=0;
N4=0;
receive_data = SBUF;
switch(receive_data)
{
case (0x01): //蓝牙串口 消息发送 0x01小车就会前进下面都一样
forward();break;
case (0x02):
back();break;
case (0x03):
left();break;
case (0x04):
right();break;
case (0x00):
stop();break;
}
}
EA = 1;
}
void UsartConfiguration()
{
SCON=0X50; //SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志
TMOD=0X20;
PCON=0X00;
TH1=0Xfd;
TL1=0Xfd; //波特率为9600算出来的fd
TR1= 1;
ES = 1;
EA = 1;
}
void main()
{
UsartConfiguration();
while(1);
}
所用的蓝牙模块的APP如下: