標(biāo)題:
基于HC06的51單片機(jī)藍(lán)牙小車(chē)的程序
[打印本頁(yè)]
作者:
972803100
時(shí)間:
2021-3-23 20:29
標(biāo)題:
基于HC06的51單片機(jī)藍(lán)牙小車(chē)的程序
#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;
/*前進(jìn)*/
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向左旋轉(zhuǎn)*/
void l_360()
{
LIN1=0;LIN2=1;LIN3=0;LIN4=1;
RIN1=0;RIN2=1;RIN3=0;RIN4=1;
}
/*原地360向右旋轉(zhuǎn)*/
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;
}
/*主函數(shù)*/
void main (void)
{
TMOD=0x20; //設(shè)置T1為工作方式2
TH1=0xfd; //裝入初值,比特率為9600bps
TL1=0xfd;
TR1=1; //開(kāi)啟T1
REN=1; //接收允許
SM0=0; //方式1
SM1=1;
EA=1; //開(kāi)全局中斷
ES=1; //開(kāi)串口中斷
while(1)
{
i=SBUF;//SBUF為單片機(jī)接收到的數(shù)據(jù),單片機(jī)接收到的數(shù)據(jù)都存放在SBUF里;
RI=0;
if (i==0x01){lu();} //如果藍(lán)牙助手發(fā)送0x02,小車(chē)前進(jìn)
if (i==0x02){forward();} //如果藍(lán)牙助手發(fā)送0x02,小車(chē)前進(jìn)
if (i==0x03){ru();} //如果藍(lán)牙助手發(fā)送0x02,小車(chē)前進(jìn)
if (i==0x05){stop();} //如果藍(lán)牙助手發(fā)送0x05,小車(chē)停止
if (i==0x04){l_360();} //如果藍(lán)牙助手發(fā)送0x04,小車(chē)向左360°原地旋轉(zhuǎn)
if (i==0x06){r_360();} //如果藍(lán)牙助手發(fā)送0x06,小車(chē)向右360°原地旋轉(zhuǎn)
if (i==0x07){ld();} //如果藍(lán)牙助手發(fā)送0x08,小車(chē)后退
if (i==0x08){back();} //如果藍(lán)牙助手發(fā)送0x08,小車(chē)后退
if (i==0x09){rd();} //如果藍(lán)牙助手發(fā)送0x08,小車(chē)后退
if (i==0x0A){left();} //如果藍(lán)牙助手發(fā)送0x08,小車(chē)后退
if (i==0x0C){right();} //如果藍(lán)牙助手發(fā)送0x08,小車(chē)后退
}
}
復(fù)制代碼
作者:
lqh_fairy
時(shí)間:
2021-5-13 14:34
請(qǐng)問(wèn)有原理圖嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1