标题:
基于HC06的51单片机蓝牙小车的程序
[打印本页]
作者:
972803100
时间:
2021-3-23 20:29
标题:
基于HC06的51单片机蓝牙小车的程序
#include<reg52.h>
sbit LIN1=P1^4;
sbit LIN2=P1^3;
sbit LIN3=P1^2;
sbit LIN4=P1^1;
sbit RIN1=P2^4;
sbit RIN2=P2^5;
sbit RIN3=P2^6;
sbit RIN4=P2^7;
char i;
/*前进*/
void forward()
{
LIN1=1;LIN2=0;LIN3=1;LIN4=0;
RIN1=0;RIN2=1;RIN3=0;RIN4=1;
}
/*后退*/
void back()
{
LIN1=0;LIN2=1;LIN3=0;LIN4=1;
RIN1=1;RIN2=0;RIN3=1;RIN4=0;
}
/*停止*/
void stop()
{
LIN1=1;LIN2=1;LIN3=1;LIN4=1;
RIN1=1;RIN2=1;RIN3=1;RIN4=1;
}
/*原地360向左旋转*/
void l_360()
{
LIN1=0;LIN2=1;LIN3=0;LIN4=1;
RIN1=0;RIN2=1;RIN3=0;RIN4=1;
}
/*原地360向右旋转*/
void r_360()
{
LIN1=1;LIN2=0;LIN3=1;LIN4=0;
RIN1=1;RIN2=0;RIN3=1;RIN4=0;
}
void left()
{
LIN1=1;LIN2=0;LIN3=0;LIN4=1;
RIN1=0;RIN2=1;RIN3=1;RIN4=0;
}
void right()
{
LIN1=0;LIN2=1;LIN3=1;LIN4=0;
RIN1=1;RIN2=0;RIN3=0;RIN4=1;
}
void lu()
{
LIN1=1;LIN2=0;LIN3=0;LIN4=0;
RIN1=0;RIN2=1;RIN3=0;RIN4=0;
}
void ru()
{
LIN1=0;LIN2=0;LIN3=1;LIN4=0;
RIN1=0;RIN2=0;RIN3=0;RIN4=1;
}
void ld()
{
LIN1=0;LIN2=0;LIN3=0;LIN4=1;
RIN1=0;RIN2=0;RIN3=1;RIN4=0;
}
void rd()
{
LIN1=0;LIN2=1;LIN3=0;LIN4=0;
RIN1=1;RIN2=0;RIN3=0;RIN4=0;
}
/*主函数*/
void main (void)
{
TMOD=0x20; //设置T1为工作方式2
TH1=0xfd; //装入初值,比特率为9600bps
TL1=0xfd;
TR1=1; //开启T1
REN=1; //接收允许
SM0=0; //方式1
SM1=1;
EA=1; //开全局中断
ES=1; //开串口中断
while(1)
{
i=SBUF;//SBUF为单片机接收到的数据,单片机接收到的数据都存放在SBUF里;
RI=0;
if (i==0x01){lu();} //如果蓝牙助手发送0x02,小车前进
if (i==0x02){forward();} //如果蓝牙助手发送0x02,小车前进
if (i==0x03){ru();} //如果蓝牙助手发送0x02,小车前进
if (i==0x05){stop();} //如果蓝牙助手发送0x05,小车停止
if (i==0x04){l_360();} //如果蓝牙助手发送0x04,小车向左360°原地旋转
if (i==0x06){r_360();} //如果蓝牙助手发送0x06,小车向右360°原地旋转
if (i==0x07){ld();} //如果蓝牙助手发送0x08,小车后退
if (i==0x08){back();} //如果蓝牙助手发送0x08,小车后退
if (i==0x09){rd();} //如果蓝牙助手发送0x08,小车后退
if (i==0x0A){left();} //如果蓝牙助手发送0x08,小车后退
if (i==0x0C){right();} //如果蓝牙助手发送0x08,小车后退
}
}
复制代码
作者:
lqh_fairy
时间:
2021-5-13 14:34
请问有原理图吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1