|
/*藍(lán)牙控制繼電器開(kāi)關(guān)版*/
/*******************************************/
#include<reg52.h>
sbit le=P2^3; //24腳輸出
unsigned char rx; //接受手機(jī)藍(lán)牙數(shù)據(jù)
bit flag; //開(kāi)啟或關(guān)閉繼電器標(biāo)志
void init(void) //串口初始化,定時(shí)器初始化
void main(void)
{
init();
while(1);
{
if(flag==1)
le=1; //開(kāi)啟繼電器
else
le=0; //關(guān)閉繼電器
}
}
void init()
{
TMOD=0x20; //定時(shí)器T1作為波特率發(fā)生器
SCON=0x50; //串口方式1,允許接受
PCON&=0x7f; //波特率不倍增
TH1=0xfd;
TL1=0xfd; //波特率9600
TR1=1; //啟動(dòng)波特率發(fā)生器
ES=1; //串口允許中斷,工作方式1
EA=1; //開(kāi)總中斷
}
void serial(void)interrupt 4 using 1 //接收中斷,進(jìn)入中斷后RI清零
{
RI=0;
rx=SBUF; //接收來(lái)自藍(lán)牙的數(shù)據(jù)
switch(rx)
{
case'p':
flag=1; //做上開(kāi)啟繼電器的標(biāo)志
break;
case'q':
flag=0; //關(guān)閉繼電器標(biāo)志
break;
default:
break;
}
}
|
|