找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15209|回复: 38
打印 上一主题 下一主题
收起左侧

发个蓝牙控制继电器的吧 ,有源码,有原理图

  [复制链接]
跳转到指定楼层
楼主
采用STC15F104EIO口模拟串口通信,发A开继电器,发a关继电器。 51hei论坛的高手们看看我的原理图在抗干扰上有没有缺点,谢谢,欢迎指正!!
废话不多说,先上资料下载地址 手机蓝牙控制资料.rar (139.58 KB, 下载次数: 336)
再上 实物图:

原理图:



最后上代码
/********************************************************************


实现功能:串口发送控制继电器开关
使用芯片:STC15F104E

*********************************************************************/
/********************************************************************
单片机与PC机采用9针串口,MAX232通讯,波特率默认为9600.
单片机接收PC机发送的数据码表如下:

01、开:PC发送'A';
02、关:PC发送'B';
03、输出状态查询:PC发送C;单片机返回输出状态‘A’表示开 ‘B’表示关;
04、继电器状态取反:PC发送D        继电器状态取反
*********************************************************************/
  1. #include "reg52.h"
  2. #include <intrins.H>
  3. #define uchar unsigned char //宏定义字符型变量
  4. #define uint  unsigned int        //宏定义整型变量
  5. /********************************************************************
  6.                             波特率设定
  7. *********************************************************************/
  8. //#define BAUD 0XF400  //1200bps@ 11.0592MHZ
  9. //#define BAUD 0XFA00  //2400bps@ 11.0592MHZ
  10. //#define BAUD 0XFD00  //4800bps@ 11.0592MHZ
  11. #define BAUD 0XFE80  //9600bps@ 11.0592MHZ
  12. //#define BAUD 0XFF40  //19200bps@ 11.0592MHZ
  13. //#define BAUD 0XFFA0  //38400bps@ 11.0592MHZ

  14. uchar dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
  15. sbit  P33=P3^2; //定义继电器控制输出脚

  16. /********************************************************************
  17.                             定义特殊寄存器
  18. *********************************************************************/
  19. sfr AUXR  =  0x8E;   //辅助寄存器
  20. sbit RXB=P3^0;
  21. sbit TXB=P3^1;
  22. /********************************************************************
  23.                            定义数据类型
  24. *********************************************************************/
  25. uchar TBUF,RBUF;
  26. uchar TDAT,RDAT;
  27. uchar TCNT,RCNT;
  28. uchar TBIT,RBIT;
  29. uint TING,RING;
  30. uint TEND,REND;

  31. void UART_INIT(); //声明函数

  32. uchar t,r;                  //定义数据类型
  33. uchar but[16];          //数据存储数组
  34. /********************************************************************
  35.                             延时函数
  36. *********************************************************************/
  37. void delay(uchar t)
  38. {
  39.   uchar i,j;
  40.    for(i=0;i<t;i++)
  41.    {
  42.             for(j=13;j>0;j--);
  43.          { ;
  44.          }
  45.    }
  46. }
  47. /********************************************************************
  48.                             主函数
  49. *********************************************************************/
  50. void main()
  51. {

  52. TMOD=0X00;           //定时器T0设定
  53. AUXR=0X80;           //辅助寄存器
  54. TL0=BAUD;           //十六位寄存器
  55. TH0=BAUD>>8;   //十六位寄存器
  56. TR0=1;                   //开定时器
  57. ET0=1;
  58. PT0=1;
  59. EA=1;                   //开总中断
  60. UART_INIT();   //串口初始化
  61. while(1)           //无线循环
  62. {
  63. if(REND)
  64.   {
  65.    REND=0;
  66.    r++;
  67.    //but[r++&0x0f]=RBUF;
  68.    dat=RBUF;
  69.    }
  70.   if(TEND)
  71.    {
  72.    if(t!=r)
  73.      {
  74.          TEND=0;
  75. //         TBUF=dat;
  76. switch(dat) //接收数据判断
  77. {
  78. uchar k;
  79. k=10;
  80. case 'A': P33=0;delay(k);TBUF = dat;dat=0xee;break;           //  开
  81. case 'a': P33=1;delay(k);TBUF = dat;dat=0xee;break;           //  关
  82. default:break;                                           //  跳出
  83. }
  84.          t++;
  85.          //TBUF=but[t++&0x0f];
  86.          TING=1;
  87.          }
  88.    }
  89. /********************************************************************
  90.                             接收数据判断函数
  91. *********************************************************************/

  92. }

  93. }



  94. /********************************************************************
  95.                             定时器T0
  96. *********************************************************************/
  97. void tm0()interrupt 1 using 1
  98. {
  99. if(RING)
  100.   {
  101.    if(--RCNT==0)
  102.     {
  103.          RCNT=3;
  104.          if(--RBIT==0)
  105.         {
  106.                  RBUF=RDAT;
  107.                  RING=0;
  108.          REND=1;
  109.                 }
  110.                 else
  111.                 {
  112.                  RDAT>>=1;
  113.                  if(RXB)RDAT|=0X80;
  114.                 }

  115.     }
  116.   }
  117.     else if(!RXB)
  118.         {
  119.          RING=1;
  120.          RCNT=4;
  121.          RBIT=9;
  122.         }
  123.     if(--TCNT==0)
  124.         {
  125.         TCNT=3;
  126.         if(TING)
  127.         {
  128.           if(TBIT==0)
  129.           {
  130.           TXB=0;
  131.           TDAT=TBUF;
  132.           TBIT=9;
  133.           }
  134.           else
  135.           {
  136.           TDAT>>=1;
  137.           if(--TBIT==0)
  138.           {
  139.            TXB=1;
  140.            TING=0;
  141.            TEND=1;
  142.           }
  143.           else
  144.           {
  145.           TXB=CY;
  146.           }
  147.           }
  148.         }
  149.         }
  150. }
  151. /********************************************************************
  152.               功能:串口初始化,波特率9600,方式1
  153. *********************************************************************/
  154. void UART_INIT()
  155. {
  156. TING=0;
  157. RING=0;

  158. TEND=1;
  159. REND=0;

  160. TCNT=0;
  161. RCNT=0;
  162. }

  163. /********************************************************************
  164.                             结束
  165. *********************************************************************/
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏11 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:64696 发表于 2014-12-18 20:19 | 只看该作者
顶一下了!51hei有你更精彩!!
回复

使用道具 举报

板凳
ID:70104 发表于 2014-12-19 13:38 | 只看该作者
good~~高
回复

使用道具 举报

地板
ID:70104 发表于 2014-12-19 13:38 | 只看该作者
表示想下载啦
回复

使用道具 举报

5#
ID:70330 发表于 2015-1-7 14:53 | 只看该作者
请问,继电器上的电阻多大的
回复

使用道具 举报

6#
ID:70330 发表于 2015-1-7 14:53 | 只看该作者
原理图不太清
回复

使用道具 举报

7#
ID:70330 发表于 2015-1-8 09:26 | 只看该作者
请问楼主,电阻的阻值是多大的,谢谢!
回复

使用道具 举报

8#
ID:71547 发表于 2015-1-9 14:14 | 只看该作者
好东西,学习了 51hei有你更精彩!!
回复

使用道具 举报

9#
ID:70979 发表于 2015-1-10 18:10 | 只看该作者
好东西 要学习
回复

使用道具 举报

10#
ID:69254 发表于 2015-2-23 10:40 | 只看该作者

顶一下了!
回复

使用道具 举报

11#
ID:72995 发表于 2015-5-7 15:54 | 只看该作者
good~~高
回复

使用道具 举报

12#
ID:78062 发表于 2015-6-1 11:15 | 只看该作者
好厉害啊啊 啊啊a
回复

使用道具 举报

13#
ID:78062 发表于 2015-6-1 11:15 | 只看该作者
怎么写代码呢
回复

使用道具 举报

14#
ID:83846 发表于 2015-6-26 21:20 | 只看该作者
理图在抗干扰上有没有
回复

使用道具 举报

15#
ID:83846 发表于 2015-6-26 22:42 | 只看该作者
希望帮助更多的初学者
回复

使用道具 举报

16#
ID:86777 发表于 2015-7-25 10:25 | 只看该作者
顶一下,,,,,挺好的
回复

使用道具 举报

17#
ID:79544 发表于 2015-8-31 22:54 | 只看该作者
不错,谢谢分享,顶起
回复

使用道具 举报

18#
ID:91613 发表于 2015-10-5 07:52 | 只看该作者
楼主有没有上位机的代码            
回复

使用道具 举报

19#
ID:91755 发表于 2015-10-6 22:55 | 只看该作者
上位机用蓝牙串口也可以把
回复

使用道具 举报

20#
ID:72399 发表于 2016-3-11 00:57 | 只看该作者
貌似下载了用不了
回复

使用道具 举报

21#
ID:108508 发表于 2016-3-13 23:07 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

22#
ID:97678 发表于 2016-3-17 14:03 | 只看该作者
好东西,下载来看看。

最近一直在想这个东西。
回复

使用道具 举报

23#
ID:88498 发表于 2016-3-18 20:04 | 只看该作者
不错,谢谢分享,顶起
回复

使用道具 举报

24#
ID:88498 发表于 2016-3-18 20:42 | 只看该作者

好东西,学习了 51hei有你更精彩!!
回复

使用道具 举报

25#
ID:111545 发表于 2016-3-31 09:57 | 只看该作者
很经典啊
回复

使用道具 举报

26#
ID:92231 发表于 2016-4-5 22:38 来自手机 | 只看该作者
太好了,这一下可以学习制作了
回复

使用道具 举报

27#
ID:116141 发表于 2016-4-23 17:43 | 只看该作者
楼主写个好啊
回复

使用道具 举报

28#
ID:116141 发表于 2016-4-23 17:43 | 只看该作者
顶一个
回复

使用道具 举报

29#
ID:117030 发表于 2016-4-28 08:42 | 只看该作者
学习了
回复

使用道具 举报

30#
ID:117030 发表于 2016-4-28 09:08 | 只看该作者
学习了
回复

使用道具 举报

31#
ID:24486 发表于 2016-12-14 19:51 | 只看该作者
不错,谢谢分享。
回复

使用道具 举报

32#
ID:195723 发表于 2017-9-27 08:51 | 只看该作者
感谢分享,前来学习
回复

使用道具 举报

33#
ID:241242 发表于 2017-12-8 08:55 | 只看该作者
蓝牙也可以,学习!
回复

使用道具 举报

34#
ID:573651 发表于 2019-6-27 19:10 | 只看该作者
好东西
回复

使用道具 举报

35#
ID:473471 发表于 2019-7-24 22:33 | 只看该作者
楼主好人,谢谢分享
回复

使用道具 举报

36#
ID:792707 发表于 2020-6-29 13:36 | 只看该作者
可以延时或者点动控制吗
回复

使用道具 举报

37#
ID:473471 发表于 2020-6-30 22:47 | 只看该作者
好资料,51黑有你更精彩!
回复

使用道具 举报

38#
ID:816140 发表于 2020-10-13 10:50 | 只看该作者
协议完善一下应该就有实用价值了。。
回复

使用道具 举报

39#
ID:787739 发表于 2020-10-14 07:58 | 只看该作者
原理图不具体哦
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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