我用的是HC-06
RXD連接單片機(jī)TXD就是P3^1
TXD連接單片機(jī)RXD就是P3^0
再連接vcc gnd
state en 不用連接
應(yīng)用商店 下載藍(lán)牙串口
注意紅線就行了
單片機(jī)源程序如下:
#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 制動(dòng)
//0 1 正轉(zhuǎn)
//1 0 反轉(zhuǎn)
//1 1 制動(dòng)
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): //藍(lán)牙串口 消息發(fā)送 0x01小車就會(huì)前進(jìn)下面都一樣
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 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志
TMOD=0X20;
PCON=0X00;
TH1=0Xfd;
TL1=0Xfd; //波特率為9600算出來(lái)的fd
TR1= 1;
ES = 1;
EA = 1;
}
void main()
{
UsartConfiguration();
while(1);
}
上圖單片機(jī)Keil代碼下載:
藍(lán)牙控制小車.zip
(18.37 KB, 下載次數(shù): 52)
2021-10-3 12:15 上傳
點(diǎn)擊文件名下載附件
|