標(biāo)題: 從網(wǎng)上找了一個程序,結(jié)果編譯的時候開啟關(guān)閉繼電器的地方一直是錯誤的,求教大神 [打印本頁]

作者: 美猴王HLM    時間: 2017-4-13 20:14
標(biāo)題: 從網(wǎng)上找了一個程序,結(jié)果編譯的時候開啟關(guān)閉繼電器的地方一直是錯誤的,求教大神
/*藍(lán)牙控制繼電器開關(guān)版*/

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

#include<reg52.h>
sbit le=P2^3;       //24腳輸出
unsigned char rx;    //接受手機(jī)藍(lán)牙數(shù)據(jù)
bit flag;            //開啟或關(guān)閉繼電器標(biāo)志

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

void main(void)
{
  init();           

  while(1);
  {
   if(flag==1)
    le=1;       //開啟繼電器
   else
     le=0;       //關(guān)閉繼電器
   }
}

void init()      
{
  TMOD=0x20;     //定時器T1作為波特率發(fā)生器
  SCON=0x50;    //串口方式1,允許接受
  PCON&=0x7f;   //波特率不倍增
  TH1=0xfd;     
  TL1=0xfd;     //波特率9600
  TR1=1;        //啟動波特率發(fā)生器
  ES=1;         //串口允許中斷,工作方式1
  EA=1;         //開總中斷

}

void serial(void)interrupt 4 using 1   //接收中斷,進(jìn)入中斷后RI清零
{
  RI=0;
  rx=SBUF;           //接收來自藍(lán)牙的數(shù)據(jù)
  switch(rx)
  {
    case'p':         
         flag=1;     //做上開啟繼電器的標(biāo)志
    break;
    case'q':
         flag=0;      //關(guān)閉繼電器標(biāo)志
    break;
    default:
    break;
   }

}


作者: fjdksla    時間: 2017-4-14 14:03
去掉while(1)后的分號
作者: 美猴王HLM    時間: 2017-4-16 12:11
O(∩_∩)O謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1