|
自學(xué)的51單片機(jī),終于做了第一個(gè)藍(lán)牙智能小車(chē),安裝完成后,倒是可以根據(jù)手機(jī)發(fā)出的指令進(jìn)行運(yùn)動(dòng),但不知為什么藍(lán)牙有時(shí)候總斷開(kāi),而且車(chē)的其中一個(gè)輪子總是在沒(méi)接受指令前自己莫民奇妙的轉(zhuǎn)!
不知道是我接線(xiàn)的問(wèn)題還是程序的問(wèn)題,很著急,望各位大佬指點(diǎn)!!!!萬(wàn)分感謝,萬(wàn)分感謝,萬(wàn)分感謝
我是用的l298n驅(qū)動(dòng)器給51單片機(jī)供電的。
代碼如下
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit IN1=P2^4;
sbit IN2=P2^3;
sbit ENA=P2^5;
sbit ENB=P2^0;
sbit IN3=P2^2;
sbit IN4=P2^1;
void UsartConfiguration()
{
SCON=0x50;
TMOD=0x20;
PCON=0x00;
TH1=0xfd;
TL1=0xfd;
EA=1;
ES=1;
TR1=1;
}
void GoForward()
{
ENA=1;
ENB=1;
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void BackForward()
{
ENA=1;
ENB=1;
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
void stop()
{
ENA=0;
ENB=0;
}
void main ()
{
uchar dat;
UsartConfiguration();
while(1)
{
if(RI==1)
{
RI=0;
dat=SBUF;
switch(dat)
{
case 'g':GoForward();break;
case 'b':BackForward();break;
case 's':stop();break;
}
}
}
}
|
|