标题: 从网上找了一个程序,结果编译的时候开启关闭继电器的地方一直是错误的,求教大神 [打印本页]

作者: 美猴王HLM    时间: 2017-4-13 20:14
标题: 从网上找了一个程序,结果编译的时候开启关闭继电器的地方一直是错误的,求教大神
/*蓝牙控制继电器开关版*/

/*******************************************/

#include<reg52.h>
sbit le=P2^3;       //24脚输出
unsigned char rx;    //接受手机蓝牙数据
bit flag;            //开启或关闭继电器标志

void init(void)      //串口初始化,定时器初始化

void main(void)
{
  init();           

  while(1);
  {
   if(flag==1)
    le=1;       //开启继电器
   else
     le=0;       //关闭继电器
   }
}

void init()      
{
  TMOD=0x20;     //定时器T1作为波特率发生器
  SCON=0x50;    //串口方式1,允许接受
  PCON&=0x7f;   //波特率不倍增
  TH1=0xfd;     
  TL1=0xfd;     //波特率9600
  TR1=1;        //启动波特率发生器
  ES=1;         //串口允许中断,工作方式1
  EA=1;         //开总中断

}

void serial(void)interrupt 4 using 1   //接收中断,进入中断后RI清零
{
  RI=0;
  rx=SBUF;           //接收来自蓝牙的数据
  switch(rx)
  {
    case'p':         
         flag=1;     //做上开启继电器的标志
    break;
    case'q':
         flag=0;      //关闭继电器标志
    break;
    default:
    break;
   }

}


作者: fjdksla    时间: 2017-4-14 14:03
去掉while(1)后的分号
作者: 美猴王HLM    时间: 2017-4-16 12:11
O(∩_∩)O谢谢




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