找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1935|回复: 2
收起左侧

从网上找了一个程序,结果编译的时候开启关闭继电器的地方一直是错误的,求教大神

[复制链接]
ID:188933 发表于 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;
   }

}

回复

使用道具 举报

ID:159015 发表于 2017-4-14 14:03 | 显示全部楼层
去掉while(1)后的分号
回复

使用道具 举报

ID:188933 发表于 2017-4-16 12:11 | 显示全部楼层
O(∩_∩)O谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表