找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 17131|回復: 38
打印 上一主題 下一主題
收起左側(cè)

發(fā)個藍牙控制繼電器的吧 ,有源碼,有原理圖

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70650 發(fā)表于 2014-12-17 21:32 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
采用STC15F104EIO口模擬串口通信,發(fā)A開繼電器,發(fā)a關(guān)繼電器。 51hei論壇的高手們看看我的原理圖在抗干擾上有沒有缺點,謝謝,歡迎指正!!
廢話不多說,先上資料下載地址 手機藍牙控制資料.rar (139.58 KB, 下載次數(shù): 339)
再上 實物圖:

原理圖:



最后上代碼
/********************************************************************


實現(xiàn)功能:串口發(fā)送控制繼電器開關(guān)
使用芯片:STC15F104E

*********************************************************************/
/********************************************************************
單片機與PC機采用9針串口,MAX232通訊,波特率默認為9600.
單片機接收PC機發(fā)送的數(shù)據(jù)碼表如下:

01、開:PC發(fā)送'A';
02、關(guān):PC發(fā)送'B';
03、輸出狀態(tài)查詢:PC發(fā)送C;單片機返回輸出狀態(tài)‘A’表示開 ‘B’表示關(guān);
04、繼電器狀態(tài)取反:PC發(fā)送D        繼電器狀態(tài)取反
*********************************************************************/
  1. #include "reg52.h"
  2. #include <intrins.H>
  3. #define uchar unsigned char //宏定義字符型變量
  4. #define uint  unsigned int        //宏定義整型變量
  5. /********************************************************************
  6.                             波特率設(shè)定
  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; //用于存儲單片機接收發(fā)送緩沖寄存器SBUF里面的內(nèi)容
  15. sbit  P33=P3^2; //定義繼電器控制輸出腳

  16. /********************************************************************
  17.                             定義特殊寄存器
  18. *********************************************************************/
  19. sfr AUXR  =  0x8E;   //輔助寄存器
  20. sbit RXB=P3^0;
  21. sbit TXB=P3^1;
  22. /********************************************************************
  23.                            定義數(shù)據(jù)類型
  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(); //聲明函數(shù)

  32. uchar t,r;                  //定義數(shù)據(jù)類型
  33. uchar but[16];          //數(shù)據(jù)存儲數(shù)組
  34. /********************************************************************
  35.                             延時函數(shù)
  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.                             主函數(shù)
  49. *********************************************************************/
  50. void main()
  51. {

  52. TMOD=0X00;           //定時器T0設(shè)定
  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)           //無線循環(huán)
  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) //接收數(shù)據(jù)判斷
  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;           //  關(guān)
  82. default:break;                                           //  跳出
  83. }
  84.          t++;
  85.          //TBUF=but[t++&0x0f];
  86.          TING=1;
  87.          }
  88.    }
  89. /********************************************************************
  90.                             接收數(shù)據(jù)判斷函數(shù)
  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.                             結(jié)束
  165. *********************************************************************/
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂1 踩

相關(guān)帖子

回復

使用道具 舉報

沙發(fā)
ID:64696 發(fā)表于 2014-12-18 20:19 | 只看該作者
頂一下了!51hei有你更精彩�。�
回復

使用道具 舉報

板凳
ID:70104 發(fā)表于 2014-12-19 13:38 | 只看該作者
good~~高
回復

使用道具 舉報

地板
ID:70104 發(fā)表于 2014-12-19 13:38 | 只看該作者
表示想下載啦
回復

使用道具 舉報

5#
ID:70330 發(fā)表于 2015-1-7 14:53 | 只看該作者
請問,繼電器上的電阻多大的
回復

使用道具 舉報

6#
ID:70330 發(fā)表于 2015-1-7 14:53 | 只看該作者
原理圖不太清
回復

使用道具 舉報

7#
ID:70330 發(fā)表于 2015-1-8 09:26 | 只看該作者
請問樓主,電阻的阻值是多大的,謝謝!
回復

使用道具 舉報

8#
ID:71547 發(fā)表于 2015-1-9 14:14 | 只看該作者
好東西,學習了 51hei有你更精彩!!
回復

使用道具 舉報

9#
ID:70979 發(fā)表于 2015-1-10 18:10 | 只看該作者
好東西 要學習
回復

使用道具 舉報

10#
ID:69254 發(fā)表于 2015-2-23 10:40 | 只看該作者

頂一下了!
回復

使用道具 舉報

11#
ID:72995 發(fā)表于 2015-5-7 15:54 | 只看該作者
good~~高
回復

使用道具 舉報

12#
ID:78062 發(fā)表于 2015-6-1 11:15 | 只看該作者
好厲害啊啊 啊啊a
回復

使用道具 舉報

13#
ID:78062 發(fā)表于 2015-6-1 11:15 | 只看該作者
怎么寫代碼呢
回復

使用道具 舉報

14#
ID:83846 發(fā)表于 2015-6-26 21:20 | 只看該作者
理圖在抗干擾上有沒有
回復

使用道具 舉報

15#
ID:83846 發(fā)表于 2015-6-26 22:42 | 只看該作者
希望幫助更多的初學者
回復

使用道具 舉報

16#
ID:86777 發(fā)表于 2015-7-25 10:25 | 只看該作者
頂一下,,,,,挺好的
回復

使用道具 舉報

17#
ID:79544 發(fā)表于 2015-8-31 22:54 | 只看該作者
不錯,謝謝分享,頂起
回復

使用道具 舉報

18#
ID:91613 發(fā)表于 2015-10-5 07:52 | 只看該作者
樓主有沒有上位機的代碼            
回復

使用道具 舉報

19#
ID:91755 發(fā)表于 2015-10-6 22:55 | 只看該作者
上位機用藍牙串口也可以把
回復

使用道具 舉報

20#
ID:72399 發(fā)表于 2016-3-11 00:57 | 只看該作者
貌似下載了用不了
回復

使用道具 舉報

21#
ID:108508 發(fā)表于 2016-3-13 23:07 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

22#
ID:97678 發(fā)表于 2016-3-17 14:03 | 只看該作者
好東西,下載來看看。

最近一直在想這個東西。
回復

使用道具 舉報

23#
ID:88498 發(fā)表于 2016-3-18 20:04 | 只看該作者
不錯,謝謝分享,頂起
回復

使用道具 舉報

24#
ID:88498 發(fā)表于 2016-3-18 20:42 | 只看該作者

好東西,學習了 51hei有你更精彩��!
回復

使用道具 舉報

25#
ID:111545 發(fā)表于 2016-3-31 09:57 | 只看該作者
很經(jīng)典啊
回復

使用道具 舉報

26#
ID:92231 發(fā)表于 2016-4-5 22:38 來自手機 | 只看該作者
太好了,這一下可以學習制作了
回復

使用道具 舉報

27#
ID:116141 發(fā)表于 2016-4-23 17:43 | 只看該作者
樓主寫個好啊
回復

使用道具 舉報

28#
ID:116141 發(fā)表于 2016-4-23 17:43 | 只看該作者
頂一個
回復

使用道具 舉報

29#
ID:117030 發(fā)表于 2016-4-28 08:42 | 只看該作者
學習了
回復

使用道具 舉報

30#
ID:117030 發(fā)表于 2016-4-28 09:08 | 只看該作者
學習了
回復

使用道具 舉報

31#
ID:24486 發(fā)表于 2016-12-14 19:51 | 只看該作者
不錯,謝謝分享。
回復

使用道具 舉報

32#
ID:195723 發(fā)表于 2017-9-27 08:51 | 只看該作者
感謝分享,前來學習
回復

使用道具 舉報

33#
ID:241242 發(fā)表于 2017-12-8 08:55 | 只看該作者
藍牙也可以,學習!
回復

使用道具 舉報

34#
ID:573651 發(fā)表于 2019-6-27 19:10 | 只看該作者
好東西
回復

使用道具 舉報

35#
ID:473471 發(fā)表于 2019-7-24 22:33 | 只看該作者
樓主好人,謝謝分享
回復

使用道具 舉報

36#
ID:792707 發(fā)表于 2020-6-29 13:36 | 只看該作者
可以延時或者點動控制嗎
回復

使用道具 舉報

37#
ID:473471 發(fā)表于 2020-6-30 22:47 | 只看該作者
好資料,51黑有你更精彩!
回復

使用道具 舉報

38#
ID:816140 發(fā)表于 2020-10-13 10:50 | 只看該作者
協(xié)議完善一下應該就有實用價值了。。
回復

使用道具 舉報

39#
ID:787739 發(fā)表于 2020-10-14 07:58 | 只看該作者
原理圖不具體哦
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表