用STC89C52做做蓝牙小车

2019-07-16 00:36发布

急急急、、有用STC89C52做做蓝牙小车,蓝牙模块是HC06的,安卓的上位机软件也有了 ,单片机的程序也没问题,但是连接起来来控制小车就不可以;于是我就想用蓝牙先控制灯的亮灭,要发送十几二十次相同的内容单片机才能收到,收到的又是跑偏的程序。哪位大神可以帮我看看有什么问题吗
#include<reg52.h>
#define uint unsigned int                                        
#define uchar unsigned char
sbit led0=P1^0;
sbit led1=P1^1;
sbit led2=P1^2;
sbit led3=P1^3;
uchar temp,a;

void main()
{
        TMOD=0X20;
        TH1=0XFD;
        TL1=0XFD;
        SCON=0X50;
        EA=1;
        TR1=1;
        ES=1;
        while(1)
        {
                if(temp==0x31||temp==0x32||temp==0x33||temp==0x34)
                {
                        a=temp;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                         
                        switch(a)
                        {
                                case 0x31 :led0=0;break;
                                case 0x32 :led1=0;break;
                                case 0x33 :led2=0;break;
                                case 0x34 :led3=0;break;
                        }
                        temp=a;
                }
        }

}

void ser() interrupt 4
{
        RI=0;
        temp=SBUF;
//        P1=temp;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
微小子
1楼-- · 2019-07-16 02:31
 精彩回答 2  元偷偷看……
ThedS
2楼-- · 2019-07-16 07:56
哈哈我也写过这个
杨臣
3楼-- · 2019-07-16 10:28
加油哦。我也想这个呢
快乐之神
4楼-- · 2019-07-16 10:58
知道原因了?一会公布出来哦
threelinlin
5楼-- · 2019-07-16 14:24
快乐之神 发表于 2013-6-5 00:22
知道原因了?一会公布出来哦

程序没问题,问题是晶振的选择,要选择11.0592MHZ,不能选用12MHZ,因为12MHZ的晶振做单片机串口中断的波特率会有误差
快乐之神
6楼-- · 2019-07-16 15:40
 精彩回答 2  元偷偷看……

一周热门 更多>