标题: 求大佬帮我看看我的蓝牙小车程序哪儿有问题 [打印本页]

作者: Poker_    时间: 2018-10-10 19:16
标题: 求大佬帮我看看我的蓝牙小车程序哪儿有问题
程序烧进去以后,用串口调试助手怎么都没反应,板子没问题,谢谢大佬了#include <reg52.h>

#define uint unsigned int
#define uchar unsigned char

sbit ENA = P3^6;
sbit ENB = P3^7;
sbit IN1 = P1^2;
sbit IN2 = P1^3;
sbit IN3 = P1^4;
sbit IN4 = P1^5;

uchar order;
uchar zkb1=0;
uchar zkb2=0;
uchar t=0;

void forward()
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
zkb1=11;
zkb2=11;
}

void turnleft()
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
zkb1=11;
zkb2=30;
}

void turnright()
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
zkb1=30;
zkb2=11;
}

void back()
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
zkb1=11;
zkb2=11;
}

void stop()
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}

void Timer0Init()
{
TMOD|=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
ET0=1;
TR0=1;
EA=1;
}

void Time0() interrupt 1
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(t<zkb1)
    ENA=1;
  else
    ENA=0;
if(t<zkb2)
    ENB=1;
  else
    ENB=0;
t++;
if(t>=100)
   t=0;
}

void lanya()
{
        if(order=='a')
                forward();
        if(order=='b')
                turnleft();
        if(order=='c')
                turnright();
        if(order=='d')
                back();
        if(order=='e')
                stop();
}

void UsartInit()
{
        TMOD=0x20;
  TH1=0xF9;
  TL1=0xF9;
  PCON=0x80;
  TR1=1;
  SCON=0x50;
  ES=1;
  EA=1;
}

void Usart() interrupt 4
{
        TH1=0xF9;
        TL1=0xF9;
        order=SBUF;
        RI=0;
  SBUF=order;
  while(!TI);
  TI=0;       
}

void main()
{
        Timer0Init();
        UsartInit();
  while(1)
        {
                lanya();
        }
}


作者: inphoto    时间: 2018-10-10 20:15
这位帅哥,麻烦加一点注释,这样别人也可以看的清楚,可能对你有好处。
作者: HC6800-ES-V2.0    时间: 2018-10-11 08:19
我查到一个问题:
你的波特率设置:12M主频、9600波特率、加倍————是吧?我是反查你的初值TH1=0xf9提到的。
这就是问题!!!!!
12M主频下,最大4800波特率,且加倍。
所以,你的串口接收、发送不到有效数据很正常!!!!!
改为0xf3就好了,你拭拭。

作者: Poker_    时间: 2018-10-12 15:27
inphoto 发表于 2018-10-10 20:15
这位帅哥,麻烦加一点注释,这样别人也可以看的清楚,可能对你有好处。

好的,谢谢哈,刚入门还太不熟悉
作者: Poker_    时间: 2018-10-12 18:56
HC6800-ES-V2.0 发表于 2018-10-11 08:19
我查到一个问题:
你的波特率设置:12M主频、9600波特率、加倍————是吧?我是反查你的初值TH1=0xf9提 ...

不行啊大兄弟,我还是没改对




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1