找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

433和315無(wú)線模塊的軟件編解碼遙控程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:144396 發(fā)表于 2016-10-25 19:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
pic單片機(jī)的軟件編碼解碼程序:
  1. /******************************************************************************/
  2. /****************************** 遙控器接收程序 ********************************/
  3. /******************************************************************************/
  4. #include <pic.h>
  5. #include <pic1687x.h>
  6. #define remote_geshu 10
  7. /******************************************************************************/
  8. union BIT_16
  9. {
  10.   int TIMER1_REG;
  11.   unsigned char REG[2];
  12. }
  13. union BIT_32
  14. {
  15.   unsigned long data_temp_long;
  16.   unsigned char data_temp_byte[4];
  17.   }
  18. /******************************************************************************/
  19. static union BIT_16 TIMER1_TEMP;//16位定時(shí)器1
  20. static union BIT_32 data_temp;
  21. /******************************************************************************/
  22. static volatile unsigned char rec_status @ 97;
  23. static unsigned char data_cout;//接收的遙控器碼位數(shù)
  24. static unsigned char data;//接收的4位數(shù)據(jù)
  25. static unsigned int h_pulse;//高電平寬度
  26. static unsigned int l_pulse;//低電平寬度
  27. static unsigned char remote_cout;//遙控器數(shù)量
  28. static unsigned char remote_numb;//遙控器編號(hào)
  29. /******************************************************************************/
  30. static unsigned char TIMER15S1;//清除學(xué)習(xí)碼按鍵長(zhǎng)按時(shí)間
  31. static unsigned char TIMER15S2;//學(xué)習(xí)等待時(shí)間
  32. static unsigned char TIMER15S3;//遙控器數(shù)據(jù)緩沖時(shí)間
  33. static unsigned char TIMER15S4;//LED顯示時(shí)間
  34. static unsigned char TIMER15S5;//
  35. static unsigned char TIMER15S6;//
  36. static unsigned char TIMER15S7;//
  37. static unsigned char TIMER15S8;//
  38. /******************************************************************************/
  39. static bit head @ ((unsigned)(&rec_status)*8+(0));//同步頭標(biāo)志位
  40. static bit learn @ ((unsigned)(&rec_status)*8+(1));//學(xué)習(xí)標(biāo)志位
  41. static bit recieved @((unsigned)(&rec_status)*8+(2));//接收完成標(biāo)志位
  42. static bit remote_button_status @((unsigned)(&rec_status)*8+(3));//遙控器按鍵標(biāo)志位
  43. static bit first_click_status @((unsigned)(&rec_status)*8+(4));//遙控器按鍵單擊標(biāo)志位
  44. /******************************************************************************/
  45. /********************************** 數(shù)據(jù)接收 **********************************/
  46. /******************************************************************************/
  47. unsigned char data_read(void)
  48. {
  49.   if(h_pulse>l_pulse)
  50.    {
  51.     if((l_pulse>200)&&(l_pulse<1000))
  52.      {
  53.       if(h_pulse<(l_pulse<<2)) return 1;//數(shù)據(jù)為1
  54.      }
  55.     return 2;//無(wú)效的數(shù)據(jù)
  56.    }
  57.   else if(h_pulse<l_pulse)
  58.    {
  59.     if((h_pulse>200)&&(h_pulse<1000))
  60.      {
  61.       if(l_pulse<(h_pulse<<2)) return 0;//數(shù)據(jù)為0
  62.      }
  63.     return 2;//無(wú)效的數(shù)據(jù)
  64.    }
  65. }
  66. /******************************************************************************/
  67. void clr_head(void)//清除寄存器
  68. {
  69.   data_cout=0;
  70.   head=0;
  71. }
  72. /******************************************************************************/
  73. #pragma interrupt_level 1
  74. void check_data(void)//檢測(cè)數(shù)據(jù)是否正確
  75. {
  76.   if(head)
  77.    {
  78.     switch (data_read())
  79.      {
  80.       case 0:(data_temp.data_temp_long)<<=1;;data_cout++;break;
  81.       case 1:(data_temp.data_temp_long)<<=1;(data_temp.data_temp_long)++;;data_cout++;break;               

  82. default:clr_head();break;
  83.      }
  84.     if(data_cout>23)
  85.      {
  86.       INTE=0;
  87.       recieved=1;
  88.       clr_head();//
  89.      }
  90.    }
  91. }
  92. /******************************************************************************/
  93. #pragma interrupt_level 1
  94. void check_head(void)
  95. {
  96.   if((!head)&&(!recieved))//
  97.    {
  98.     if ((h_pulse>300)&&(h_pulse<1000))
  99.      {
  100.       if((l_pulse>h_pulse*27)&&(l_pulse<h_pulse*35))       {
  101.         head=1;
  102.       }
  103.      }
  104.    }
  105. }   //end******************>>
  106. /******************************************************************************/
  107. #pragma interrupt_level 1
  108. void interrupt level_h_l(void)
  109. {
  110. /* if(RAIF)//如果是電平中斷
  111.    {        PORTA=PORTA;
  112.     RAIF=0;//
  113.     TIMER1_TEMP.REG[0]=TMR1L;
  114.     TIMER1_TEMP.REG[1]=TMR1H;        TMR1H=0;
  115.     TMR1L=0;
  116.     if(RA4)//如果是低電平中斷
  117.      {            l_pulse=TIMER1_TEMP.TIMER1_REG;
  118.       check_data();
  119.       check_head();
  120.      }
  121.     else//如果是高電平中斷
  122.      {
  123.       h_pulse=TIMER1_TEMP.TIMER1_REG;
  124.      }   
  125.    }*/
  126.   if(INTF)
  127.    {
  128.     INTF=0;
  129.     TIMER1_TEMP.REG[0]=TMR1L;
  130.     TIMER1_TEMP.REG[1]=TMR1H;
  131.     TMR1H=0;
  132.     TMR1L=0;
  133.     if(INTEDG)//低電平寬度
  134.          {
  135.       INTEDG=0;
  136.       l_pulse=TIMER1_TEMP.TIMER1_REG;
  137.       check_data();
  138.             check_head();
  139.      }
  140.     else
  141.      {
  142.       INTEDG=1;
  143.       h_pulse=TIMER1_TEMP.TIMER1_REG;          }
  144.    }
  145.   if(T0IF)//
  146.    {
  147.     T0IF=0;
  148.     TIMER15S1++;
  149.     TIMER15S2++;
  150.     TIMER15S3++;        TIMER15S4++;
  151.     TIMER15S5++;
  152.     TIMER15S6++;
  153.     TIMER15S7++;
  154.     TIMER15S8++;
  155.    } }
  156. /******************************************************************************/
  157. /********************************* 遙控器學(xué)習(xí)**********************************/
  158. /******************************************************************************/
  159. void clr_learn_reg(void)
  160. {
  161.   unsigned char n;
  162.   di();
  163.   for (n=1;n==remote_cout*4;n++)
  164.    {
  165.     eeprom_write(n,0);
  166.    }
  167.   eeprom_write(70,0);    eeprom_write(71,0);
  168.   ei(); }
  169. /******************************************************************************/
  170. unsigned char compare_data(unsigned char eep_addr)
  171. {
  172.   unsigned char n;
  173.   union BIT_32 addr_data;      for(n=0;n<4;n++)
  174.    {
  175.     addr_data.data_temp_byte[n]=eeprom_read(eep_addr+n);
  176.    }       if((data_temp.data_temp_long&0x00fffff0)==(addr_data.data_temp_long&0x00fffff0))          {
  177.        return 1;//地址匹配返回1
  178.      }
  179.        return 0;//地址不匹配返回0  }
  180. /******************************************************************************/
  181. unsigned char compare_all_data(void)
  182. {
  183.   unsigned char n;
  184.   for (n=0;n<remote_cout;n++)//在已經(jīng)學(xué)習(xí)好的遙控器地址里比較有沒有相同的
  185.    {
  186.     if (compare_data(n*4+1))//如果有相同的遙控器          {
  187.       return 1;
  188.      }
  189.    }
  190.       return 0;//沒有一個(gè)地址是相同的  }
  191. /******************************************************************************/
  192. //讀遙控器的數(shù)量
  193. void read_remote_cout(void)
  194.   {
  195.     remote_cout=eeprom_read(71);//讀出已經(jīng)學(xué)習(xí)的遙控器總數(shù)量
  196.     if(remote_cout>20)remote_cout=0; //如果EEPROM是空的則為0    }
  197. /******************************************************************************/
  198. void check_learn_pro(void)
  199. {
  200.   unsigned char n;
  201.   if(learn)
  202.    {
  203.     learn=0;        remote_numb=eeprom_read(70);//讀出現(xiàn)在可以覆蓋掉哪個(gè)遙控器的編號(hào)              

  204. read_remote_cout();////讀遙控器的數(shù)量
  205.     if(remote_numb>(remote_geshu-1))remote_numb=0;//如果遙控器的編號(hào)已經(jīng)是最大的了 則從小開始
  206.     if((remote_cout==0)||!compare_all_data())//如果還沒有遙控器學(xué)習(xí)或沒有相同地址的遙控器學(xué)習(xí)
  207.      {
  208.       di();            for(n=0;n<4;n++)
  209.        {
  210.         eeprom_write (remote_numb*4+n+1,data_temp.data_temp_byte[n]);
  211.        }                     remote_numb++;
  212.       if(remote_cout<remote_geshu+1)remote_cout++;//已經(jīng)學(xué)習(xí)好的遙控器數(shù)量
  213.       eeprom_write(71,remote_cout);//保存已經(jīng)學(xué)習(xí)好的遙控器總數(shù)量              eeprom_write

  214. (70,remote_numb);//保存已學(xué)習(xí)的遙控起編號(hào)
  215.       ei();               }
  216.    } }
  217. /******************************************************************************/
  218. void check_out_pro(void)
  219. {
  220.   read_remote_cout();//讀遙控器的數(shù)量
  221.   if(compare_all_data())
  222.    {        data=data_temp.data_temp_byte[0]&0x0f;//
  223.     TIMER15S3=0;
  224.     TIMER15S4=0;
  225.     RC4=1;
  226.    }  }
  227. /******************************************************************************/
  228. void decode_init(void)//接收初始化
  229. {
  230.   OPTION=0x87;
  231.   RBPU=0;
  232.   TMR0=0;
  233.   T0IE=1;//使能定時(shí)器0中斷   INTE=1;
  234.   TMR1ON=1;//
  235.   PORTC=0x00;//
  236.   TRISC=0x00;//
  237.   ei();//開放全局中斷  }
  238. /******************************************************************************/
  239. void check_remote_recieved(void)//檢測(cè)有無(wú)新的數(shù)據(jù)
  240. {
  241.   if(!RB1)//
  242.    {
  243.     if(TIMER15S1>30)//是否長(zhǎng)按了3秒
  244.      {
  245.       learn=0;//
  246.       clr_learn_reg();
  247.       RC4=0;
  248.      }
  249.     else
  250.      {           learn=1;//
  251.       TIMER15S2=0;
  252.       TIMER15S4=0;
  253.       RC4=1;
  254.      }
  255.    }
  256.   else
  257.    {        TIMER15S1=0;
  258.     if(TIMER15S2>60)
  259.      {
  260.       learn=0;//
  261.      }
  262.    }
  263.   if(TIMER15S3>2)//數(shù)據(jù)保持時(shí)間
  264.    {
  265.     data=0;        TIMER15S3=0;
  266.    }
  267.   if(TIMER15S4>3)//LED顯示時(shí)間
  268.    {
  269.     RC4=0;
  270.    }
  271.   if(recieved)
  272.    {
  273.     TIMER15S3=0;
  274.     recieved=0;
  275.     TIMER15S4=0;
  276.     RC4=1;
  277.     check_learn_pro();        check_out_pro();  
  278.    }
  279.   INTE=1; }
  280. /******************************************************************************/
  281. /********************************* 控制部分程序 *******************************/
  282. /******************************************************************************/
  283. void control_init(void)
  284. {
  285.       ; }
  286. /******************************************************************************//*********

  287. ************************聲音部分程序*********************************/
  288. /******************************************************************************/
  289. /******************************************************************************/
  290. unsigned char delay(unsigned int nus)
  291. {
  292.   for(;nus>0;nus--)
  293.    {
  294.     if (recieved==1) return 0;
  295.     asm("nop");   } }
  296. /******************************************************************************/
  297. unsigned char soud_one_fre(unsigned int cout,unsigned int delay_time)//發(fā)音程序
  298. {
  299.   if(recieved==1)   return 0;
  300.   INTE=0;
  301.   for (;cout>0;cout--)
  302.    {
  303.     RC6=!RC6;
  304.     delay(delay_time);
  305.    }   RC6=0;
  306.   INTE=1; }
  307. /******************************************************************************/
  308. /*********************************急促的聲音***********************************/
  309. /******************************************************************************/
  310. unsigned char soud_one_fre0(unsigned int time,unsigned int delay_time)
  311. {
  312.   for (;time>0;time--)
  313.    {
  314.     if(recieved==1) return 0;
  315.     soud_one_fre (1000,10);
  316.     delay(delay_time);
  317.    } }
  318. /******************************************************************************/
  319. /*********************************救護(hù)的聲音***********************************/
  320. /******************************************************************************/
  321. unsigned char soud_tow_fre0(unsigned int time)//
  322. {
  323.   for (;time>0;time--)
  324.    {
  325.     if(recieved==1) return 0;
  326.     soud_one_fre(900,10);        soud_one_fre(800,30);
  327.    }  }
  328. /******************************************************************************//*********

  329. ***************************低-高音***********************************/
  330. /******************************************************************************/
  331. unsigned char soud_many_fre0(unsigned int time,unsigned int cout)
  332. {
  333.   for (;time>0;time--)
  334.    {
  335.     unsigned int delay_time;
  336.     for(delay_time=50;delay_time>10;delay_time--)
  337.      {
  338.       if(recieved==1) return 0;            soud_one_fre(cout,delay_time);
  339.      }
  340.    }  }
  341. /******************************************************************************/
  342. /************************************低-高音1**********************************/
  343. /******************************************************************************/
  344. unsigned char soud_many_fre2(unsigned int time,unsigned int cout)
  345. {
  346.   for (;time>0;time--)
  347.    {
  348.     unsigned int delay_time;
  349.     for(delay_time=30;delay_time>20;delay_time--)
  350.      {
  351.       if(recieved==1) return 0;
  352.       soud_one_fre(cout,delay_time);
  353.      }
  354.    }  }
  355. /******************************************************************************/
  356. /**********************************高—低音************************************/
  357. /******************************************************************************/
  358. unsigned char soud_many_fre1(unsigned int time,unsigned int cout)
  359. {  for (;time>0;time--)
  360.    {
  361.     unsigned int delay_time;
  362.     for (delay_time=10;delay_time<50;delay_time++)
  363.      {
  364.       if(recieved==1) return 0;
  365.       soud_one_fre(cout,delay_time);
  366.      }
  367.    }  }
  368. /******************************************************************************/
  369. /**********************************高—低音1***********************************/
  370. /******************************************************************************/
  371. unsigned char soud_many_fre3(unsigned int time,unsigned int cout)
  372. {
  373.   for (;time>0;time--)
  374.    {
  375.     unsigned int delay_time;
  376.     for(delay_time=20;delay_time<30;delay_time++)
  377.      {
  378.       if(recieved==1) return 0;
  379.       soud_one_fre(cout,delay_time);
  380.      }
  381.    }  }
  382. /******************************************************************************/
  383. /**********************************汽車報(bào)警聲**********************************/
  384. /******************************************************************************/
  385. unsigned char soud_low_high_low(unsigned int cout)
  386. {
  387.   for (;cout>0;cout--)
  388.    {
  389.     if(recieved==1) return 0;
  390.     soud_many_fre0(1,10);
  391.     soud_many_fre2(1,10);
  392.    }  }
  393. /******************************************************************************/
  394. unsigned char remote_check(void)//遙控器按鍵檢測(cè)
  395. {
  396.   if(data)//
  397.    {
  398.     if(remote_button_status)        {
  399.        return 0;
  400.       }
  401.     else
  402.       {                remote_button_status=1;
  403.        return data;//遙控器數(shù)據(jù)有效
  404.       }
  405.    }
  406.   else
  407.      {         remote_button_status=0;
  408.       return 0;
  409.      }  }
  410. /******************************************************************************/
  411. void check_remote_command(void)
  412. {
  413.   if(TIMER15S5>10)
  414.    {
  415.     first_click_status=0;//
  416.    }
  417.   switch (remote_check())
  418.    {
  419.     case 0x01:
  420.      {            RC0=!RC0;     //
  421.       soud_one_fre0(1,6000);
  422.       soud_tow_fre0(5);
  423.       delay(10000);
  424.         soud_many_fre0(5,40);
  425.       delay(10000);
  426.       soud_many_fre2(10,100);
  427.       delay(10000);        soud_many_fre1(5,40);
  428.       delay(10000);
  429.       soud_many_fre3(10,150);
  430.       delay(10000);
  431.       soud_low_high_low(5);
  432.       delay(10000);
  433.       soud_one_fre0(2,10000);            break;
  434.      }
  435.     case 0x02:RC1=!RC1;break;
  436.     case 0x04:RC2=!RC2;break;
  437.     case 0x08:
  438.      {
  439.       if(first_click_status==1)
  440.        {
  441.         RC3=!RC3;
  442.         first_click_status=0;//          break;
  443.        }
  444.       else
  445.        {
  446.         first_click_status=1;
  447.         TIMER15S5=0;           break;
  448.        }
  449.      }
  450.    default:break;
  451.    }
  452.   }
  453. /******************************************************************************/
  454. void control_pro(void)
  455. {
  456.   check_remote_command();
  457. }
復(fù)制代碼

以上代碼下載: 433和315無(wú)線模塊的軟件編解碼遙控程序.zip (9.97 KB, 下載次數(shù): 1304)

評(píng)分

參與人數(shù) 2黑幣 +10 收起 理由
藍(lán)色海陽(yáng) + 5 贊一個(gè)!
qq792500412 + 5 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏39 分享淘帖 頂7 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 2#
ID:34298 發(fā)表于 2017-12-2 21:35 | 只看該作者
我下載看到的程序說明:433和315無(wú)線模塊的軟件編解碼遙控程序
1:?jiǎn)纹瑱C(jī)軟件解碼PT2240
2:選用PIC16F877A作為軟件解碼芯片
3:?jiǎn)纹瑱C(jī)時(shí)鐘頻率選用外部4MHZ晶振
4:選用外部中斷腳作為編碼信號(hào)腳輸入腳
5:可解PT2240芯片(8腳的學(xué)習(xí)型編碼芯片 編碼地址位:2的20次方 重復(fù)幾率100萬(wàn)分之一)
6:功能有:遙控器學(xué)習(xí)(DEMO上的S9作為學(xué)習(xí)按紐) 清除記憶(長(zhǎng)按DEMO上的S9即可清除遙控器

地址的記憶)
7:學(xué)習(xí)遙控器數(shù)量可以設(shè)定(可根據(jù)EEPROM的大小 隨便設(shè)定)
8:輸出功能(有三路是 單擊遙控器雙穩(wěn),可以通過PORTC上的LED可以看到結(jié)果.還有一路是 雙擊遙控器雙穩(wěn))
9:可選用315MHZ/433MHZ的超再生/超外差接收模塊
回復(fù)

使用道具 舉報(bào)

板凳
ID:117846 發(fā)表于 2017-2-4 19:48 | 只看該作者
多謝,正想要這個(gè)。。。
回復(fù)

使用道具 舉報(bào)

地板
ID:47634 發(fā)表于 2017-2-5 22:09 | 只看該作者
很好很好,正在找這個(gè)資料
回復(fù)

使用道具 舉報(bào)

5#
ID:163070 發(fā)表于 2017-2-7 15:47 來(lái)自手機(jī) | 只看該作者
這個(gè)真需要,呵呵
回復(fù)

使用道具 舉報(bào)

6#
ID:130231 發(fā)表于 2017-3-30 15:21 | 只看該作者
實(shí)用,好資料!感謝你的分享
回復(fù)

使用道具 舉報(bào)

7#
ID:159139 發(fā)表于 2017-6-24 11:07 來(lái)自手機(jī) | 只看該作者
謝謝,正想研究一下這方面。
回復(fù)

使用道具 舉報(bào)

8#
ID:68356 發(fā)表于 2017-6-24 19:36 | 只看該作者
好東西啊,收藏備用
回復(fù)

使用道具 舉報(bào)

9#
ID:153381 發(fā)表于 2017-6-30 09:06 | 只看該作者
好東西,正想要的。。。。
回復(fù)

使用道具 舉報(bào)

10#
ID:225510 發(fā)表于 2017-8-8 16:31 | 只看該作者
需要需要....
回復(fù)

使用道具 舉報(bào)

11#
ID:226512 發(fā)表于 2017-8-10 11:42 | 只看該作者
怎么樣可以下載啊
回復(fù)

使用道具 舉報(bào)

12#
ID:112242 發(fā)表于 2017-8-10 21:11 | 只看該作者
這是個(gè)好資料 先下載再收藏
回復(fù)

使用道具 舉報(bào)

13#
ID:165276 發(fā)表于 2017-8-12 16:07 | 只看該作者
找了好久都沒找到,感謝樓主分享,閑置的兩個(gè)模塊可以用了
回復(fù)

使用道具 舉報(bào)

14#
ID:137005 發(fā)表于 2017-9-3 21:06 | 只看該作者
看看,謝謝分享!
回復(fù)

使用道具 舉報(bào)

15#
ID:232585 發(fā)表于 2017-9-16 09:42 | 只看該作者
有沒有模塊直接接單片機(jī)的資料啊  就是不用編解碼芯片那種
回復(fù)

使用道具 舉報(bào)

16#
ID:30057 發(fā)表于 2017-9-18 02:59 | 只看該作者
很好很好,確實(shí)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

17#
ID:238563 發(fā)表于 2017-10-11 13:17 | 只看該作者
感謝分享,不錯(cuò)哈哈哈
回復(fù)

使用道具 舉報(bào)

18#
ID:196311 發(fā)表于 2017-10-12 09:19 | 只看該作者
下來(lái)看看,謝謝分享
回復(fù)

使用道具 舉報(bào)

19#
ID:231936 發(fā)表于 2017-10-16 10:54 | 只看該作者
給個(gè)電路圖就好了,我有315無(wú)線模塊,正想用。
回復(fù)

使用道具 舉報(bào)

20#
ID:241631 發(fā)表于 2017-10-21 18:07 | 只看該作者
黑幣不夠啊
回復(fù)

使用道具 舉報(bào)

21#
ID:241631 發(fā)表于 2017-10-21 18:07 | 只看該作者
這個(gè)很想要
回復(fù)

使用道具 舉報(bào)

22#
ID:245799 發(fā)表于 2017-11-3 19:34 | 只看該作者
沒黑幣
回復(fù)

使用道具 舉報(bào)

23#
ID:51142 發(fā)表于 2017-11-11 23:59 | 只看該作者

下來(lái)看看,謝謝分享
回復(fù)

使用道具 舉報(bào)

24#
ID:244951 發(fā)表于 2017-11-13 08:23 | 只看該作者
很好,正在找這個(gè)資料
回復(fù)

使用道具 舉報(bào)

25#
ID:198864 發(fā)表于 2017-11-14 13:28 | 只看該作者
太帥了。
回復(fù)

使用道具 舉報(bào)

26#
ID:249289 發(fā)表于 2017-11-14 13:56 | 只看該作者
正在找這個(gè)資料
回復(fù)

使用道具 舉報(bào)

27#
ID:250288 發(fā)表于 2017-11-17 08:00 來(lái)自手機(jī) | 只看該作者
誰(shuí)給下程序謝謝,791736464@qq.com
回復(fù)

使用道具 舉報(bào)

28#
ID:255706 發(fā)表于 2017-12-1 19:46 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

29#
ID:196383 發(fā)表于 2017-12-3 13:54 | 只看該作者
多謝,正想要這個(gè)
回復(fù)

使用道具 舉報(bào)

30#
ID:269870 發(fā)表于 2018-1-1 20:40 | 只看該作者
好東西!多多分享
回復(fù)

使用道具 舉報(bào)

31#
ID:263813 發(fā)表于 2018-1-3 17:00 | 只看該作者
有這個(gè)模塊一直不會(huì)玩
回復(fù)

使用道具 舉報(bào)

32#
ID:291978 發(fā)表于 2018-4-9 12:28 | 只看該作者
看看怎樣,謝謝樓主了
回復(fù)

使用道具 舉報(bào)

33#
ID:281432 發(fā)表于 2018-6-11 09:36 | 只看該作者
看看怎樣,謝謝樓主了
回復(fù)

使用道具 舉報(bào)

34#
ID:352802 發(fā)表于 2018-6-16 11:19 | 只看該作者
試試看看 這個(gè)好用吧
回復(fù)

使用道具 舉報(bào)

35#
ID:32627 發(fā)表于 2018-6-21 19:24 | 只看該作者
好資料!感謝你的分享
回復(fù)

使用道具 舉報(bào)

36#
ID:363903 發(fā)表于 2018-7-3 13:40 | 只看該作者
多謝 ,學(xué)習(xí)了                             
回復(fù)

使用道具 舉報(bào)

37#
ID:281301 發(fā)表于 2018-7-8 08:55 | 只看該作者
感謝你的分享
回復(fù)

使用道具 舉報(bào)

38#
ID:372027 發(fā)表于 2018-7-15 16:40 | 只看該作者
贊一個(gè),希望能派上用場(chǎng)
回復(fù)

使用道具 舉報(bào)

39#
ID:290014 發(fā)表于 2018-7-17 10:15 | 只看該作者
好東西,正想要的。。。。
回復(fù)

使用道具 舉報(bào)

40#
ID:348201 發(fā)表于 2018-9-17 21:26 | 只看該作者
程序只有解碼沒有編碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表