手机控制蓝牙开关,无线开关,智能家居,物联网
现在分享下设计原理图如下:
采用可编程芯片,编程实现无线传输接收端代码如下:/******************************************************************** 主函数*********************************************************************/
void main(){ TMOD=0X00; //定时器T0设定AUXR=0X80; //辅助寄存器TL0=BAUD; //十六位寄存器TH0=BAUD>>8; //十六位寄存器TR0=1; //开定时器ET0=1;PT0=1;EA=1; //开总中断UART_INIT(); //串口初始化while(1) //无线循环{if(REND){REND=0;r++;//but=RBUF;dat=RBUF; } if(TEND) {if(t!=r) { TEND=0;// TBUF=dat;switch(dat) //接收数据判断{uchar k;k=10;case 'A': P33=1;delay(k);TBUF =dat;dat=0xee;break; //开case 'B': P33=0;delay(k);TBUF =dat;dat=0xee;break; //关case 'C': if(P33==1){TBUF ='A';}if(P33==0){TBUF = 'B';}delay(k);dat=0xee;break; //读输出口状态case 'D': P33=!P33;delay(k);TBUF =dat;dat=0xee;break;//输出口取反default:break; //跳出} t++; //TBUF=but; TING=1; } }/******************************************************************** 接收数据判断函数*********************************************************************/ } } /******************************************************************** 定时器T0*********************************************************************/void tm0()interrupt 1 using 1{ if(RING){if(--RCNT==0) { RCNT=3; if(--RBIT==0) { RBUF=RDAT; RING=0; REND=1; } else { RDAT>>=1; if(RXB)RDAT|=0X80; } }} else if(!RXB) { RING=1; RCNT=4; RBIT=9; } if(--TCNT==0) { TCNT=3; if(TING) { if(TBIT==0) { TXB=0; TDAT=TBUF; TBIT=9; } else { TDAT>>=1; if(--TBIT==0) { TXB=1; TING=0; TEND=1; } else { TXB=CY; } } } }}/******************************************************************** 功能:串口初始化,波特率9600,方式1*********************************************************************/void UART_INIT(){TING=0;RING=0; TEND=1;REND=0; TCNT=0;RCNT=0;}
本程序代码由本人编写而成,难免有疏漏之处,请各位多多指教。稍后,有需要安卓手机蓝牙代码的朋友。可以联系QQ:615854698;电话:13049863925。可以免费索取的哟,欢迎多提宝贵意见。
页:
[1]