wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14338|回復: 37
收起左側

315-433MHZ單片機學習遙控器無線解碼程序

  [復制鏈接]
ID:127035 發表于 2023-6-10 22:32 | 顯示全部樓層 |閱讀模式
315-433MHZ學習遙控器芯片設置說明

支持1527  2264  2260  2262   SC5211  HS2240等解碼,自動適應振蕩電阻
2260 2262 2264 如果不進行人工地址編碼,好多個遙控器地址編碼一樣的,只要學習一個遙控器,所有的遙控器都能同時用

一:如何設置自鎖,互鎖,點動輸出
1:斷電。按住學習鍵然后上電保持1-2秒鐘后松開,學習燈閃3次,設置為自鎖輸出。
2:斷電。按住學習鍵然后上電保持1-2秒鐘后松開,學習燈閃1次,設置為互鎖輸出。
3:斷電。按住學習鍵然后上電保持1-2秒鐘后松開,學習燈閃2次,設置為點動輸出。
二:遙控器學習:
以上輸出模式設置后斷開電源,然后上電,按一下學習鍵,學習燈保持亮,再按遙控器上的任意一鍵,學習燈熄滅,遙控器學習成功。重復上述操作可以學習多達20個遙控器。1527 2260 2262 2264等的遙控器可以混合學習使用。
三:如何清空已學習過的遙控器:
斷電,按住學習鍵然后上電保持4秒以上再松開按鍵,學習燈閃爍4次,說明已學習過的遙控器已被清空。

電路原理圖如下:
51hei.png

下載燒錄說明
IRC頻率選11.0592M
如果已燒錄過的單片機,燒錄前必須下載后恢復下出廠設置。才能再燒錄,新單片機不用恢復
操作:按住學習鍵,上電保持10秒以上松開即可。

單片機源程序如下:
  1. //內部晶振:11.0592M
  2. //測試芯片:STC15F104E/STC11F04W        
  3. //By David Xu 2020/08/18
  4. //硬件最簡版
  5. //實現2262、1527解碼輸出,學習、自適應多阻值,片內EEPROM存儲相關信息

  6. #include <reg52.h>
  7. #include <intrins.h>
  8.                                                          
  9. sfr AUXR=0x8e;

  10. sfr IAP_DATA    = 0xC2;                //片內EEPROM資源聲明
  11. sfr IAP_ADDRH   = 0xC3;
  12. sfr IAP_ADDRL   = 0xC4;
  13. sfr IAP_CMD     = 0xC5;
  14. sfr IAP_TRIG    = 0xC6;
  15. sfr IAP_CONTR   = 0xC7;

  16. sfr P3M0                =0xb2;
  17. sfr P3M1                =0xb1;

  18. #define uchar unsigned char
  19. #define uint  unsigned int

  20. sbit RF                        =        P3^4;          //射頻引腳定義                                                                                                                    
  21. sbit set                 =        P3^3;          //設置鍵定義
  22.          
  23. sbit keya                =        P3^0;          //第一路
  24. sbit keyb                =        P3^1;          //第二路  
  25. sbit keyc                =        P3^2;          //第三路
  26. sbit keyd                =        P3^5;          //第四路


  27. uint   ll_w;
  28. uchar  hh_w;           //高,低電平寬度
  29. uchar  ma_x;                //接收到第幾位編碼了
  30. uchar  idata bma1,bma2,bma3; //用于接收過程存放遙控編碼,編碼比較兩次,這是第一次
  31. uchar idata mmb1,mmb2,mmb3; //        用于接收過程存放遙控編碼,第二次
  32. uchar key_data;   
  33. uchar short_k;
  34. uchar  mma1,mma2,mma3; //用于解碼過程                        
  35. uchar L_M_select;
  36. uchar xplx;
  37. uint s,s1;

  38. bit old_rc5;             //保存上一次查詢到的電平狀態
  39. bit tb_ok;               //接收到同步的馬時置1
  40. bit rf_ok1,rf_ok2;                 //解碼過程中的臨時接收成功標志
  41. bit rf_ok;               //接收到一個完整的遙控命令后置1,通知解碼程序可以解碼了
  42. bit study;                                 //進入學習狀態標志
  43. bit system_int;                         //系統清零標志
  44. bit m1,m2,m3,m4;
  45. bit flag_zs;
  46. bit  decode_ok;                 //解碼成功

  47. uchar idata key_number[61];               


  48. void delay_1ms(uint x)    //1毫秒延時
  49. {
  50.         uchar b,c;
  51.         for(x;x>0;x--)
  52.                 {
  53.                         for(b=5;b>0;b--)
  54.                                 {
  55.                                         for(c=150;c>0;c--);
  56.                                 }
  57.                 }
  58. }

  59. void BB(uint size,uchar Number)
  60. {
  61.                                                                           
  62.         if(Number)
  63.                 {
  64.                         for(Number;Number>0;Number--)
  65.                                 {
  66.                                         set=0;
  67.                                          delay_1ms(size);
  68.                                         set=1;
  69.                                         delay_1ms(size);                                
  70.                                 }               
  71.                 }
  72.              else
  73.                            {
  74.                                 set=0;
  75.                                  delay_1ms(size);
  76.                                 set=1;                        
  77.                         }
  78. }

  79. void chick1527(uchar d)
  80. {
  81.         uchar u;
  82.         for(u=0;u<4;u++)
  83.                 {
  84.                         if(((d>>(u*2)) & 3)==2)
  85.                                  {
  86.                                          xplx=0x55;
  87.                                   }
  88.                 }
  89. }


  90. //====================================================
  91. /////////片內EEPROM讀寫驅動程序///////////////////////////
  92. //====================================================


  93. void IAP_Disable()           //關閉IAP
  94. {
  95.     //關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處于安全狀態,
  96.     //一次連續的IAP 操作完成之后建議關閉IAP 功能,不需要每次都關
  97.     IAP_CONTR = 0;      //關閉IAP 功能
  98.     IAP_CMD   = 0;      //清命令寄存器,使命令寄存器無命令,此句可不用
  99.     IAP_TRIG = 0;      //清命令觸發寄存器,使命令觸發寄存器無觸發,此句可不用
  100.     IAP_ADDRH = 0;
  101.     IAP_ADDRL = 0;
  102. }//



  103. //讀一字節,調用前需打開IAP 功能,入口:DPTR = 字節地址,返回:A = 讀出字節
  104. uchar read_add(uint addr)         //讀EEPROM
  105. {
  106.     IAP_DATA = 0x00;
  107.     IAP_CONTR = 0x84;         //打開IAP 功能, 設置Flash 操作等待時間
  108.     IAP_CMD = 0x01;                 //IAP/ISP/EEPROM 字節讀命令

  109.     IAP_ADDRH = addr>>8;    //設置目標單元地址的高8 位地址
  110.     IAP_ADDRL = addr&0xff;    //設置目標單元地址的低8 位地址

  111.     EA = 0;
  112.     IAP_TRIG = 0x5a;   //先送 46h,再送B9h 到ISP/IAP 觸發寄存器,每次都需如此
  113.     IAP_TRIG = 0xa5;   //送完 B9h 后,ISP/IAP 命令立即被觸發起動
  114.     _nop_();
  115.     EA = 1;
  116.     IAP_Disable(); //關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處于安全狀態,
  117.                     //一次連續的IAP 操作完成之后建議關閉IAP 功能,不需要每次都關
  118.     return (IAP_DATA);
  119. }//------------------------------------------------------------------------------


  120. //字節編程,調用前需打開IAP 功能,入口:DPTR = 字節地址, A= 須編程字節的數據
  121. void write_add(uint addr,uchar ch)         //直接寫EEPROM
  122. {
  123.     IAP_CONTR = 0x84;         //打開 IAP 功能, 設置Flash 操作等待時間
  124.     IAP_CMD = 0x02;                 //IAP/ISP/EEPROM 字節編程命令


  125.     IAP_ADDRH = addr>>8;    //設置目標單元地址的高8 位地址
  126.     IAP_ADDRL = addr&0xff;    //設置目標單元地址的低8 位地址

  127.     IAP_DATA = ch;                  //要編程的數據先送進IAP_DATA 寄存器
  128.     EA = 0;
  129.     IAP_TRIG = 0x5a;   //先送 46h,再送B9h 到ISP/IAP 觸發寄存器,每次都需如此
  130.     IAP_TRIG = 0xa5;   //送完 B9h 后,ISP/IAP 命令立即被觸發起動
  131.     _nop_();
  132.     EA = 1;
  133.     IAP_Disable(); //關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處于安全狀態,
  134.                     //一次連續的IAP 操作完成之后建議關閉IAP 功能,不需要每次都關
  135. }//------------------------------------------------------------------------------
  136. //擦除扇區, 入口:DPTR = 扇區地址


  137. void Sector_Erase(uint addr)         //扇區擦除
  138. {
  139.     IAP_CONTR = 0x84;         //打開IAP 功能, 設置Flash 操作等待時間
  140.     IAP_CMD = 0x03;                 //IAP/ISP/EEPROM 扇區擦除命令

  141.     IAP_ADDRH =addr>>8;    //設置目標單元地址的高8 位地址
  142.     IAP_ADDRL =addr&0xff;    //設置目標單元地址的低8 位地址

  143.     EA = 0;
  144.     IAP_TRIG = 0x5a;   //先送 46h,再送B9h 到ISP/IAP 觸發寄存器,每次都需如此
  145.     IAP_TRIG = 0xa5;   //送完 B9h 后,ISP/IAP 命令立即被觸發起動
  146.     _nop_();
  147.     EA = 1;
  148. }//------------------------------------------------------------------------------

  149. void timeint() interrupt 1    //遙控接收,通過定時器0中斷,定時去查詢
  150.    {           
  151.           uchar x1;
  152.           TF0=0;           // 清除T0中斷標志
  153.           TL0=0x30;           //b5
  154.           TH0=0xff;           //fe
  155.                         
  156.       if (!RF) { ll_w++;old_rc5=0; }           // 檢測到低電平 低電平時間加1,記錄本次電平狀態
  157.         else                                      // 檢測到高電平
  158.                { hh_w++;
  159.                  if (!old_rc5)                          // 檢測到從低到高的跳變,已檢測到一個完整(高-低)電平周期
  160.                   {
  161.                                  if (((hh_w*16)<ll_w) && (hh_w*38)>ll_w )          //判同步碼                           
  162.                        {                                 
  163.                                        
  164.                                                 short_k=ll_w/31;
  165.                                                 ma_x=0;
  166.                                                 tb_ok=1;
  167.                                                 bma1=0;
  168.                                                 bma2=0;
  169.                                                 bma3=0;          //根據不同 同步碼 寬度,T0加載不同初值                        
  170.                        }        
  171.             else if ((tb_ok)&&((ll_w>short_k*2)&&(ll_w<short_k*5)))         //   10/14
  172.                                 {         
  173.                                         ma_x++;                                //已經接收到同步碼,判0
  174.                                         if(ma_x>23)
  175.                                                 {
  176.                                                    if(!rf_ok1)
  177.                                                           {
  178.                                                                   mma1=bma1;mma2=bma2;mma3=bma3;//將接收到的編碼復制到解碼寄存器中                             
  179.                                                rf_ok1=1;                                // 通知解碼子程序可以解碼了
  180.                                                tb_ok=0;
  181.                                                                   s=5000;                                                               
  182.                                                         }
  183.                                                         else
  184.                                                                 {
  185.                                                                   mmb1=bma1;mmb2=bma2;mmb3=bma3;//將接收到的編碼復制到解碼寄存器中                             
  186.                                   rf_ok2=1;                                // 通知解碼子程序可以解碼了
  187.                                   tb_ok=0;                                                                                                                                                        
  188.                                                                 }
  189.                                                 }
  190.                                  }  
  191.             else if ((tb_ok)&&((ll_w>short_k/6)&&(ll_w<short_k*2)))                   //   3/5
  192.                   { switch (ma_x)
  193.                      {
  194.                                            case 0 : { bma1=bma1 | 0x80; break; }//遙控編碼第1位
  195.                        case 1 : { bma1=bma1 | 0x40; break; }
  196.                        case 2 : { bma1=bma1 | 0x20; break; }
  197.                        case 3 : { bma1=bma1 | 0x10; break; }
  198.                        case 4 : { bma1=bma1 | 0x08; break; }
  199.                        case 5 : { bma1=bma1 | 0x04; break; }
  200.                        case 6 : { bma1=bma1 | 0x02; break; }
  201.                        case 7 : { bma1=bma1 | 0x01; break; }
  202.                        case 8 : { bma2=bma2 | 0x80; break; }
  203.                        case 9 : { bma2=bma2 | 0x40; break; }
  204.                        case 10: { bma2=bma2 | 0x20; break; }
  205.                        case 11: { bma2=bma2 | 0x10; break; }
  206.                        case 12: { bma2=bma2 | 0x08; break; }
  207.                        case 13: { bma2=bma2 | 0x04; break; }
  208.                        case 14: { bma2=bma2 | 0x02; break; }
  209.                        case 15: { bma2=bma2 | 0x01; break; }
  210.                        case 16: { bma3=bma3 | 0x80; break; }
  211.                        case 17: { bma3=bma3 | 0x40; break; }
  212.                        case 18: { bma3=bma3 | 0x20; break; }
  213.                        case 19: { bma3=bma3 | 0x10; break; }
  214.                        case 20: { bma3=bma3 | 0x08; break; }//按鍵狀態第1位
  215.                        case 21: { bma3=bma3 | 0x04; break; }
  216.                        case 22: { bma3=bma3 | 0x02; break; }
  217.                        case 23: { bma3=bma3 | 0x01;
  218.                                           
  219.                                                                      if(!rf_ok1)
  220.                                                                           {
  221.                                                                           mma1=bma1;mma2=bma2;mma3=bma3;//將接收到的編碼復制到解碼寄存器中                             
  222.                                                     rf_ok1=1;                                // 通知解碼子程序可以解碼了
  223.                                                     tb_ok=0;
  224.                                                                           s=5000;
  225.                                                                           break;                                                                        
  226.                                                                         }
  227.                                                                         else
  228.                                                                                 {
  229.                                                                                   mmb1=bma1;mmb2=bma2;mmb3=bma3;//將再次接收到的編碼復制到解碼寄存器中,                             
  230.                                                   rf_ok2=1;                                // 通知解碼子程序可以解碼了
  231.                                                   tb_ok=0;
  232.                                                                                   break;                                                                                                                                                        
  233.                                                                                 }
  234.                                    
  235.                                 }
  236.                      }
  237.                     ma_x++;
  238.                                        
  239.                   }
  240.            else {ma_x=0; tb_ok=0; bma1=0; bma2=0; bma3=0;hh_w=1;ll_w=0;}      //接收到不符合的高-低電平序列
  241.                ll_w=0;hh_w=1;         
  242.                            }         
  243.          old_rc5=1;      // 記錄本次電平狀態
  244.        }

  245.         if(rf_ok1)                //規定時間內接受到2幀相同的編碼數據才有效
  246.                 {
  247.                         s--;
  248.                         if(!s) rf_ok1=0;
  249.                         if(rf_ok2)
  250.                                 {
  251.                                   if((mma1==mmb1)&&(mma2==mmb2)&&(mma3==mmb3))
  252.                                            {                                          
  253.                                                   rf_ok=1;rf_ok1=0;rf_ok2=0;                                                                                                            
  254.                                          }
  255.                                          else
  256.                                            {
  257.                                                   rf_ok=0;
  258.                                                   rf_ok1=0;
  259.                                                   rf_ok2=0;                                         
  260.                                            }
  261.                                                                   
  262.                                 }                                       
  263.                 }


  264.     if(rf_ok)                 //判斷是否是學習狀態&&()
  265.                         {         
  266.                                 
  267.                                 EA=0;
  268.                                 chick1527(mma1);         
  269.                             if(xplx!=0x55){chick1527(mma2);}
  270.                             if(xplx!=0x55){chick1527(mma3);}
  271.      
  272.                  if(xplx==0x55)
  273.                     {
  274.                               xplx=0;        
  275.                               key_data=mma3 & 0x0f;         
  276.                                         mma3=mma3>>4;
  277.                     }
  278.                   else      
  279.                      {               
  280.                           xplx=1;
  281.                                           key_data=0;
  282.                           for(x1=0;x1<4;x1++){if(((mma3>>(x1*2))&3)==3) key_data|=1<<x1;}                                   
  283.                           mma3=0;
  284.                      }

  285.                                 if(!study)
  286.                                         {        
  287.                                                  rf_ok=0;
  288.                                                  for(x1=0;x1<20;x1++)
  289.                                                    {
  290.                                                                 if((mma1==key_number[x1*3+1])&&(mma2==key_number[x1*3+2])&&(mma3==key_number[x1*3+3]))
  291.                                                                         {
  292.                                                                                 if((!((mma1==0)&&(mma2==0)))&&(!((mma1==0xff)&&(mma2==0xff)))&&key_data)
  293.                                                                                         {
  294.                                                                                                 if(L_M_select==3)
  295.                                                                                                         {
  296.                                                                                                                 m1=(key_data & 0x08);              
  297.                                                                                                                 m2=(key_data & 0x04);
  298.                                                                                                                 m3=(key_data & 0x02);        
  299.                                                                                                                 m4=(key_data & 0x01);                                                                        
  300.                                                                                                         }
  301.                                                                                                    else
  302.                                                                                                              {
  303.                                                                                                                     keya=(key_data & 0x08);      
  304.                                                                                                                   keyb=(key_data & 0x04);
  305.                                                                                                           keyc=(key_data & 0x02);        
  306.                                                                                                           keyd=(key_data & 0x01);
  307.                                                                                                           }
  308.                                                                                                 decode_ok=1;
  309.                                                                                                 set=0;                                       
  310.                                                                                                 s1=12000;
  311.                                                                                                 break;
  312.                                                                                         }
  313.                                                                         }
  314.                                                                                                 
  315.                                                         }
  316.                                                 EA=1;
  317.                                         }                                 
  318.                                 
  319.                         }


  320.     if(decode_ok)   
  321.                   {
  322.                         s1--;
  323.                         if(!s1)
  324.                                 {
  325.                                         set=1;
  326.                                         decode_ok=0;
  327.                                         flag_zs=0;
  328.                                         if(L_M_select==2)
  329.                                                 {
  330.                                                         keya=0;
  331.                                                         keyb=0;
  332.                                                         keyc=0;
  333.                                                         keyd=0;                                                
  334.                                                 }
  335.                                        
  336.                                 }
  337.                         if((L_M_select==3)&&(!flag_zs)&&decode_ok)
  338.                                 {

  339.                                                    flag_zs=1;
  340.                                                    if(m1)keya=!keya;
  341.                                                    if(m2)keyb=!keyb;
  342.                                                    if(m3)keyc=!keyc;
  343.                                                    if(m4)keyd=!keyd;                                
  344.                                 }                                                                          
  345.                   }         
  346.    }


  347. void key_buffer()                  //把遙控器碼從 EEPROM 復制到DATA
  348. {
  349.         uchar n;

  350.         for(n=0;n<61;n++)
  351.                 {
  352.                    key_number[n]=read_add(0x0000+n);                        
  353.                 }
  354. }

  355. void KEY_study()        //遙控器學習
  356. {        
  357.         uchar num_rf;
  358.         uchar d_num;
  359.         if(study==1)
  360.                 {
  361.                            rf_ok=0;
  362.                         d_num=0;
  363.         
  364.                         while(!rf_ok)
  365.                                 {
  366.                                         delay_1ms(100);
  367.                                         d_num++;
  368.                                         if(d_num>200) break;                                                                        
  369.                                 }
  370.                         d_num=0;
  371.                         if(rf_ok==1)
  372.                                 {
  373.                                         EA=0;
  374.                                         num_rf=key_number[0];                   //取已學習的遙控器數量
  375.                                         if(num_rf>20){num_rf=0;}        //如果遙控器數量超過20個,覆蓋最先學習的
  376.                                         key_number[num_rf*3+1]=mma1;
  377.                                         key_number[num_rf*3+2]=mma2;
  378.                                         key_number[num_rf*3+3]=mma3;
  379.                                         key_number[0]=num_rf+1;

  380.                                         Sector_Erase(0x0000);
  381.                                         for(num_rf=0;num_rf<61;num_rf++)
  382.                                                 {
  383.                                                         write_add(0x0000+num_rf,key_number[num_rf]);
  384.                                                         
  385.                                                 }

  386.                                         rf_ok=0;
  387.                                         set=1;                   //學習成功
  388.                                         EA=1;
  389.                                        
  390.                                   }        
  391.                                 else
  392.                                         {
  393.                                                 rf_ok=0;        //操作超時
  394.                                                 BB(300,4);
  395.                                        
  396.                                         }
  397.                         d_num=0;
  398.                         study=0;                 
  399.                 }
  400. }

  401. void system_res()  //系統清零           
  402. {
  403.         
  404.           Sector_Erase(0x0000);        
  405.         write_add(0x0000,0x00);        
  406.         key_buffer();               

  407. }

  408. void set_scan()          //判斷學習鍵狀態
  409. {
  410.   uchar h=0;

  411.   while((!set)&&(!study)&&(!decode_ok))         
  412.         {        
  413.                 if(h>2)
  414.                         {
  415.                                 study=1;
  416.                                 h=0;                                
  417.                                 while(!set);
  418.                                 set=0;
  419.                         }
  420.                  delay_1ms(100);
  421.                   h++;
  422.          }                                                                                
  423.          
  424. }

  425. void system_start()   //上電初始化
  426. {        
  427.          uchar h;
  428.         P3M0=0x27;
  429.         P3M1=0x10;
  430.           P3=0xd8;


  431.         L_M_select=read_add(0x0200);
  432.         if((L_M_select>3)||(L_M_select==0))L_M_select=3;
  433.         if(!set)
  434.           {
  435.                   while(!set)
  436.                           {
  437.                           delay_1ms(50);
  438.                           h++;
  439.                           if(h>2)
  440.                                   {                                                        
  441.                                         while(!set)
  442.                                           {
  443.                                                     delay_1ms(100);
  444.                                                   h++;
  445.                                                   if(h>90)
  446.                                                           {        
  447.                                                                 system_int=1;
  448.                                                                 while(!set);
  449.                                                            }                                          
  450.                                           }
  451.                                                 if(system_int)
  452.                                                         {
  453.                                                                 h=0;
  454.                                                                 system_int=0;
  455.                                                                 system_res();
  456.                                                                 delay_1ms(1500);
  457.                                                                 BB(500,4);                                
  458.                                                         }
  459. ……………………

  460. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

Keil代碼下載:
學習型無線遙控解碼程序2023.7z (192.14 KB, 下載次數: 522)




評分

參與人數 2黑幣 +65 收起 理由
lkc8210 + 15 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:235691 發表于 2023-6-11 11:15 | 顯示全部樓層
有沒有用STC8系列8腳單片機的程序
回復

使用道具 舉報

ID:401478 發表于 2023-6-11 11:15 | 顯示全部樓層
謝謝大佬分享  我學習一下下
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
ID:17647 發表于 2023-6-12 15:51 | 顯示全部樓層
太感謝了,剛做了一個2272解碼程序,但是沒有這個好。
回復

使用道具 舉報

ID:1006814 發表于 2023-6-13 08:50 | 顯示全部樓層
感謝大佬,正在學習遙控器呢。
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
ID:461382 發表于 2023-6-18 21:30 | 顯示全部樓層
神來之作,我要啥你就來啥
回復

使用道具 舉報

10#
無效樓層,該帖已經被刪除
ID:68189 發表于 2023-6-19 09:18 | 顯示全部樓層
買來的代碼,放到這里來了。
回復

使用道具 舉報

ID:430492 發表于 2023-6-19 16:04 | 顯示全部樓層
感謝樓主分享的學習型無線遙控解碼程序,值得學習借鑒!
回復

使用道具 舉報

ID:200118 發表于 2023-7-2 22:28 | 顯示全部樓層
謝謝分享,值得學習。。。
回復

使用道具 舉報

ID:287898 發表于 2023-7-13 15:09 | 顯示全部樓層
很完善的資料  非常感謝
回復

使用道具 舉報

15#
無效樓層,該帖已經被刪除
ID:12816 發表于 2023-8-28 18:04 | 顯示全部樓層
wpppmlah 發表于 2023-6-19 09:18
買來的代碼,放到這里來了。

說不好是這下的代碼人家拿去賣
回復

使用道具 舉報

17#
無效樓層,該帖已經被刪除
ID:227484 發表于 2023-9-25 16:38 | 顯示全部樓層
很實用的程序,下載看看
回復

使用道具 舉報

ID:33319 發表于 2023-9-28 17:35 | 顯示全部樓層
賣的好像還能單獨學習四路輸出的遙控碼。
回復

使用道具 舉報

ID:36007 發表于 2023-10-6 21:25 | 顯示全部樓層
4路輸出的學些遙控碼
回復

使用道具 舉報

21#
無效樓層,該帖已經被刪除
22#
無效樓層,該帖已經被刪除
ID:1083996 發表于 2023-10-23 09:17 | 顯示全部樓層
很棒的操作,學習了
回復

使用道具 舉報

ID:31094 發表于 2023-10-29 17:11 | 顯示全部樓層

很實用的程序
回復

使用道具 舉報

ID:72088 發表于 2023-10-30 19:36 | 顯示全部樓層
單片機解碼,距離近是硬傷,沒專業芯片靈敏度高,我實驗多次,修改,無解
回復

使用道具 舉報

ID:195496 發表于 2023-11-1 07:51 | 顯示全部樓層
學習一下,有價值的帖子
回復

使用道具 舉報

ID:103411 發表于 2023-11-7 16:04 | 顯示全部樓層
感謝分享,下載學習一下。
回復

使用道具 舉報

28#
無效樓層,該帖已經被刪除
ID:1058675 發表于 2023-11-9 09:48 | 顯示全部樓層
兄弟們,有沒有實測過,能正常使用輸出信號嗎
回復

使用道具 舉報

ID:110231 發表于 2023-11-22 16:31 | 顯示全部樓層
好東西 已做成功
回復

使用道具 舉報

ID:16023 發表于 2023-11-24 20:56 | 顯示全部樓層
stc8a8k測試成功,只是點動自鎖互鎖切換很麻煩,如果檢測按鍵的次數去切換模式或學習功能就好了。<--正在研究中......
回復

使用道具 舉報

32#
無效樓層,該帖已經被刪除
ID:77785 發表于 2024-1-5 23:39 | 顯示全部樓層
我怎么在代碼里,沒有找到互鎖的邏輯啊...
回復

使用道具 舉報

34#
無效樓層,該帖已經被刪除
35#
無效樓層,該帖已經被刪除
ID:34298 發表于 2024-5-3 20:05 | 顯示全部樓層
當A、B鍵同時按下時  無法實在互鎖,控制電機正反轉容易燒電機 ,不知道怎么改程序
回復

使用道具 舉報

ID:81135 發表于 2024-5-4 18:12 | 顯示全部樓層
謝謝資料,下載學習中,多多上傳啊
回復

使用道具 舉報

ID:27456 發表于 2024-5-7 12:44 | 顯示全部樓層
fancunwu 發表于 2024-5-3 20:05
當A、B鍵同時按下時  無法實在互鎖,控制電機正反轉容易燒電機 ,不知道怎么改程序

if(!study)
                {       
                         rf_ok=0;
                         for(x1=0;x1<20;x1++)
                           {
                                if((mma1==key_number[x1*3+1])&&(mma2==key_number[x1*3+2])&&(mma3==key_number[x1*3+3]))
                                {
                                        if((!((mma1==0)&&(mma2==0)))&&(!((mma1==0xff)&&(mma2==0xff)))&&key_data)
                                        {
                                                if(L_M_select==3)
                                                {
                                                        m1=(key_data & 0x08);              
                                                        m2=(key_data & 0x04);
                                                        m3=(key_data & 0x02);       
                                                        m4=(key_data & 0x01);                                                                       
                                                }
                                           else
                                             {
                                                  if((key_data & 0x04)&&!(key_data & 0x02)&&!(key_data & 0x01))keyb=1;  //上 ▲
                                                  if(!(key_data & 0x04)&&(key_data & 0x02)&&!(key_data & 0x01))keyc=1;  //停 ■
                                                  if(!(key_data & 0x04)&&!(key_data & 0x02)&&(key_data & 0x01))keyd=1;  //下 ▼
                                          }

                                          decode_ok=1;

                                          if((key_data & 0x02)&&(key_data & 0x01)&&decode_ok) sc=1;        // ■+▼
                                          if((key_data & 0x04)&&(key_data & 0x01)&&decode_ok) yk_xx=1;// ▲+▼

                                //          if((key_data & 0x04)&&(key_data & 0x02)&&(key_data & 0x01)&&decode_ok)xw_sc=1;

                                //          if((key_data & 0x02)&&(key_data & 0x01)&&decode_ok)
                                                       
回復

使用道具 舉報

ID:766282 發表于 2024-5-10 04:14 來自觸屏版 | 顯示全部樓層
很實用
回復

使用道具 舉報

ID:100749 發表于 2024-5-10 09:14 | 顯示全部樓層
學習學習 下載了,有時間做一下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
亚洲成人黄色网| 欧美激情亚洲天堂| 欧美精品一二三| 国产精品888| 热re99久久国产精品| 最近中文字幕无免费| 亚洲最新在线| 国产精品1234| 亚洲精品wwww| 午夜日韩在线电影| 国产91富婆露脸刺激对白| 我不卡神马影院| jvid一区二区三区| 国产精品久久久久久久龚玥菲| 国产精品综合久久久久| 一卡二卡三卡在线观看| 国产精品www爽爽爽| 日本中文字幕高清| 亚洲午夜精品一区二区三区| 国产精品情侣自拍| 久久久97精品| 欧美xxx久久| 欧美网站在线观看| 国产精品女人毛片| 成人在线综合网| 亚洲欧美不卡| 日韩av有码| 99a精品视频在线观看| 精精国产xxxx视频在线野外| 青青草视频在线观看| 成人网18免费软件大全| 欧美性老头oldtight| 精品国产免费无码久久久| 日本少妇吞精囗交| 成人免费视频入口| 91九色蝌蚪porny| 国产区二区三区| 国产精品videossex国产高清| 久久青青草综合| 国产精品视频yy9099| 欧美国产日韩免费| 中文字幕欧美视频在线| 亚洲精品一区二区三区精华液| 狠狠色狠狠色综合日日五| 欧美韩国一区二区| 俺来俺也去www色在线观看| 捆绑紧缚一区二区三区在线观看| 麻豆91免费| 色偷偷精品视频在线播放| 成 人 黄 色 片 在线播放| 久草视频一区二区| 成人免费看片98| 日本激情视频一区二区三区| 中文字幕网站在线观看| 丰满少妇xbxb毛片日本| www.色欧美| 欧美婷婷精品激情| 国产三级日本三级在线播放| 日韩av在线第一页| 97国产在线播放| 成人性免费视频| 日韩精品在线观看av| 99亚洲国产精品| 性做爰过程免费播放| 日韩高清专区| 亚洲国产综合自拍| 亚洲人成人77777线观看| 免费看污久久久| 欧美不卡三区| 色女孩综合网| 四虎免费在线观看视频| 欧美日韩亚洲国产成人| 自拍偷拍亚洲色图欧美| 久久免费一级片| 国产一二三区在线播放| 免费国产a级片| 日韩欧美黄色大片| 在线视频观看一区二区| 国模大尺度视频| 色哟哟无码精品一区二区三区| 污污污www精品国产网站| 熟女少妇一区二区三区| 亚洲精品色午夜无码专区日韩| 小早川怜子久久精品中文字幕| 精品无码国产污污污免费网站| 国产精品1区2区3区4区| 久久精品一区二区三| 日韩免费一级片| 九九热最新视频| 成人黄色在线观看视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日本激情一区二区三区| 四虎国产精品永久| 免费看一级毛片| 男人插女人欧美| 中文在线资源在线| 日本在线观看网站| 国产美女高潮在线| www.久久久.com| 欧美黄色网视频| 神马午夜dy888| 在线播放三级网站| а√天堂在线官网| 偷拍中文亚洲欧美动漫| 这里视频有精品| 色无极亚洲影院| 亚洲欧美春色| av电影一区二区| 亚洲欧美日韩综合aⅴ视频| 疯狂蹂躏欧美一区二区精品| 精品免费一区二区三区| 久久久99久久精品女同性| 日韩免费观看网站| 美日韩免费视频| 日本在线xxx| 精品1卡二卡三卡四卡老狼| 成人免费视频网站入口::| 久操视频在线免费观看| 亚洲色图综合图区| 亚州福利视频| 成人在线网址| 综合中文字幕| av成人激情| 久久综合九色欧美综合狠狠 | 欧美中文一区| 一本色道久久综合亚洲精品不| 粉嫩一区二区三区性色av| 一区二区三区日韩在线观看| 精品免费视频一区二区| 69影院欧美专区视频| 欧美精品七区| 日本不卡一区在线| 国产性一乱一性一伧一色| 欧美自拍第一页| 中国免费黄视频| 免费在线观看的电影网站| 91蝌蚪精品视频| 欧美亚洲三级| 国产精品久久久久一区| 在线不卡一区二区| 欧美精品久久久久久久免费观看| 精品国产乱码久久久久久108| 无码精品国产一区二区三区免费| 国产精品第七页| 成年人晚上看的视频| 国产极品嫩模在线视频一区| 欧美白人做受xxxx视频| 日韩国产91| 一本一本久久| 国产精品美女久久久久久久久| 91麻豆精品国产91久久久资源速度| 久久91亚洲精品中文字幕| 久草精品电影| 自拍偷拍一区二区三区四区| 国产中文字字幕乱码无限| 一区二区三区精品牛牛| 男男电影完整版在线观看| 日本一区影院| 日韩成人免费电影| 亚洲综合丁香婷婷六月香| 亚洲欧美日韩国产成人| 成人欧美一区二区三区在线湿哒哒| 国产一区二区三区小说| 一级黄色片网址| 日本精品一二区| 写真福利理论片在线播放| 国产精品成人国产| 国产日韩欧美一区二区三区在线观看 | 一区二区三区视频在线看| 亚洲最新av在线| 久久一区二区三区欧美亚洲| 国产在线视频三区| 一区二区国产欧美| 黄页在线观看| 黄色日韩网站| 久久国产欧美日韩精品| 色综合一个色综合亚洲| 欧美黑人极品猛少妇色xxxxx| 在线视频欧美一区| 天天躁夜夜躁狠狠是什么心态| 先锋影音男人| av在线天堂播放| 欧美在线色图| 中文字幕一区二区在线播放| 日韩中文字幕在线免费观看| 五月天亚洲综合小说网| 网站永久看片免费| 91av毛片| 日韩成人亚洲| 老汉av免费一区二区三区 | 日本午夜大片| 亚洲男人av| 日韩国产欧美三级| 欧美视频一区二区三区四区| 国产日韩欧美91| 亚洲视频在线不卡| 日本精品一区二区在线观看| 美女写真理伦片在线看| 综合精品一区| 岛国视频午夜一区免费在线观看| 国产精品电影观看| 在线观看日本www| 国产高清第一页| shkd中文字幕久久在线观看| 亚洲大全视频| 激情懂色av一区av二区av| 欧美亚洲国产精品| 污污的视频免费观看| 五月婷婷激情在线| 川上优av中文字幕一区二区| 午夜亚洲性色福利视频| 91精品国产一区二区| 欧美精品一区在线发布| 九九热国产在线| 日本免费高清视频| 久久精品高清| 91成人免费在线| 国精产品99永久一区一区| 国产在线综合视频| 2021av网| 久久99视频| 欧美日韩在线视频首页| 国产v亚洲v天堂无码| 黄色一级大片在线免费观看| 国产成人午夜精品| 国产精品99一区二区三| 欧美三级一区二区| 欧美一区二区综合| 在线观看黄网站| eeuss影院www在线播放| 久久影院亚洲| 亚洲欧美日本另类| 男人透女人免费视频| 亚洲人午夜射精精品日韩| 在线观看欧美日韩电影| 2021久久国产精品不只是精品| 久久97精品久久久久久久不卡| 欧美大尺度做爰床戏| 欧美人与动性xxxxx杂性| 亚洲青青一区| 亚洲精品国产一区二区精华液 | 亚洲欧美日韩动漫| 欧美影视资讯| 国产精品国产自产拍高清av | 亚洲图片在线综合| 国产熟人av一二三区| 影音先锋中文在线观看| 欧美jizz18| 亚洲精品国久久99热| 精品在线一区| 中文字幕乱码在线观看| 国产极品人妖在线观看| 成人白浆超碰人人人人| 全亚洲最色的网站在线观看| 久久中文字幕精品| 污污软件在线观看| 日韩av一区二区三区四区| 久久国产一区二区三区| 秘密基地免费观看完整版中文 | 成人免费视频国产免费| 日本h片在线| www精品美女久久久tv| 成人写真视频福利网| 日本少妇毛茸茸高潮| 超碰在线caoporn| 久久综合色8888| 亚洲jizzjizz日本少妇| 免费看日韩毛片| 91禁在线看| 亚洲天堂精品视频| 日本一区二区三区四区高清视频| 国产精品无码天天爽视频| 久久爱.com| 欧美性xxxx极品高清hd直播| 欧洲精品视频在线| 欧美黑人巨大xxxx猛交| 欧美一区电影| 亚洲免费一级电影| 国产精品成人无码专区| 中文字幕免费在线视频| 国产一区二区导航在线播放| 国产福利精品视频| 国产一级视频在线播放| 草美女在线观看| 亚洲欧美一区二区不卡| 亚洲国产一区二区在线| 亚州欧美精品suv| 久久综合99| 日韩在线视频播放| 欧洲性xxxx| 久久99亚洲网美利坚合众国| 亚洲美女视频一区| 国产一区二区三区播放| 91自拍.com| 午夜在线观看免费一区| 久久久精品999| 成人网站免费观看| 天天影视久久综合| 国产精品视频一区二区三区不卡| 日韩精品中文字| 亚洲国产欧美不卡在线观看| 91精品国自产在线偷拍蜜桃| 日本精品影院| 亚洲欧洲美洲在线综合| 日韩免费高清一区二区| 视频国产在线观看| 久久精品一区蜜桃臀影院| 欧美性xxxxx| 欧美 日韩 亚洲 一区| 成年人视频网址| 麻豆精品一区二区三区| 国产精品久久久久久久久久久不卡| 草久久免费视频| www.成人在线视频| 欧美美女激情18p| 8x8x成人免费视频| 国产黄在线播放| 亚洲欧洲成人精品av97| 777久久精品一区二区三区无码| 久久99精品国产自在现线小黄鸭| 欧美日本中文| 国产成人精品在线观看| 高潮毛片又色又爽免费| 国产劲爆久久| 国产丝袜一区二区三区免费视频| x88av在线| 电影k8一区二区三区久久| 色婷婷综合久久| 伊人免费视频二| 国产h在线观看| 香港成人在线视频| 日本一二三四区视频| 爱久久·www| 好吊成人免视频| 久久久久无码国产精品一区李宗瑞 | 精品久久免费视频| 日韩精品一级| 日韩在线中文字| 国产成人亚洲精品自产在线 | 国产一区二区三区不卡在线| 亚洲乱码国产乱码精品精98午夜| 黄色影院一级片| 在线视频毛片| 亚洲一区在线免费观看| 天天做天天干天天操| 老司机免费在线视频| 色爱区综合激月婷婷| 国产+高潮+白浆+无码| 在线男人天堂| 亚洲精品成人免费| 日本在线视频中文字幕| 男男gay无套免费视频欧美| 91国内免费在线视频| 天天干天天草天天射| 日本中文在线一区| 亚洲精品一区二区三区四区五区| 免费的av电影| 亚洲精品一二三四区| 波多野结衣电影免费观看| 国产亚洲成av人片在线观看 | 国产黄色一级网站| av国产在线观看| 欧美美女黄视频| 污软件在线观看| 九一成人免费视频| 国产精品狼人色视频一区| 欧美性受xxxx黑人xxxx| 成人一区在线看| 免费在线观看的av网站| 麻豆传媒在线观看| 亚洲精品在线免费观看视频| 天堂网一区二区三区| 一区二区三区在线观看免费| 高清视频在线观看一区| 舔足天天操天天射| 亚洲综合图片区| 国产成人精品无码免费看夜聊软件| 美女国产精品久久久| 欧美精品在线视频| 欧美黄色aaa| 999精品色在线播放| www.av一区视频| 国产网站观看9久| 狠狠色狠色综合曰曰| 91嫩草|国产丨精品入口| 精品一区二区三| 99久久精品免费看国产一区二区三区 | 欧美不卡在线观看| 91av福利视频| 国产九九九九| 亚洲精品自拍动漫在线| 无码人妻精品一区二区中文| 天堂99x99es久久精品免费| 成人激情在线播放| heyzo视频在线播放| 日本精品一区二区三区四区的功能| 欧美xxxx黑人xyx性爽| 国产精品mv在线观看| 在线日韩av永久免费观看| 91精彩视频在线播放|