手机控制蓝牙开关,无线开关,智能家居,物联网

发布时间:2013-8-18 15:21    发布者:615854698
关键词: 智能开关 , 工控开关 , 延时开关
最近研究出一款安卓手机编程控制的基于蓝牙的开关装置,体积很小。具体观看优酷网宣传视频:


现在分享下设计原理图如下:

原理图.jpg

蓝牙模块.jpg

采用可编程芯片,编程实现无线传输接收端代码如下:
/********************************************************************                            主函数*********************************************************************/

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[r++&0x0f]=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[t++&0x0f];          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;}

本程序代码由本人编写而成,难免有疏漏之处,请各位多多指教。稍后,有需要安卓手机蓝牙代码的朋友。可以联系QQ615854698电话:13049863925可以免费索取的哟,欢迎多提宝贵意见。

本文地址:https://www.eechina.com/thread-119639-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表