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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3050|回復: 4
打印 上一主題 下一主題
收起左側

藍牙app控制單片機程序 rgb 測溫 ad檢測 ld3320語音串口 人體檢測 紅外開關

[復制鏈接]
跳轉到指定樓層
樓主
使用stc15單片機最小系統在萬用板進行焊接   功能
1手機app控制(溫度查詢 報警  語音控制  調節亮度   查詢亮度)
2語音串口控制  可以進行播報語音數據 控制
3檢測人體   可以進行開關操作  或者手機振動  可以進行更改
4eerom保存溫度的上下限  
5使用串口連接433模塊進行組網


單片機源程序如下:
  1. #include "mode.h"   
  2. #include "config.h"
  3. #include "uart.h"
  4. #include "new.h"
  5. #include "pwm.h"
  6. #include "stdio.h"

  7. #include<string.h> //運算符函數

  8. extern xdata u8 uart1_shou[uatr];//串口1 接收的數據
  9. extern xdata u8 uart2_shou[uatr];
  10. extern xdata u8 uart3_shou[uatr];//串口1 接收的數據
  11. extern xdata u8 uart4_shou[uatr];
  12. extern int mode1;
  13. extern int mode2;
  14. extern int mode3;
  15. extern int mode4;
  16. extern unsigned char  ds_18b20num[];                //用來保存溫度
  17. extern unsigned char  ds_18b20H[];                //用來保存溫度
  18. extern unsigned char  ds_18b20L[];                //用來保存溫度
  19. extern unsigned char  ADC_nume[7];//光照強度 數組

  20. extern bit run_18b20;//是否啟動溫度報警  標志位默認開啟



  21. unsigned int rgb_r,rgb_g,rgb_b,reb_num;
  22. extern bit ET0_run;


  23. int run=1;//是否啟動語音識別標志位    默認開啟  可以在手機或者上位機軟件中關閉

  24. void delay_ms(uint ms)
  25. {
  26.    uint i;
  27.          do{
  28.             i = (uint)(MAIN_Fosc / 13000);
  29.                   while(--i)        ;   //14T per loop
  30.      }while(--ms);
  31. }

  32. /*******************************************************************************
  33. * 函數名 : UART_1
  34. * 描述   : 串口1 接收到數據進行動作
  35. * 輸入   :
  36. * 輸出   :
  37. * 返回   :
  38. * 注意   :
  39. *******************************************************************************/
  40. void UART_1()
  41. {
  42.         int ge,shi,bai;
  43.        
  44.         if(mode1!=0)//串口第一個字節不等于0  則表示有數據到來
  45.         {       
  46.                 ET0 = 0;//串口接收到數據    關閉定時器0的中斷  防止亂碼錯誤
  47.                 delay_ms(15);//延時一段時間  確定數據接收完成
  48.                
  49.                 if(uart1_shou[0]=='H')//設置溫度上限 上限數據
  50.                 {
  51.                                 strcpy(ds_18b20H,uart1_shou+1);//將輸入的數據  拷貝另外的數組中
  52.                                 IapEraseSector(IAP_ADDRESS);//刪除扇區數據  將數據全部寫為ff
  53.                                 delay_ms(15);//延時  確定刪除完成  防止出現錯誤
  54.                                 IapWrite_n(IAP_ADDRESS,ds_18b20H,5);//向eerom寫入數據
  55.                                 UART(1,"溫度上限 設置完成");//向窗口發送數據  表示設置完成
  56.                                 UART(1,ds_18b20H);//并將設置的數據發送到串口1
  57.                 }
  58.                 else        if(uart1_shou[0]=='L')//設置溫度上限 下限數據
  59.                 {
  60.                                 strcpy(ds_18b20L,uart1_shou+1);//與上面同理
  61.                                 IapEraseSector(IAP_ADDRESS1);//
  62.                                 delay_ms(15);
  63.                                 IapWrite_n(IAP_ADDRESS1,ds_18b20L,5);
  64.                                 UART(1,"溫度下限 設置完成");
  65.                                 UART(1,ds_18b20L);
  66.                 }               
  67.                 else        if(uart1_shou[0]=='R')
  68.                 {
  69.                         bai=uart1_shou[1]-0x30;
  70.                         shi=uart1_shou[2]-0x30;
  71.                         ge =uart1_shou[3]-0x30;
  72.                         rgb_r=(bai*100)+(shi*10)+ge;
  73.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  74.                         UART(1,"RGB顏色  紅色設置完成");
  75.                 }               
  76.                 else        if(uart1_shou[0]=='G')
  77.                 {
  78.                         bai=uart1_shou[1]-0x30;
  79.                         shi=uart1_shou[2]-0x30;
  80.                         ge =uart1_shou[3]-0x30;
  81.                         rgb_g=(bai*100)+(shi*10)+ge;
  82.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  83.                         UART(1,"RGB顏色  綠色設置完成");
  84.                 }               
  85.                 else        if(uart1_shou[0]=='B')
  86.                 {
  87.                         bai=uart1_shou[1]-0x30;
  88.                         shi=uart1_shou[2]-0x30;
  89.                         ge =uart1_shou[3]-0x30;
  90.                         rgb_b=(bai*100)+(shi*10)+ge;
  91.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  92.                         UART(1,"RGB顏色  藍色設置完成");
  93.                 }               
  94.                                 else        if(uart1_shou[0]=='M')
  95.                 {
  96.                         UART(2,"voice,");
  97.                         UART2_SendData(uart1_shou[1]);
  98.                         UART(2,",$");
  99.                        
  100.        
  101.                         UART(1,"語音模塊音量設置完成");
  102.                 }               
  103.                
  104.                
  105.                 if(Find(1,"打開呼吸燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  106.                 {
  107.                                 ET0_run= 1;//串口接收到數據    關閉定時器0的中斷  防止亂碼錯誤
  108.                           PWM_NUM(0,0,0);
  109.                                 UART(1,"呼吸燈已開啟");
  110.                 }
  111.                                 else if(Find(1,"關閉呼吸燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  112.                 {
  113.                         ET0_run = 0;//串口接收到數據    關閉定時器0的中斷  防止亂碼錯誤
  114.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  115.                         UART(1,"呼吸燈已關閉");
  116.                 }
  117.                 else if(Find(1,"獲取語音識別指令"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  118.                 {
  119.                         UART2_SendString("all$");
  120.                         delay_ms(1000);
  121.                         UART1_SendString(uart2_shou);
  122.                 }
  123.                 else if(Find(1,"打開燈光"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  124.                 {
  125.                         LED=0;
  126.                         UART(1,"燈光開啟");
  127.                 }
  128.                 else if(Find(1,"關閉燈光"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  129.                 {
  130.                         LED=1;
  131.                         UART(1,"燈光關閉");
  132.                 }
  133.                 else if(Find(1,"重啟語音模塊"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  134.                 {
  135.                                 UART_shouq(2,"reset$ ","重啟成功!",2000);
  136.                                 UART(1,"語音模塊重啟完成");
  137.                 }
  138.                 else if(Find(1,"打開指令觸發"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  139.                 {
  140.                                 UART_shouq(2,"PasswordTrigger,1,$","設置成功",2000);
  141.                                 UART(1,"已設置成指令觸發");
  142.                 }
  143.                 else if(Find(1,"關閉指令觸發"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  144.                 {
  145.                                 UART_shouq(2,"PasswordTrigger,0,$","設置成功",2000);
  146.                                 UART(1,"已取消指令觸發");
  147.                 }
  148.                 else if(Find(1,"溫度查詢"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  149.                 {                               
  150.                                 UART(1,ds_18b20num);
  151.                 }
  152.                                 else if(Find(1,"開啟溫度報警"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  153.                 {
  154.                                 run_18b20=1;
  155.                                 UART(1,"溫度報警已開啟");
  156.                 }
  157.                                 else if(Find(1,"關閉溫度報警"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  158.                 {
  159.                                 run_18b20=0;
  160.                                 UART(1,"溫度報警已關閉");
  161.                 }
  162.                 else if(Find(1,"查詢溫度上限"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  163.                 {                UART(1,"溫度上限為");
  164.                                 UART(1,ds_18b20H);
  165.                 }
  166.                 else if(Find(1,"查詢溫度下限"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  167.                 {
  168.                                                 UART(1,"溫度下限為");
  169.                                                 UART(1,ds_18b20L);
  170.                 }
  171.                 else if(Find(1,"關閉語音識別"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  172.                 {
  173.                                 run=0;
  174.                                 UART(1,"已關閉語音識別");
  175.                 }
  176.                 else if(Find(1,"打開語音識別"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  177.                 {
  178.                                 run=1;
  179.                                 UART(1,"已打開語音識別");
  180.                 }
  181.                 else if(Find(1,"查詢光照強度"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  182.                 {
  183.                                 run=1;
  184.                                 UART(1,"A");
  185.                                 UART(1,ADC_nume);
  186.                 }
  187.                 else if(Find(1,"打開紅燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  188.                 {
  189.                                 pwm3(100);
  190.                                 UART(1,"紅燈已打開");
  191.                 }
  192.                 else if(Find(1,"打開綠燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  193.                 {
  194.                                 pwm4(100);
  195.                                 UART(1,"綠燈已打開");
  196.                 }
  197.                 else if(Find(1,"打開藍燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  198.                 {
  199.                                 pwm5(100);
  200.                                 UART(1,"藍燈已打開");
  201.                 }
  202.                
  203.                 else if(Find(1,"關閉紅燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  204.                 {
  205.                                 pwm3(0);
  206.                                 UART(1,"紅燈已關閉");
  207.                 }
  208.                 else if(Find(1,"關閉綠燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  209.                 {
  210.                                 pwm4(0);
  211.                                 UART(1,"綠燈已關閉");
  212.                 }
  213.                 else if(Find(1,"關閉藍燈"))//串口第一個字節不等于0  則表示有數據到來)//串口第一個字節不等于0  則表示有數據到來
  214.                 {
  215.                                 pwm5(0);
  216.                                 UART(1,"藍燈已關閉");
  217.                 }
  218.                         ET0 = ET0_run;           
  219.                         CLR_Buf1(1);//操作完成  清除數組中的數據  
  220.         }
  221. }
  222. /*******************************************************************************
  223. * 函數名 : UART_2()
  224. * 描述   : 串口2接收到數據進行動作
  225. * 輸入   :
  226. * 輸出   :
  227. * 返回   :
  228. * 注意   :
  229. *******************************************************************************/

  230. void UART_2()
  231. {
  232.        
  233.         if(mode2!=0&&run==1)//串口第一個字節不等于0  則表示有數據到來
  234.         {                ET0 = 0;           
  235.                 delay_ms(15);
  236.                 if(uart2_shou[0]==101)//開燈
  237.                 {
  238.                         LED=0;               
  239.                         UART(2,"play,051,$");//播放音樂  表示開關燈完成
  240.                 } else if(uart2_shou[0]==102)//關燈
  241.                 {
  242.                         LED=1;
  243.                   UART(2,"play,052,$");//播放音樂  表示開關燈完成
  244.                 }
  245.                 else if(uart2_shou[0]==103)//查詢關鍵詞
  246.                 {
  247.                         UART_shouq(2,"PasswordTrigger,1,$","設置成功",2000);
  248.                   UART(2,"play,053,$");//播放音樂  表示開關燈完成
  249.                 }
  250.                 else if(uart2_shou[0]==104)//允許指令觸發  、
  251.                 {
  252.                         UART_shouq(2,"PasswordTrigger,0,$","設置成功",2000);                               
  253.                   UART(2,"play,054,$");//播放音樂  表示開關燈完成
  254.                 }
  255.                 else if(uart2_shou[0]==105)//打開紅色
  256.                 {
  257.                         ET0_run=0;
  258.                         rgb_r=100;
  259.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  260.                                      UART(2,"play,055,$");//播放音樂  表示開關燈完成
  261.                 }
  262.                 else if(uart2_shou[0]==106)//打開綠色
  263.                 {
  264.                         ET0_run=0;
  265.                         rgb_g=100;
  266.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  267.                   UART(2,"play,056,$");//播放音樂  表示開關燈完成
  268.                 }
  269.                 else if(uart2_shou[0]==107)//打開藍色
  270.                 {
  271.                         ET0_run=0;
  272.                         rgb_b=100;
  273.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  274.                           UART(2,"play,057,$");//播放音樂  表示開關燈完成
  275.                 }
  276.                 else if(uart2_shou[0]==108)//關閉紅色
  277.                 {
  278.                         ET0_run=0;
  279.                         rgb_r=0;
  280.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  281.                           UART(2,"play,058,$");//播放音樂  表示開關燈完成
  282.                 }
  283.                 else if(uart2_shou[0]==109)//關閉綠色
  284.                 {
  285.                         ET0_run=0;
  286.                         rgb_g=0;
  287.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  288.                   UART(2,"play,059,$");//播放音樂  表示開關燈完成
  289.                 }
  290.                 else if(uart2_shou[0]==110)//關閉藍色
  291.                 {
  292.                         ET0_run=0;
  293.                         rgb_b=0;
  294.                         PWM_NUM(rgb_r,rgb_g,rgb_b);
  295.                         UART(2,"play,060,$");//播放音樂  表示開關燈完成
  296.                 }
  297.                 else if(uart2_shou[0]==111)//打開呼吸燈
  298.                 {
  299.                         ET0_run=1;
  300.                   UART(2,"play,061,$");//播放音樂  表示開關燈完成
  301.                 }
  302.                 else if(uart2_shou[0]==112)//關閉呼吸燈
  303.                 {
  304.                   ET0_run=0;
  305.                   UART(2,"play,062,$");//播放音樂  表示開關燈完成
  306.                 }
  307.                 else if(uart2_shou[0]==113)//打開溫度報警
  308.                 {
  309.                         run_18b20=1;
  310.                          UART(2,"play,063,$");//播放音樂  表示開關燈完成
  311.                 }

  312.                 else if(uart2_shou[0]==114)//關閉溫度報警
  313.                 {       
  314.                         run_18b20=0;
  315.                   UART(2,"play,064,$");//播放音樂  表示開關燈完成
  316.                 }
  317.                 else if(uart2_shou[0]==115)//查詢溫度數據上限
  318.                 {
  319.                          MOR_DS18B20(2,1);          
  320.                 }
  321.                 else if(uart2_shou[0]==116)//查詢溫度下限
  322.                 {
  323.                          MOR_DS18B20(1,1);
  324.                   
  325.                 }
  326.                 else if(uart2_shou[0]==117)//查詢溫度數據
  327.                 {
  328.                         MOR_DS18B20(0,1);
  329.                 }
  330.                         ET0 = ET0_run;            
  331.                         CLR_Buf1(2);//操作完成  清除數組中的數據  
  332.         }
  333. }

  334. /*******************************************************************************
  335. * 函數名 : UART_3
  336. * 描述   : 串口3 接收到數據進行動作
  337. * 輸入   :
  338. * 輸出   :
  339. * 返回   :
  340. * 注意   :
  341. *******************************************************************************/

  342. void UART_3()
  343. {
  344.         if(mode3!=0)//串口第一個字節不等于0  則表示有數據到來
  345.         {       
  346.                 delay_ms(15);
  347.           UART(3,uart3_shou);
  348.                 UART3_SendString("ok");
  349.        
  350.                 CLR_Buf1(3);//操作完成  清除數組中的數據  
  351.         }
  352. }
  353. /*******************************************************************************
  354. * 函數名 : Find
  355. * 描述   : 串口2接收到數據進行動作
  356. * 輸入   :
  357. * 輸出   :
  358. * 返回   :
  359. * 注意   :
  360. *******************************************************************************/

  361. void UART_4()
  362. {
  363.         if(mode4!=0)//串口第一個字節不等于0  則表示有數據到來
  364.         {       
  365.                 delay_ms(15);
  366.                 UART(4,uart4_shou);
  367.                 UART4_SendString("ok");
  368.        
  369.                 CLR_Buf1(4);//操作完成  清除數組中的數據  
  370.         }
  371. }



  372. void MOR_DS18B20(uint a,bit run)
  373. {
  374. unsigned char MODE_DS18B20[10];//240為  “當前溫度為”
  375. while(run)
  376. {
  377. if(a==0)
  378. {
  379.         strcpy(MODE_DS18B20,"play,067,$");        //查詢溫度
  380. }else if(a==1)
  381. {
  382.         strcpy(MODE_DS18B20,"play,066,$");        //溫度下限
  383. }else if(a==2)
  384. {
  385.         strcpy(MODE_DS18B20,"play,065,$");        //溫度上限
  386. }


  387. UART(2,MODE_DS18B20);//當播報聲音
  388. delay_ms(2000);//延時防止語音沖突
  389. strcpy(MODE_DS18B20,"play,000,$");       
  390. if(a==0)
  391. {
  392. if(ds_18b20num[1]!=0)//溫度在兩位數
  393. {
  394.                         MODE_DS18B20[7]=ds_18b20num[1];//播報溫度  十位
  395.                         UART(2,MODE_DS18B20);
  396.                         delay_ms(800);        //延時
  397.                         UART(2,"play,010,$");//十
  398.                         delay_ms(800);        //延時
  399.                         MODE_DS18B20[7]=ds_18b20num[2];//播報溫度 個位
  400.                         UART(2,MODE_DS18B20);
  401.                         delay_ms(800);       
  402.                         UART(2,"play,068,$");//度
  403.                         }
  404.                         else//溫度在一位數
  405.                         {
  406.                         MODE_DS18B20[7]=ds_18b20num[2];
  407.                         UART(2,MODE_DS18B20);//當前溫度為
  408.                         delay_ms(1000);       
  409.                         UART(2,"play,068,$");//度
  410.                         }
  411. }else if (a==1)
  412. {
  413. if(ds_18b20L[1]!=0)//溫度在兩位數
  414. {
  415.                         MODE_DS18B20[7]=ds_18b20L[1];//播報溫度  十位
  416.                         UART(2,MODE_DS18B20);
  417.                         delay_ms(800);        //延時
  418.                         UART(2,"play,010,$");//十
  419.                         delay_ms(800);        //延時
  420.                         MODE_DS18B20[7]=ds_18b20L[2];//播報溫度 個位
  421.                         UART(2,MODE_DS18B20);
  422.                         delay_ms(800);       
  423.                         UART(2,"play,068,$");//度
  424.                         }
  425.                         else//溫度在一位數
  426.                         {
  427.                         MODE_DS18B20[7]=ds_18b20L[2];
  428.                         UART(2,MODE_DS18B20);//當前溫度為
  429.                         delay_ms(1000);       
  430.                         UART(2,"play,068,$");//度
  431.                         }
  432. }else if (a==2)
  433. {
  434. if(ds_18b20H[1]!=0)//溫度在兩位數
  435. {
  436.                         MODE_DS18B20[7]=ds_18b20H[1];//播報溫度  十位
  437.                         UART(2,MODE_DS18B20);
  438.                         delay_ms(800);        //延時
  439.                         UART(2,"play,010,$");//十
  440.                         delay_ms(800);        //延時
  441.                         MODE_DS18B20[7]=ds_18b20H[2];//播報溫度 個位
  442.                         UART(2,MODE_DS18B20);
  443.                         delay_ms(800);       
  444.                         UART(2,"play,068,$");//度
  445.                         }
  446.                         else//溫度在一位數
  447.                         {
  448.                         MODE_DS18B20[7]=ds_18b20H[2];
  449.                         UART(2,MODE_DS18B20);//當前溫度為
  450.                         delay_ms(1000);       
  451.                         UART(2,"play,068,$");//度
  452.                         }
  453. }
  454. run=0;
  455. }
  456. }
  457. /*******************************************************************************
  458. * 函數名 : Find
  459. * 描述   : 判斷緩存中是否含有指定的字符串
  460. * 輸入   :
  461. * 輸出   :
  462. * 返回   : unsigned char:1 找到指定字符,0 未找到指定字符
  463. * 注意   :
  464. *******************************************************************************/
  465. bit Find(int q,u8 *a)
  466. {
  467.         if(q==1)
  468.         {
  469.           if(strstr(uart1_shou,a)!=NULL)
  470.             return 1;
  471.                         else
  472.                         return 0;
  473.         }
  474.         else if(q==1)
  475.         {          
  476.         if(strstr(uart2_shou,a)!=NULL)
  477.             return 1;
  478.                         else
  479.                         return 0;
  480.         }
  481.                 else if(q==3)
  482.         {          
  483.         if(strstr(uart3_shou,a)!=NULL)
  484.             return 1;
  485.                         else
  486.                         return 0;
  487.         }
  488.         else if(q==4)
  489.         {          
  490.                 if(strstr(uart4_shou,a)!=NULL)
  491.             return 1;
  492.                         else
  493.                         return 0;
  494.         }return 0;
  495. }
  496. //清除串口緩存數據
  497. void CLR_Buf1(int a)
  498. {
  499.         int k;
  500. if(a==1)
  501.         {
  502.                 for(k=0;k<uatr;k++)      //將緩存內容清零
  503.                 {
  504.                         uart1_shou[k] = 0x00;
  505.                         mode1=0;
  506.                 }
  507.         }
  508.         else        if(a==2)
  509.         {
  510.                         for(k=0;k<uatr;k++)      //將緩存內容清零
  511.                 {
  512.                         uart2_shou[k] = 0x00;
  513.                         mode2=0;
  514.                 }
  515.         }        if(a==3)
  516.         {
  517.                 for(k=0;k<uatr;k++)      //將緩存內容清零
  518.                 {
  519.                         uart3_shou[k] = 0x00;
  520.                         mode3=0;
  521.                 }
  522.         }
  523.         else        if(a==4)
  524.         {
  525.                         for(k=0;k<uatr;k++)      //將緩存內容清零
  526.                 {
  527.                         uart4_shou[k] = 0x00;
  528.                         mode4=0;
  529.                 }
  530.         }   
  531. }
復制代碼

所有資料51hei提供下載:
斷電保存版本程序.rar (296.85 KB, 下載次數: 36)
APP.rar (6.33 MB, 下載次數: 50)


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

使用道具 舉報

沙發
ID:253767 發表于 2019-9-11 07:14 | 只看該作者
謝謝分享!!!
回復

使用道具 舉報

板凳
ID:65956 發表于 2019-9-12 08:42 | 只看該作者
下載學習了,謝謝分享
回復

使用道具 舉報

地板
ID:472844 發表于 2019-9-29 17:18 | 只看該作者
沒有電路圖嗎?
回復

使用道具 舉報

5#
ID:618904 發表于 2019-10-3 00:07 | 只看該作者
好人呀!萬分感激&#128591;!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久免费 | 久久久久久国产精品免费免费狐狸 | 七七婷婷婷婷精品国产 | 欧美视频免费在线观看 | 亚洲手机视频在线 | 日韩精品免费 | 欧美三区在线观看 | 国产日韩精品一区二区三区 | 午夜久久久久久久久久一区二区 | 国产在线中文字幕 | 伊人无码高清 | 欧美激情一区二区三区 | 99精品视频一区二区三区 | 男女午夜免费视频 | 欧美人妖网站 | 欧美午夜视频 | 成人字幕网zmw | 成人片免费看 | h小视频 | 伊人久久综合 | 男女性毛片 | 亚洲一区二区在线视频 | 精品日韩一区 | 国产精品伦一区二区三级视频 | 日本不卡免费新一二三区 | www.国产精品 | 91精品国产综合久久婷婷香蕉 | 黄色成人免费在线观看 | 欧美一区二区精品 | hdfreexxxx中国妞| 不卡一区二区三区四区 | 欧美精品被 | 国产在线高清 | 成人片免费看 | 日韩性在线 | 国产乱码精品一区二区三区忘忧草 | 国产精品久久亚洲 | 欧美成人黄色小说 | 欧洲妇女成人淫片aaa视频 | 国产精品免费一区二区三区四区 | 日韩在线免费视频 |