#include
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i,flag_z;
uchar code table_open[]="The light was turn on ! ";
uchar code table_close[]="The light was turn off ! ";
uchar code table_ison[]="The light is turn on ! ";
uchar code table_isoff[]="The light is turn off ! ";
sbit IN_1 =P3^2; //低电平吸合继电器信号线一
sbit IN_2 =P3^3; //低电平吸合继电器信号线一
/*********初始化函数*********/
void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
/***********主函数**********/
void main()
{
init();
while(1)
{
if (flag==1)
{
ES=0;
switch(flag_z) //选择发送的数据
{
case 0:for(i=0;i<25;i++)
{
SBUF=table_open[i];
while(!ti);
TI=0;
}break;
case 1:for(i=0;i<25;i++)
{
SBUF=table_close[i];
while(!TI);
TI=0;
}break;
case 2:for(i=0;i<25;i++)
{
SBUF=table_ison[i];
while(!TI);
TI=0;
}break;
case 3:for(i=0;i<25;i++)
{
SBUF=table_isoff[i];
while(!TI);
TI=0;
}break;
default:break;
}
//SBUF=a;
//while(!TI);
//TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
switch(a)
{
case 97:{
if(IN_1==0) //判断信号输出口的状态
{
flag_z=2; //若状态为0,说明继电器为吸合状态,并发送“The Light is turn on”到蓝牙
}
else
{
IN_1=0,flag_z=0;}} //否则则说明继电器为断开状态,则端口置高,并发送“The Light Was turn on”到蓝牙
break;
case 98:{
if(IN_1==1)
{
flag_z=3;
}
else
{
IN_1=1,flag_z=1;}} //灯关,并发送“The Light Was turn off”到蓝牙
break;
default:break;
}
flag=1;
}