久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1306|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

中國移動云平臺觸發(fā)器 單片機源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:535575 發(fā)表于 2019-7-7 16:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. #define MAIN_Fosc                22118400L        //定義主時鐘
  2. #include        "STC15Fxxxx.H"
  3. #include   <string.h>
  4. #define                Baudrate1        115200UL
  5. #define                Baudrate2        115200UL


  6. bit        B_TX1_Busy;        //發(fā)送忙標志
  7. bit        B_TX2_Busy;        //發(fā)送忙標志

  8. void        UART1_config(u8 brt);        // 選擇波特率, 2: 使用Timer2做波特率, 其它值: 使用Timer1做波特率.
  9. void        UART2_config(u8 brt);        // 選擇波特率, 2: 使用Timer2做波特率, 其它值: 無效.
  10. void         PrintString1(u8 *puts);
  11. void         PrintString2(u8 *puts);

  12. bit Haertbeat_Flag;
  13. bit Haertbeat_Detection;
  14. u8  Rec_Char;
  15. void PrintString2(u8 *puts);
  16. void PrintString_Text(u8 *puts);
  17. void wifi_Inti();
  18. void Delay10000ms()        ;       
  19. void Delay3000ms();



  20. void RH(void);
  21. void COM(void);
  22. void Delay18ms();
  23. void Delay_10us()        ;
  24. void PrintString_Data(u8 *puts);
  25. void Up_temperature();
  26. void Up_humidity();
  27. //----------------定義區(qū)--------------------//
  28. //----------------------------------------------//
  29. u8  U8FLAG;
  30. u8  U8count,U8temp;
  31. u8  U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
  32. u8  U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
  33. u8  U8comdata;
  34. u8  disbuf_h[]={0,0};
  35. u8  disbuf_t[]={0,0};
  36. u8 code temperature_Data1[]={0X80,0X15,0X00,0X05,0X00,0X11,0X2C,0X3B,0X74,0X65,0X6D,0X70,0X65,0X72,0X61,0X74,0X75,0X72,0X65,0X20,0X2C,0xff};
  37. u8 code humidity_Data2[]={0X80,0X12,0X00,0X05,0X00,0X0E,0X2C,0X3B,0X68,0X75,0X6D,0X69,0X64,0X69,0X74,0X79,0X20,0X2C,0xff};
  38.         bit Haertbeat_Flag;
  39. bit Haertbeat_Detection;
  40. u8  Rec_Char;
  41. u8  Rec_Num;
  42. u8  Com_Turn_Light ;

  43. void Fire_Detection();
  44. u8 code Fire[]={0X80,0X17,0X80,0X00,0X09,0X35,0X31,0X39,0X34,
  45. 0X33,0X37,0X32,0X38,0X35,0X05,0X00,0X08,0X2C,0X3B,0X66,0X69,0X72,0X65,0X2C,0X30,0xff};



  46. u8 Rec_Fax_Text[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  47. unsigned char code Heartbeat[]={0xC0,0x00,0xff};
  48. u8 code Connect_Com[]={0X10,0X32,0X00,0X03,0X45,0X44,0X50,0X01,0X40,0X01,0X2C,0X00,0X09,
  49.         0X35,0X31,0X38,0X39,0X38,0X38,0X32,0X37,0X31,0X00,0X1C,0X63,0X52,0X6E,0X67,0X4F,0X50,0X4B,
  50.         0X3D,0X33,0X6C,0X4D,0X65,0X78,0X32,0X41,0X75,0X45,0X69,0X32,0X41,0X37,0X63,0X6D,0X58,0X58,0X38,0X63,0X3D,0xff};
  51. u8 code Save_Data[]={0X80,0X63,0X00,0X01,0X00,0X5F,0X7B,0X0A,0X09,0X22,0X64,0X61,0X74,0X61,0X73,0X74,0X72,
  52.         0X65,0X61,0X6D,0X73,0X22,0X3A,0X09,0X5B,0X7B,0X0A,0X09,0X09,0X09,
  53.         0X22,0X69,0X64,0X22,0X3A,0X09,0X22,0X74,0X65,0X6D,0X70,0X65,0X72,0X61,0X74,0X75,
  54.         0X72,0X65,0X22,0X2C,0X0A,0X09,0X09,0X09,0X22,0X64,0X61,0X74,0X61,0X70,0X6F,0X69,0X6E,        0X74,        0X73,0X22,0X3A,
  55.         0X09,0X5B,0X7B,0X0A,0X09,0X09,0X09,0X09,0X09,0X22,0X76,0X61,0X6C,0X75,0X65,0X22,0X3A,0X09,0X38,0X30,
  56. 0X0A,0X09,0X09,0X09,0X09,0X7D,0X5D,0X0A,0X09,0X09,0X7D,0X5D,0X0A,0X7D,0xff};
  57. void   Haertbeat_Response()
  58. {
  59.        
  60.   unsigned         char j;

  61.         for(j=0;j<3;j++)
  62.                 {
  63.                           PrintString_Text(Heartbeat);
  64.                     Delay3000ms();
  65.                           Delay3000ms();
  66.            if( Haertbeat_Flag == 1)
  67.                              break;       
  68.            }       
  69.     if( Haertbeat_Flag == 1)
  70.         Haertbeat_Flag   = 0;
  71.     else
  72.            {
  73.       wifi_Inti();
  74.                          Delay3000ms();
  75.                         PrintString_Text(Connect_Com);
  76.                          Delay3000ms();
  77.      }

  78. }
  79. //========================================================================
  80. // 函數(shù): void main(void)
  81. // 描述: 主函數(shù)。
  82. // 參數(shù): none.
  83. // 返回: none.
  84. // 版本: VER1.0
  85. // 日期: 2014-11-28
  86. // 備注:
  87. //========================================================================
  88. int main(void)
  89. {
  90.         P0M1 = 0;        P0M0 = 0;        //設(shè)置為準雙向口
  91.         P1M1 = 0;        P1M0 = 0;        //設(shè)置為準雙向口
  92.         P2M1 = 0;        P2M0 = 0;        //設(shè)置為準雙向口
  93.         P3M1 = 0;        P3M0 = 0;        //設(shè)置為準雙向口
  94.         P4M1 = 0;        P4M0 = 0;        //設(shè)置為準雙向口
  95.         P5M1 = 0;        P5M0 = 0;        //設(shè)置為準雙向口
  96.         P6M1 = 0;        P6M0 = 0;        //設(shè)置為準雙向口
  97.         P7M1 = 0;        P7M0 = 0;        //設(shè)置為準雙向口

  98.         UART1_config(1);        // 選擇波特率, 2: 使用Timer2做波特率, 其它值: 使用Timer1做波特率.
  99.         UART2_config(2);        // 選擇波特率, 2: 使用Timer2做波特率, 其它值: 無效.
  100.         EA = 1;                                    //允許全局中斷
  101.        
  102.                 wifi_Inti();
  103.           PrintString_Text(Connect_Com);
  104. //                Delay10000ms();
  105. //          PrintString_Text(Save_Data);       
  106.                 Delay3000ms();
  107.          
  108.        
  109.        
  110.         while(1)
  111. {
  112.      Haertbeat_Response();
  113.            Delay18ms();
  114.            RH();
  115.           Delay_10us()        ;
  116.            Up_temperature();
  117.          Delay_10us()        ;
  118.            Up_humidity();
  119.      Delay_10us()        ;
  120.          Fire_Detection();
  121. }
  122.   
  123. }
  124. //========================================================================
  125. // 函數(shù): void PrintString1(u8 *puts)
  126. // 描述: 串口1發(fā)送字符串函數(shù)。
  127. // 參數(shù): puts:  字符串指針.
  128. // 返回: none.
  129. // 版本: VER1.0
  130. // 日期: 2014-11-28
  131. // 備注:
  132. //========================================================================
  133. void PrintString1(u8 *puts)
  134. {
  135.   for (; *puts != 0;        puts++)           //遇到停止符0結(jié)束
  136.         {
  137.                 SBUF = *puts;
  138.                 B_TX1_Busy = 1;
  139.                 while(B_TX1_Busy);
  140.         }
  141. }
  142. //========================================================================
  143. // 函數(shù): void PrintString2(u8 *puts)
  144. // 描述: 串口2發(fā)送字符串函數(shù)。
  145. // 參數(shù): puts:  字符串指針.
  146. // 返回: none.
  147. // 版本: VER1.0
  148. // 日期: 2014-11-28
  149. // 備注:
  150. //========================================================================
  151. void PrintString2(u8 *puts)
  152. {
  153.   for (;*puts != 0;puts++)           //遇到停止符0結(jié)束
  154.         {
  155.                 S2BUF = *puts;
  156.                 B_TX2_Busy = 1;
  157.                 while(B_TX2_Busy);
  158.         }
  159. }


  160. void PrintString_Text(u8 *puts)
  161. {
  162.   for (;*puts != 0xff;puts++)           //遇到停止符0結(jié)束
  163.         {
  164.                 S2BUF = *puts;
  165.                 B_TX2_Busy = 1;
  166.                 while(B_TX2_Busy);
  167.         }
  168. }


  169. void PrintString_Data(u8 *puts)
  170. {
  171.   for (;*puts != 0xff;puts++)           //遇到停止符0結(jié)束
  172.         {
  173.                 S2BUF = *puts;
  174.                 B_TX2_Busy = 1;
  175.                 while(B_TX2_Busy);
  176.         }
  177. }



  178. //========================================================================
  179. // 函數(shù): SetTimer2Baudraye(u16 dat)
  180. // 描述: 設(shè)置Timer2做波特率發(fā)生器。
  181. // 參數(shù): dat: Timer2的重裝值.
  182. // 返回: none.
  183. // 版本: VER1.0
  184. // 日期: 2014-11-28
  185. // 備注:
  186. //========================================================================
  187. void        SetTimer2Baudraye(u16 dat)
  188. {
  189.         AUXR &= ~(1<<4);        //Timer stop
  190.         AUXR &= ~(1<<3);        //Timer2 set As Timer
  191.         AUXR |=  (1<<2);        //Timer2 set as 1T mode
  192.         TH2 = dat / 256;
  193.         TL2 = dat % 256;
  194.         IE2  &= ~(1<<2);        //禁止中斷
  195.         AUXR |=  (1<<4);        //Timer run enable
  196. }
  197. //========================================================================
  198. // 函數(shù): void        UART1_config(u8 brt)
  199. // 描述: UART1初始化函數(shù)。
  200. // 參數(shù): brt: 選擇波特率, 2: 使用Timer2做波特率, 其它值: 使用Timer1做波特率.
  201. // 返回: none.
  202. // 版本: VER1.0
  203. // 日期: 2014-11-28
  204. // 備注:
  205. //========================================================================
  206. void        UART1_config(u8 brt)
  207. {
  208.         /*********** 波特率使用定時器2 *****************/
  209.         if(brt == 2)
  210.         {
  211.                 AUXR |= 0x01;                //S1 BRT Use Timer2;
  212.                 SetTimer2Baudraye(65536UL - (MAIN_Fosc / 4) / Baudrate1);
  213.         }
  214.         /*********** 波特率使用定時器1 *****************/
  215.         else
  216.         {
  217.                 TR1 = 0;
  218.                 AUXR &= ~0x01;                //S1 BRT Use Timer1;
  219.                 AUXR |=  (1<<6);        //Timer1 set as 1T mode
  220.                 TMOD &= ~(1<<6);        //Timer1 set As Timer
  221.                 TMOD &= ~0x30;                //Timer1_16bitAutoReload;
  222.                 TH1 = (u8)((65536UL - (MAIN_Fosc / 4) / Baudrate1) / 256);
  223.                 TL1 = (u8)((65536UL - (MAIN_Fosc / 4) / Baudrate1) % 256);
  224.                 ET1 = 0;        //禁止中斷
  225.                 INT_CLKO &= ~0x02;        //不輸出時鐘
  226.                 TR1  = 1;
  227.         }
  228.         /*************************************************/
  229.         SCON = (SCON & 0x3f) | 0x40;        //UART1模式, 0x00: 同步移位輸出, 0x40: 8位數(shù)據(jù),可變波特率, 0x80: 9位數(shù)據(jù),固定波特率, 0xc0: 9位數(shù)據(jù),可變波特率
  230. //        PS  = 1;        //高優(yōu)先級中斷
  231.         ES  = 1;        //允許中斷
  232.         REN = 1;        //允許接收
  233.         P_SW1 &= 0x3f;
  234.         //P_SW1 |= 0x00;
  235.         //P_SW1 |= 0x80;                //UART1 switch to, 0x00: P3.0 P3.1, 0x40: P3.6 P3.7, 0x80: P1.6 P1.7 (必須使用內(nèi)部時鐘)
  236. //        PCON2 |=  (1<<4);        //內(nèi)部短路RXD與TXD, 做中繼, ENABLE,DISABLE
  237.         B_TX1_Busy = 0;
  238. }
  239. //========================================================================
  240. // 函數(shù): void        UART2_config(u8 brt)
  241. // 描述: UART2初始化函數(shù)。
  242. // 參數(shù): brt: 選擇波特率, 2: 使用Timer2做波特率, 其它值: 無效.
  243. // 返回: none.
  244. // 版本: VER1.0
  245. // 日期: 2014-11-28
  246. // 備注:
  247. //========================================================================
  248. void        UART2_config(u8 brt)        // 選擇波特率, 2: 使用Timer2做波特率, 其它值: 無效.
  249. {
  250.         if(brt == 2)
  251.         {
  252.                 SetTimer2Baudraye(65536UL - (MAIN_Fosc / 4) / Baudrate2);
  253.                 S2CON &= ~(1<<7);        // 8位數(shù)據(jù), 1位起始位, 1位停止位, 無校驗
  254.                 IE2   |= 1;                        //允許中斷
  255.                 S2CON |= (1<<4);        //允許接收
  256.                 P_SW2 &= ~0x01;       
  257.                 //P_SW2 |= 1;                        //UART2 switch to: 0: P1.0 P1.1,  1: P4.6 P4.7
  258.                 B_TX2_Busy = 0;
  259.         }
  260. }
  261. //========================================================================
  262. // 函數(shù): void UART1_int (void) interrupt UART1_VECTOR
  263. // 描述: UART1中斷函數(shù)。
  264. // 參數(shù): nine.
  265. // 返回: none.
  266. // 版本: VER1.0
  267. // 日期: 2014-11-28
  268. // 備注:
  269. //========================================================================
  270. void UART1_int (void) interrupt UART1_VECTOR
  271. {
  272.         if(RI)
  273.         {
  274.                 RI = 0;       
  275.         }
  276.         if(TI)
  277.         {
  278.                 TI = 0;
  279.                 B_TX1_Busy = 0;
  280.         }
  281. }
  282. //========================================================================
  283. // 函數(shù): void UART2_int (void) interrupt UART2_VECTOR
  284. // 描述: UART2中斷函數(shù)。
  285. // 參數(shù): nine.
  286. // 返回: none.
  287. // 版本: VER1.0
  288. // 日期: 2014-11-28
  289. // 備注:
  290. //========================================================================
  291. void UART2_int (void) interrupt UART2_VECTOR

  292. {
  293.         if((S2CON & 1) != 0)
  294.         {
  295.                
  296.                 S2CON &= ~1;        //Clear Rx flag       
  297.           Rec_Char = S2BUF;       
  298.                 SBUF = Rec_Char;
  299.                 //SBUF = S2BUF;                       
  300.         }
  301.         if(Rec_Char == 0xD0)
  302.         {
  303.                  Haertbeat_Detection = 1;               
  304.         }
  305.         else
  306.         {
  307.                                 if ((Rec_Char == 0x00) && (Haertbeat_Detection == 1))
  308.                                 {  
  309.                      Haertbeat_Flag=1;
  310.                         }
  311.                         else
  312.                                 Haertbeat_Detection = 0;
  313.        
  314.                         Rec_Fax_Text[Rec_Num]  =   Rec_Char;
  315.                          if (Rec_Char=='{')
  316.                          {
  317.                            Com_Turn_Light = 1;
  318.                          }
  319.                         if (Com_Turn_Light == 1)
  320.                          {
  321.                            if (Rec_Fax_Text[Rec_Num] == '}')
  322.                                  {
  323.                                    Com_Turn_Light = 0;
  324.                                          Rec_Num=0;
  325.                             if(strstr((const char*)Rec_Fax_Text,"LED01")!=null)
  326.                                         {
  327.                                           P00 = 0;
  328.                                         }
  329.                                         else
  330.                                                 if (strstr((const char*)Rec_Fax_Text,"LED00")!=null)
  331.                                                 {
  332.                                                   P00 = 1;
  333.                                                 }
  334.                                  }
  335.                                 else Rec_Num++;
  336.                          }
  337.                 }
  338.        
  339.    if((S2CON & 2) !=0)
  340.                  {
  341.                 S2CON &= ~2;        //Clear Tx flag
  342.                 B_TX2_Busy = 0;
  343.      }
  344. }


  345. //========================================================================
  346. // 函數(shù):
  347. // 備注:
  348. //========================================================================

  349. void wifi_Inti()
  350. {
  351.        
  352.           PrintString2("+++");
  353.           Delay10000ms();       
  354.           Delay10000ms();
  355.           PrintString2("AT\r\n");
  356.           Delay10000ms();
  357.     PrintString2("AT+CWMODE=3\r\n");
  358.           Delay10000ms();
  359.     PrintString2("AT+RST\r\n");
  360.            Delay10000ms();       
  361. PrintString2("AT+CWJAP=\"TP-LINK_F00D\",\"hygcx807\"\r\n");
  362.         //PrintString2("AT+CWJAP=\"QQ_MI\",\"12345678\"\r\n");
  363.         //  PrintString2("AT+CWJAP=\"iPhoneSE\",\"12345678\"\r\n");
  364.                 Delay10000ms();
  365.                 Delay10000ms();
  366.           Delay10000ms();       
  367.           Delay10000ms();
  368.                 Delay10000ms();
  369.           Delay10000ms();       
  370.     PrintString2("AT+CIPSTART=\"TCP\",\"183.230.40.39\",876\r\n");
  371.     Delay10000ms();       
  372.           Delay10000ms();
  373.     PrintString2("AT+CIPMODE=1\r\n");
  374.                 Delay10000ms();
  375.           PrintString2("AT+CIPSEND\r\n");
  376.                 Delay10000ms();
  377.                  
  378. }
  379. //========================================================================
  380. // 函數(shù):
  381. // 備注:
  382. //========================================================================

  383. void Delay10000ms()                //@11.0592MHz
  384. {
  385.         unsigned char i, j, k;

  386.         _nop_();
  387.         _nop_();
  388.         i = 165;
  389.         j = 59;
  390.         k = 28;
  391.         do
  392.         {
  393.                 do
  394.                 {
  395.                         while (--k);
  396.                 } while (--j);
  397.         } while (--i);
  398. }


  399. void Delay3000ms()                //@11.0592MHz
  400. {
  401.         unsigned char i, j, k;

  402.         _nop_();
  403.         _nop_();
  404.         i = 127;
  405.         j = 18;
  406.         k = 107;
  407.         do
  408.         {
  409.                 do
  410.                 {
  411.                         while (--k);
  412.                 } while (--j);
  413.         } while (--i);
  414. }

  415. void Delay_10us()                //@22.1184MHz
  416. {
  417.         unsigned char i;

  418.         _nop_();
  419.         _nop_();
  420.         _nop_();
  421.         i = 52;
  422.         while (--i);
  423. }


  424. void Delay18ms()                //@22.1184MHz
  425. {
  426.         unsigned char i, j, k;

  427.         _nop_();
  428.         i = 2;
  429.         j = 132;
  430.         k = 67;
  431.         do
  432.         {
  433.                 do
  434.                 {
  435.                         while (--k);
  436.                 } while (--j);
  437.         } while (--i);
  438. }

  439. //========================================================================
  440. // 函數(shù):
  441. // 備注:
  442. //========================================================================

  443. void COM(void)
  444. {     
  445.         u8 i;
  446.   for(i=0;i<8;i++)          
  447.         {
  448.                 U8FLAG=2;       
  449.           while((!P20)&&U8FLAG++);
  450.                 Delay_10us();
  451.                 Delay_10us();
  452.           Delay_10us();
  453.           U8temp=0;
  454.           if(P20)U8temp=1;
  455.                 U8FLAG=2;
  456.           while((P20)&&U8FLAG++);
  457.                 //超時則跳出for循環(huán)                  
  458.           if(U8FLAG==1)break;
  459.           //判斷數(shù)據(jù)位是0還是1                  
  460.                 //如果高電平高過預(yù)定0高電平值則數(shù)據(jù)位為 1
  461.           U8comdata<<=1;
  462.           U8comdata|=U8temp;        //0
  463.         }//rofc
  464. }
  465. //========================================================================
  466. // 函數(shù):
  467. // 備注:
  468. //========================================================================
  469. void RH(void)
  470. {
  471.           //主機拉低18ms
  472.    P20=0;
  473.         Delay18ms();
  474.          P20=1;
  475.          //總線由上拉電阻拉高 主機延時20us
  476.          Delay_10us();
  477.          Delay_10us();
  478.          Delay_10us();
  479.          Delay_10us();
  480.          //主機設(shè)為輸入 判斷從機響應(yīng)信號
  481.          P20=1;
  482.          //判斷從機是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行          
  483.          if(!P20)                 //T !          
  484.          {
  485.            U8FLAG=2;
  486.            //判斷從機是否發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束         
  487.            while((!P20)&&U8FLAG++);
  488.            U8FLAG=2;
  489.            //判斷從機是否發(fā)出 80us 的高電平,如發(fā)出則進入數(shù)據(jù)接收狀態(tài)
  490.            while((P20)&&U8FLAG++);
  491.            //數(shù)據(jù)接收狀態(tài)                 
  492.            COM();
  493.            U8RH_data_H_temp=U8comdata;
  494.            COM();
  495.            U8RH_data_L_temp=U8comdata;
  496.            COM();
  497.            U8T_data_H_temp=U8comdata;
  498.            COM();
  499.            U8T_data_L_temp=U8comdata;
  500.            COM();
  501.            U8checkdata_temp=U8comdata;
  502.            P20=1;
  503.          //數(shù)據(jù)校驗
  504.          
  505.            U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
  506.            if(U8temp==U8checkdata_temp)
  507.            {
  508.                      U8RH_data_H=U8RH_data_H_temp;
  509.                      U8RH_data_L=U8RH_data_L_temp;
  510.                     U8T_data_H=U8T_data_H_temp;
  511.                      U8T_data_L=U8T_data_L_temp;
  512.                      U8checkdata=U8checkdata_temp;
  513.                          
  514.                          disbuf_h[0]=U8RH_data_H/10+0x30;
  515.                          disbuf_h[1]=U8RH_data_H%10+0x30;
  516.                          disbuf_t[0]=U8T_data_H/10+0x30;
  517.                          disbuf_t[1]=U8T_data_H%10+0x30;
  518.                          

  519.                          
  520.            }//fi
  521.         }//fi
  522. }
  523.        


  524. //========================================================================
  525. // 函數(shù):
  526. // 備注:  (u8 *puts)
  527. //========================================================================

  528. void Up_humidity()
  529. {
  530.         u8 i;
  531.   PrintString_Data(humidity_Data2);
  532.   for (i=0;i<2;i++)
  533.   {
  534.                 S2BUF=disbuf_h[i];
  535.                 B_TX2_Busy = 1;
  536.                 while(B_TX2_Busy);
  537.         }
  538. }

  539. //========================================================================
  540. // 函數(shù):
  541. // 備注:  (u8 *puts)
  542. //========================================================================
  543. void Up_temperature()
  544. {
  545.         u8 i;
  546.   PrintString_Data(temperature_Data1);
  547.   for (i=0;i<2;i++)
  548.   {
  549.                 S2BUF=disbuf_t[i];
  550.                 B_TX2_Busy = 1;
  551.                 while(B_TX2_Busy);
  552.         }
  553. }

  554. void Fire_Detection()
  555. {
  556. if(P21==0)
  557. {
  558.   Delay18ms();
  559.         Delay18ms();
  560.         Delay18ms();
  561.         if(P21==0)
  562.         {
  563.            PrintString2(Fire);
  564.         }
  565. }
  566. }
復(fù)制代碼

全部程序51hei下載地址:
C語言.zip (96.9 KB, 下載次數(shù): 7)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美aaaa视频 | 亚洲高清一区二区三区 | 日本a∨精品中文字幕在线 亚洲91视频 | 中文字幕亚洲精品在线观看 | 一区日韩 | 日本中文字幕一区 | 九九视频在线观看 | 欧美视频区 | 毛片在线免费 | 日韩毛片在线视频 | 在线观看视频91 | 免费午夜电影 | 国产欧美一区二区三区国产幕精品 | 夜久久 | 欧美1级 | 欧美精品一区二区三区在线 | 免费一区 | 在线免费观看成人 | 亚洲国产欧美一区二区三区久久 | 久久精品欧美一区二区三区不卡 | 日韩欧美不卡 | 成人h免费观看视频 | 国内精品久久久久久 | 高清av一区 | 日韩国产高清在线观看 | 黄色免费网站在线看 | 国产精品久久久久一区二区三区 | 亚洲永久免费 | 亚洲一区二区久久 | 亚洲高清视频在线 | 伦理午夜电影免费观看 | 嫩草视频网站 | 亚洲成人播放器 | 国产一区二区三区亚洲 | 久久亚洲一区二区 | 四季久久免费一区二区三区四区 | 国产精品欧美精品 | 人人干免费 | 在线播放国产一区二区三区 | 91麻豆精品国产91久久久久久久久 | 狠狠操电影 |