標(biāo)題: 發(fā)個(gè)藍(lán)牙控制繼電器的吧 ,有源碼,有原理圖 [打印本頁(yè)]

作者: jiujiu    時(shí)間: 2014-12-17 21:32
標(biāo)題: 發(fā)個(gè)藍(lán)牙控制繼電器的吧 ,有源碼,有原理圖
采用STC15F104EIO口模擬串口通信,發(fā)A開繼電器,發(fā)a關(guān)繼電器。 51hei論壇的高手們看看我的原理圖在抗干擾上有沒有缺點(diǎn),謝謝,歡迎指正!!
廢話不多說,先上資料下載地址 手機(jī)藍(lán)牙控制資料.rar (139.58 KB, 下載次數(shù): 339)
再上 實(shí)物圖:

原理圖:



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


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

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

01、開:PC發(fā)送'A';
02、關(guān):PC發(fā)送'B';
03、輸出狀態(tài)查詢:PC發(fā)送C;單片機(jī)返回輸出狀態(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; //用于存儲(chǔ)單片機(jī)接收發(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ù)存儲(chǔ)數(shù)組
  34. /********************************************************************
  35.                             延時(shí)函數(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;           //定時(shí)器T0設(shè)定
  53. AUXR=0X80;           //輔助寄存器
  54. TL0=BAUD;           //十六位寄存器
  55. TH0=BAUD>>8;   //十六位寄存器
  56. TR0=1;                   //開定時(shí)器
  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.                             定時(shí)器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. *********************************************************************/
復(fù)制代碼



作者: leiyutian    時(shí)間: 2014-12-18 20:19
頂一下了!51hei有你更精彩!
作者: pps111    時(shí)間: 2014-12-19 13:38
good~~高
作者: pps111    時(shí)間: 2014-12-19 13:38
表示想下載啦
作者: xsynet    時(shí)間: 2015-1-7 14:53
請(qǐng)問,繼電器上的電阻多大的
作者: xsynet    時(shí)間: 2015-1-7 14:53
原理圖不太清
作者: xsynet    時(shí)間: 2015-1-8 09:26
請(qǐng)問樓主,電阻的阻值是多大的,謝謝!
作者: WANGWEI188188    時(shí)間: 2015-1-9 14:14
好東西,學(xué)習(xí)了 51hei有你更精彩!
作者: fengzi8230    時(shí)間: 2015-1-10 18:10
好東西 要學(xué)習(xí)
作者: qingxinrushui    時(shí)間: 2015-2-23 10:40

頂一下了!
作者: 蒲公英lhl    時(shí)間: 2015-5-7 15:54
good~~高
作者: 1391292562    時(shí)間: 2015-6-1 11:15
好厲害啊啊 啊啊a
作者: 1391292562    時(shí)間: 2015-6-1 11:15
怎么寫代碼呢
作者: xiaowei105    時(shí)間: 2015-6-26 21:20
理圖在抗干擾上有沒有
作者: xiaowei105    時(shí)間: 2015-6-26 22:42
希望幫助更多的初學(xué)者
作者: 易曉勇121    時(shí)間: 2015-7-25 10:25
頂一下,,,,,挺好的
作者: 騰飛的龍    時(shí)間: 2015-8-31 22:54
不錯(cuò),謝謝分享,頂起
作者: douhao    時(shí)間: 2015-10-5 07:52
樓主有沒有上位機(jī)的代碼            
作者: qwa123    時(shí)間: 2015-10-6 22:55
上位機(jī)用藍(lán)牙串口也可以把
作者: 綠源學(xué)習(xí)者    時(shí)間: 2016-3-11 00:57
貌似下載了用不了
作者: somlye    時(shí)間: 2016-3-13 23:07
謝謝樓主分享
作者: jovew    時(shí)間: 2016-3-17 14:03
好東西,下載來看看。

最近一直在想這個(gè)東西。
作者: lyseg01    時(shí)間: 2016-3-18 20:04
不錯(cuò),謝謝分享,頂起
作者: lyseg01    時(shí)間: 2016-3-18 20:42

好東西,學(xué)習(xí)了 51hei有你更精彩!!
作者: acp    時(shí)間: 2016-3-31 09:57
很經(jīng)典啊

作者: whengfu    時(shí)間: 2016-4-5 22:38
太好了,這一下可以學(xué)習(xí)制作了
作者: 123123123123123    時(shí)間: 2016-4-23 17:43
樓主寫個(gè)好啊
作者: 123123123123123    時(shí)間: 2016-4-23 17:43
頂一個(gè)
作者: jiaodabo88    時(shí)間: 2016-4-28 08:42
學(xué)習(xí)了
作者: jiaodabo88    時(shí)間: 2016-4-28 09:08
學(xué)習(xí)了
作者: kevintang    時(shí)間: 2016-12-14 19:51
不錯(cuò),謝謝分享。
作者: 偉云科技    時(shí)間: 2017-9-27 08:51
感謝分享,前來學(xué)習(xí)
作者: todaljy    時(shí)間: 2017-12-8 08:55
藍(lán)牙也可以,學(xué)習(xí)!
作者: qq354429346    時(shí)間: 2019-6-27 19:10
好東西
作者: saj123456    時(shí)間: 2019-7-24 22:33
樓主好人,謝謝分享
作者: saerka    時(shí)間: 2020-6-29 13:36
可以延時(shí)或者點(diǎn)動(dòng)控制嗎
作者: saj123456    時(shí)間: 2020-6-30 22:47
好資料,51黑有你更精彩!
作者: akts    時(shí)間: 2020-10-13 10:50
協(xié)議完善一下應(yīng)該就有實(shí)用價(jià)值了。。
作者: wadeen    時(shí)間: 2020-10-14 07:58
原理圖不具體哦




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1