标题: 蓝牙控制单片机开发板上的LED的亮灭,实现不了预期的目的 [打印本页]

作者: 一个铅笔    时间: 2019-3-19 20:59
标题: 蓝牙控制单片机开发板上的LED的亮灭,实现不了预期的目的
#include<reg51.h>
#include<intrins.h>
#define        uchar unsigned char
#define uint  unsigned int
sbit led1=P2^1;
void serialInti();
void delay();
/*chuang kou chu shi han shu*/
void serialInti()
{
TMOD=0X20;
TH1=0Xfd;
TL1=0Xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}

/*yan shi han shu*/
void delay()
{
uchar x,j;
for(j=0;j<2;j++)
         for(x=0;x<=148;x++) ;

}
/*zhu han shu*/
void main (void)
{
  serialInti();
  
  while(1)
    {
     
         }

}
/*chuang kou zhong duan han shu*/
void Serial_interrupt() interrupt 4
{
uchar recivedata ;
EA=0;

if(RI)
   {
     RI=0;
         recivedata=SBUF ;
         switch(recivedata)
             {
           case '1':led1=1;break;
           case '0':led1=0;break;
          }
   }
EA=1;
}
作者: 一个铅笔    时间: 2019-3-19 21:00
为什么我写的这个程序实现不了预期的目的
作者: 一个铅笔    时间: 2019-3-19 21:41
我看了很多其他人写的类似功能的程序
作者: 一个铅笔    时间: 2019-3-19 21:41
为什么 在他们程序中有发送数据的子程序
作者: HC6800-ES-V2.0    时间: 2019-3-20 08:16
从你的程序中可以看到:
你的单片机晶振12M,波特率9600,对吧?!
这就是问题:12M晶振时,传输误差小的波特率最大只能是4800
所以,你的蓝牙根本接收不到正确的数据,当然就不能有效控制了。

作者: 1092648746    时间: 2019-3-20 14:09
串口波特率多少?是否能正常接收数据?
作者: ggyy889    时间: 2019-3-20 14:54
interrupt(),去掉( )试试
作者: 一个铅笔    时间: 2019-3-20 21:28
HC6800-ES-V2.0 发表于 2019-3-20 08:16
从你的程序中可以看到:
你的单片机晶振12M,波特率9600,对吧?!
这就是问题:12M晶振时,传输误差小的 ...

我再试试
作者: 一个铅笔    时间: 2019-3-21 12:34
蓝牙模块hc06需要上电初始化吗




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