目录
1.材料准备
L298n模块,51单片机最小系统(下文称作 最小系统),智能小车套件,HC-05蓝牙模块,12v电源
2.流程
1.按照说明书拼装小车套件
2.将左侧电机接入L298n左侧输出端,右侧电机接入L298n右侧输出端(不用在意连线正反,接反就在程序把对应的操作互换即可)
3.用杜邦线将 L298n的5v端和GND端与 最小系统的5v端和GND相连接
4.将12v电源的正,负极与L298n的12v端和GND端相连接
5.将HC-05的VCC,GND,RXD,TXD与最小系统的VCC,GND,TXD,RXD相连接
6.将最小系统的P0^0 P0^1 P0^2 P0^3 分别接L298N的INT1 INT2 INT3 INT4
7.下载程序
3.示例代码
在历程中单片机主频是11.0592M 波特率 9600 ,程序的波特率需要和蓝牙模块的波特率相同才能正确传输
#include <REGX52.H>
//历程单片机主频是11.0592M 波特率 9600
//P0^0 P0^1 P0^2 P0^3 分别接L298N的IN1 IN2 IN3 IN4
sbit IN1=P0^0;
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
void stop() //停车操作
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
void forward() //前进操作
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
void back() //后退操作
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void left() //左转操作
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
}
void right() //右转操作
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
}
void bluetooth(void) interrupt 4
{
unsigned char receive_data; //定义接受标志
EA = 0;
if(RI == 1)
{
RI=0;
IN2=0;
IN4=0;
IN1=0;
IN3=0;
receive_data = SBUF;
switch(receive_data)
{
case ('1'):
forward();break;
case ('2'):
back();break;
case ('3'):
left();break;
case ('4'):
right();break;
case ('0'):
stop();break;
}
}
EA = 1;
}
void UART_INIT()
{
SCON=0X50;
TMOD=0X20;
PCON=0X00;
TH1=0Xfd;
TL1=0Xfd;
TR1= 1;
ES = 1;
EA = 1;
}
void main()
{
UART_INIT();
while(1);
}
4.蓝牙串口
手机下载蓝牙串口
连接蓝牙模块(第一次连接需要PIN码,一般是1234或0000)
点击键盘,进入编辑模式,按下图方式编辑
之后点击按钮就能实现蓝牙小车控制