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

標題: EV1527學習碼無線遙控汽車防盜器單片機程序資料 [打印本頁]

作者: z637300    時間: 2024-7-30 08:45
標題: EV1527學習碼無線遙控汽車防盜器單片機程序資料
EV1527是一片由CMOS設計制造的可預
燒內碼的學習碼編碼芯片,由軟件解碼。內碼共有2O位
元可預燒100萬組內碼組合,大大降低了使用編碼上重復
的機率。更重要的是其不可復制性,并且由于可以自學
習,當發射模塊丟了,只要對接收模塊進行自學習就可以
使原先的發射模塊失效,大大提高了安全性

單片機源程序如下:
  1. /*

  2. ;======================硬件結構======================
  3. ;
  4. ;                          __________
  5. ;         
  6. ;     
  7. */

  8. //8路控制程序
  9. //
  10. #include <pic.h>
  11. __CONFIG( WDTDIS  & PWRTEN &INTOSCIO & MCLRDIS & BOREN & CPD &  CPROTECT);


  12. #define uchar unsigned char
  13. #define uint  unsigned int




  14. #define rfin                 RA0
  15. #define        learnkey    RA5
  16. #define        LED                        RA4
  17. #define   VT        RA1

  18. #define        OUT1                        RC2
  19. #define        OUT2                        RC1
  20. #define        OUT3                        RC0
  21. #define        OUT4                        RA2
  22. #define        L_M                                RC5



  23. #define        max_how                15




  24. //學習變量
  25. uchar        learnbuf0;
  26. uchar        learnbuf1;
  27. uchar        learnbuf2;
  28. //===================//
  29. bit        learnf;
  30. bit        fun_out;
  31. bit learn_ok;
  32. bit        fun_ok;

  33. //========================//
  34. //記時間變量
  35. uchar        temp0;
  36. uchar        temp1;
  37. uchar        temp2;

  38. uchar        out_temp0;
  39. uchar        out_temp1;

  40. //=========================//
  41. //RF接收變量
  42. uchar        rec_count;
  43. uchar        lo_buf;
  44. uchar        hi_buf;
  45. uchar        cs2;
  46. uchar        cs1;
  47. uchar        cs0;

  48. //RF接收標志
  49. bit        rfstart1;
  50. bit        rfstart;
  51. bit        rfok;
  52. bit  rf_er;//接收失敗



  53. //===============================//
  54. //定時中斷
  55. void interrupt all ()
  56. {

  57.                

  58.         CLRWDT();
  59.         temp0++;
  60.         out_temp0++;
  61. if(T0IF==1)
  62.                         {
  63.                         T0IF=0;
  64.                         TMR0=0;
  65.                
  66.                         }

  67. if(TMR1IF==1)
  68.                           {
  69.                         TMR1IF=0;//清中斷標志位
  70.                         TMR1L=180;
  71.                         TMR1H=255;
  72.                        
  73.                         }
  74. if(out_temp0>200)
  75.                         {
  76.                         out_temp0=0;
  77.                         out_temp1++;
  78.                                 if(out_temp1>20)
  79.                                         {
  80.                                         out_temp1=0;
  81.                                         VT=0;

  82.                                                 if(L_M==0)
  83.                                                 {
  84.                                                 OUT1=0;
  85.                                                 OUT2=0;
  86.                                                 OUT3=0;
  87.                                                 OUT4=0;
  88.                                                 }
  89.                                         }
  90. /*

  91.                                 if(out_temp1>30)
  92.                                         {
  93.                                         out_temp1=0;

  94.                                         if(L_M==0)
  95.                                                 {
  96.                                                 OUT1=0;
  97.                                                 OUT2=0;
  98.                                                 OUT3=0;
  99.                                                 OUT4=0;
  100.                                                 }
  101.                                
  102.                                         }
  103. */

  104.                         }





  105.                
  106. //時間程序
  107. if(temp0>200)//2MS
  108.                         {
  109.                         CLRWDT();
  110.                         temp0=0;
  111.                         temp1++;
  112.                         if(temp1>10)
  113.                                                 {
  114.                                                 fun_ok=0;
  115.                                        
  116.                                                 }

  117.                         if(temp1>50)
  118.                                                 {
  119.                                        
  120.                                                
  121.                                                 }

  122.                         if(temp1>8)
  123.                                                 {
  124.                                                 learn_ok=0;//400ms

  125.                                                 }

  126.                         if(temp1>200)
  127.                                                 {
  128.                                                
  129.                                                 CLRWDT();
  130.                                                 temp1=0;
  131.                                                 temp2++;
  132.                                                 if(temp2>6)
  133.                                                                 {
  134.                                                                 learnf=0;//學習時間為20秒
  135.                                                                 }
  136.                                                 }
  137.                         }

  138. //RF接受程序

  139.    if(rfin==1)
  140.              {  

  141.                         if(rfstart1==1)//由低到高開始接收
  142.                                                 {
  143.                                                         if(lo_buf>hi_buf)//判斷是否低電平
  144.                                                                                          {
  145.                                                                                         if(lo_buf>5&&lo_buf<19&&hi_buf>2&&hi_buf<9)
  146.                                                                                                                                   {
  147.                                                                                                                                 rec_count++;//是低電平
  148.                                                                                                                                 cs0<<=1;//移動一位                       
  149.                                                                                                                             }
  150.                                                                                         else
  151.                                                                                                                                 {//接收失敗       
  152.                                                                                                                                 rf_er=1;
  153.                                                                                                                                 }
  154.                                                                        
  155.                                                                                      }       
  156.                                
  157.                                                           else if(lo_buf<hi_buf)//判斷是否低高電平
  158.                                                                                            {
  159.                                                                                         if(lo_buf>2&&lo_buf<9&&hi_buf>5&&hi_buf<19)//判斷高電平是否大于900US和低電平大于200US
  160.                                                                                                                            {
  161.                                                                                                                          rec_count++;//是高電平
  162.                                                                                                                          cs0<<=1;//移動一位
  163.                                                                                                                          cs0++;
  164.                                                                                                                        
  165.                                                                                                                          }
  166.                                                                                  else
  167.                                                                                                                      {       
  168.                                                                                                                
  169.                                                                                                                                 rf_er=1;
  170.                                                                                                                          }
  171.                                                                                  
  172.                                                                                     }


  173.                                                      else if(lo_buf==hi_buf)
  174.                                                                                         {                               
  175.                                                                                
  176.                                                                                         rf_er=1;               
  177.                                                                                         }


  178.                                                   if(rf_er==1)
  179.                                                                         {
  180.                                                                         rfstart=0;//接收失敗       
  181.                                                                         rec_count=0;
  182.                                                                         rfok=0;
  183.                                                                         }
  184.                                                   else
  185.                                                                         {
  186.                                                                         if(rec_count==8){cs2=cs0;}
  187.                                                                     else if(rec_count==16){cs1=cs0;}               
  188.                                               
  189.                                                                         }
  190.             
  191.                                     
  192.                                                    if(rec_count==24)
  193.                                                                  {
  194.                                                                    rfok=1;//接收成功        
  195.                                                                  }
  196.                                              hi_buf=0;//rfstart1==1函數                          
  197.                                                 }

  198.                                                                                   
  199.          else   if(lo_buf>30&&lo_buf<180)//判斷同步頭
  200.                                       {                                                                     
  201.                                                   rfstart=1;//檢測到正確的同步頭                                               
  202.                                                   rec_count=0;//接收位數,清除0                                                                                                                                                                                                       
  203.                                       }

  204.                 hi_buf++;                                                                                                            
  205.                 lo_buf=0;
  206.                 rfstart1=0;
  207.             rf_er=0;//接收失敗標志
  208.            }
  209.                                                                                                    
  210.                  
  211.                                                                                                
  212. //===================================//                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  213. else
  214.              {      //輸入端口為低電         
  215.                         lo_buf++;        
  216.                         if(rfstart==1)//開始接收標志
  217.                                         {
  218.                                         rfstart1=1;
  219.                                         }
  220.                         else
  221.                                         {
  222.                                 hi_buf=0;   
  223.                                         }
  224.                  }
  225.   }//TMR1IF==1函數內



  226.           



  227.        
  228. //==============================//                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
  229. void learnkeypr(void)
  230.                         {

  231.                         if(learn_ok==0)//正在學習
  232.                                         {
  233.                                        
  234.                                         uchar  i,b;
  235.                                         uint        j;
  236.                                         LED=0;
  237.                                         CLRWDT();
  238.                                         CLRWDT();
  239.                                         CLRWDT();
  240.                                                
  241.                                         if(learnkey==0)
  242.                                                                 {
  243.                                                                
  244.                                                                         //LED=1;
  245.                                                                         for(j=0;j<=50000;j++){}
  246.                                                                         if(learnkey==0)                                               
  247.                                                                                                 {
  248.                                                                                                 PORTC=0;
  249.                                                                                                 PORTA=0;
  250.                                                                                                 LED=1;
  251.                                                                                                 temp0=0;
  252.                                                                                                 temp1=0;
  253.                                                                                                 temp2=0;
  254.                                                                                                 while((temp2<2)&&learnkey==0)//6==20S
  255.                                                                                                                                         {
  256.                                                                                                                                         LED=1;
  257.                                                                                                                                         CLRWDT();
  258.                
  259.                                                                                                                                         }//長按25秒擦除EE                                                                       
  260.                                                                                                 if(learnkey==0)
  261.                                                                                                                          {
  262.                                                                                                                         LED=1;                       
  263.                                                                                                                         b=0x0ff;
  264.                                                                                                                         for(i=0;i<=127;i++){EEPROM_WRITE(i=i,b);}                                       
  265.                                                                                                                         LED=0;
  266.                                                                                                                         CLRWDT();
  267.                                                                                                                         while(learnkey==0){}                                                                                                                                       
  268.                                                                                                                         }
  269.                                                                                                 else       
  270.                                                                                                                         {
  271.                                                                                                                
  272.                                                                                                                         CLRWDT();

  273.                                                                                                                         temp0=0;
  274.                                                                                                                         temp1=0;
  275.                                                                                                                         temp2=0;
  276.                                                                                                                
  277.                                                                                                                         LED=0;
  278.                                                                                                                         learnf=1;//進入學習
  279.                                                                                                                         }
  280.                                                                                                         }
  281.                                                                 }

  282.                                         }
  283.                         }


  284.                                                

  285. //===============================================//

  286.                                        
  287. void init(void){        //初始化函數
  288.                 CLRWDT();
  289.         OSCCAL=_READ_OSCCAL_DATA();
  290.                 CMCON=0X07;  //關閉比較器
  291. //MOVLW           TRISAV                               ; 0111B
  292. //MOVWF           TRISA
  293. //MOVLW     TRISBV
  294. //MOVWF            TRISC


  295.                 TRISA=0b11101001;
  296.                 TRISC=0b11111000;
  297.        
  298.                 GIE=1;//開總中斷
  299.                 PEIE=1;
  300.                 TMR1IE=1;   //開啟定時中斷1
  301.                 T0IE=0;                //關閉定時器1中斷
  302.                 OPTION=0X00; //開內部上拉
  303.                 T1CON=0X01;//使用定時器1
  304.                 TMR1L=180;
  305.                 TMR1H=255;  //定義100US中斷一次
  306.                 WPUA=0X0;//關閉上拉
  307.        
  308.                 PORTA=0;
  309.                 PORTC=0;
  310.                         }

  311. void learnok(void)
  312.                         {
  313.                                 LED=1;//學習成功
  314.                                 learn_ok=1;//學習成功
  315.                                 learnf=0;
  316.                                 temp0=0;
  317.                                 temp1=0;
  318.                                 temp2=0;

  319.                         }
  320. void save_learn(void)

  321.                         {
  322.                                
  323.                                 EEPROM_WRITE(127,learnbuf0);//存入指針
  324.                                 learnbuf0=learnbuf0*3;
  325.                                 EEPROM_WRITE(learnbuf0=learnbuf0,cs0);
  326.                                 learnbuf0++;
  327.                                 EEPROM_WRITE(learnbuf0=learnbuf0,cs1);
  328.                                 learnbuf0++;
  329.                                 EEPROM_WRITE(learnbuf0=learnbuf0,cs2);

  330.                                 learnok();
  331.                        
  332.                                
  333.                         }

復制代碼







歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
久久亚洲精精品中文字幕| ...中文天堂在线一区| av在线国产精品| 理论片播放午夜国外| 99c视频在线| 久久精品视频网| 四季av在线一区二区三区| ririsao久久精品一区| 理论片播放午夜国外| 午夜男人天堂| 国产精品黄色大片| √天堂资源在线| 在线观看视频黄色| 成人观看高清在线观看免费| 久久天天躁狠狠躁夜夜爽蜜月| 韩国av一区二区| 日本午夜精品| 黄页网站在线观看| 亚洲精品久久久久久久久久| 日本熟妇毛耸耸xxxxxx| 初高中福利视频网站| 成人在线精品视频| 欧美成人免费观看| 欧美成人一级视频| 精品福利免费观看| 国产一区二区三区免费| 欧美激情成人| 国产精品一区免费在线| 国产免费福利网站| 黄网址在线永久免费观看| 第四色在线视频| 给我免费播放片在线观看| 精品国产乱码久久久久久蜜柚| 亚洲六月丁香色婷婷综合久久 | √…a在线天堂一区| 欧美日韩不卡| 国产免费www| 熟女少妇a性色生活片毛片| 丰满爆乳一区二区三区| 手机成人av在线| 日本黑人久久| 欧美激情亚洲综合一区| 亚洲毛片在线看| 欧美本精品男人aⅴ天堂| 91福利在线看| 亚洲国产精品久久久久秋霞影院| 一区视频在线播放| 国产日韩欧美精品电影三级在线| 成人v精品蜜桃久久一区| 在线看成人短视频| 欧一区二区三区| 欧美黄色网络| 国产精品亲子伦av一区二区三区| 伊人久久av| 国产精品论坛| 少妇淫片在线影院| 亚洲妇女成熟| 欧美精品videosex| 俺来俺也去www色在线观看| 成人高潮aa毛片免费| 最新国产露脸在线观看| 动漫一区在线| 黄av在线播放| 青青在线视频| 极品美鲍一区| 久久r热视频| 成人黄色在线| 99re91这里只有精品| 91亚洲无吗| 一本大道香蕉久久| 啦啦啦在线视频免费观看高清中文| 99视频资源网| 日本一区精品久久久久影院| 手机在线不卡av| 天天操天天插天天射| 中文字幕制服诱惑| 一本在线免费视频| 成人无码精品1区2区3区免费看 | 国产成人免费电影| 亚洲一区中文字幕在线观看| 国产综合久久久久久| 国产精品日韩在线一区| 国产91对白在线播放| 国产99视频在线观看| 国产精品日日做人人爱| 国产福利视频一区二区| 国产区在线观看成人精品| 久久午夜色播影院免费高清| 91丨porny丨中文| 国产性做久久久久久| 国产精品久久久久久久久免费丝袜 | 91精品啪aⅴ在线观看国产| 日韩一级完整毛片| 亚洲国产精品电影在线观看| 自拍亚洲一区欧美另类| 久久99热这里只有精品国产| 8090成年在线看片午夜| 色青青草原桃花久久综合| 日韩一区二区三区四区| 亚洲福利视频网站| 久久精视频免费在线久久完整在线看| 久久久久久久一区二区| 国产精品天天狠天天看| 欧美日韩喷水| 无码人妻精品一区二区三区在线| 超碰在线人人爱| 久久久精品视频成人| 欧美日本精品在线| 国产精品一区二区女厕厕| 一区二区三区网址| av不卡免费在线观看| 911久久香蕉国产线看观看| 亚洲精品免费观看| 麻豆成人免费电影| 国产欧美日韩另类视频免费观看| 婷婷夜色潮精品综合在线| 555www色欧美视频| 日韩中文字幕在线看| 国产不卡精品视男人的天堂| 国内一区二区三区在线视频| 男人天堂av片| 91丨porny丨九色| 日本aⅴ在线观看| 国产三级第一页| 91九色论坛| 丰满大乳国产精品| 亚洲xxx在线| 美女激情视频网站| 黄色av免费在线看| 精品国产第一福利网站| 欧美丝袜一区| 国产一区二区三区在线看麻豆| 《视频一区视频二区| 日韩视频一区二区| 午夜精品一区二区三区在线| 久草精品电影| 欧美精品一区二区三区免费播放| 亚洲天堂2018av| 亚洲图片第一页| 日韩精品视频网址| 国产成人无码精品久久久久| 男人看的污网站| 在线播放三级网站| 国产精品麻豆成人av电影艾秋| 欧美激情综合色综合啪啪| 91一区二区三区在线播放| 欧洲一区二区三区免费视频| 欧美成人手机在线| 欧美影视一区二区| 久久无码专区国产精品s| 欧美brazzers| 亚洲国产精品一| www.777色| 在线观看黄色小视频| 欧美日韩视频免费观看| 伊人久久亚洲影院| 亚洲精品日产精品乱码不卡| 国产乱色国产精品免费视频| 一二三区精品福利视频| 欧美怡红院视频| 欧美精品video| 精品国产无码在线| 免费成人深夜蜜桃视频| 日韩欧美一区二区三区不卡视频| 国产爆初菊在线观看免费视频网站 | 欧美精品三级在线观看| 亚洲精品国产拍免费91在线| 国产日韩欧美影视| 韩国日本美国免费毛片| 日韩欧美三级在线观看| 可以免费看黄色的网站| 神马电影网我不卡| 久久一二三四| 日韩欧美精品中文字幕| 欧美最猛性xxxxx免费| 成人免费aaa| 日本少妇xxxx动漫| www浪潮av99com| 九九热这里有精品| 国产原创一区二区| 精品久久99ma| 欧美成人蜜桃| 日韩中文字幕有码| 一日本道久久久精品国产| 在线观看中文字幕的网站| 国内视频精品| 色综合久久66| 亚洲a成v人在线观看| 欧美xxxxx少妇| 亚洲第一欧美| 三级在线观看视频| 久久国产精品72免费观看| 欧美成人官网二区| 深夜福利成人| 日韩 欧美 精品| 一二三四中文在线| 狠狠做六月爱婷婷综合aⅴ| 国产精品欧美久久久久无广告 | 午夜免费视频网站| 亚洲电影先锋| 91九色美女在线视频| 红桃成人av在线播放| 国产精品私房写真福利视频| 欧美高清第一页| 成人三级视频在线播放| 99视频在线观看免费| 在线免费黄色| 久久国产主播| 亚洲第一福利视频| 中文字幕一区二区三区5566| 国产白袜脚足j棉袜在线观看| 天堂网在线中文| 爱啪啪综合导航| 国产美女一区二区| 这里只有精品视频| 国产原创中文在线观看| 国产免费久久久| 免费在线毛片网站| 日本不卡的三区四区五区| 欧美日韩美女在线观看| 欧美黑人又粗大| 中文字幕 日韩 欧美| 乱人伦中文字幕在线zone| 超碰资源在线| 白白色亚洲国产精品| 免费97视频在线精品国自产拍| 精品久久久噜噜噜噜久久图片 | 亚洲毛片在线免费观看| 免费人成在线观看视频播放| 国产人妻精品一区二区三| 色呦呦在线看| 成人午夜免费av| 欧美成人在线直播| 国产福利片一区二区| 中日韩av在线| 伦理在线一区| 99久久国产综合精品女不卡| 91a在线视频| 欧美 日韩 国产 成人 在线观看 | 亚洲一区二区日韩| 日韩一级片在线观看| 国产a级片免费看| 国产黄色高清视频| 欧美色片在线观看| 亚洲欧美在线观看| 成人综合电影| 男人天堂视频网| xxxx成人| 中文字幕av免费专区久久| 成人激情免费在线| 日本熟妇成熟毛茸茸| 日本片在线看| 国产欧美日韩综合精品一区二区 | 亚洲精品一二区| 国产小视频精品| 蜜桃福利入口| 欧美激情视频一区二区三区在线播放 | 国产美女久久久久| 97精品一区二区视频在线观看| 久久久老熟女一区二区三区91| ass大特写| 在线综合亚洲| 久久精品在线播放| www.99热| 天天综合视频在线观看| av电影在线观看不卡| 国产精品免费久久久久影院| 国产一级一级片| 毛片在线导航| 亚洲色图一区二区| 日韩久久精品一区二区三区| 亚洲美女福利视频| 久久男人av| 精品国产一区二区三区av性色| 美女网站色免费| 亚洲成人免费视频| 青青视频免费在线观看| 韩国av在线播放| 欧美大片专区| 操日韩av在线电影| 亚洲欧美卡通动漫| 欧美另类tv| 亚洲一区精品在线| 久久亚洲国产成人精品无码区| 精品入口麻豆传煤| 欧美成人亚洲| 欧美国产视频日韩| 激情视频在线播放| 另类图片综合电影| 色婷婷av一区二区三区软件| 日韩av片在线看| 免费羞羞视频| 国产一区二区精品久久91| 成人亚洲激情网| 精品久久久免费视频| 色婷婷综合久久久久久| 亚洲欧美国内爽妇网| 人妻aⅴ无码一区二区三区| av网站网址在线观看| 一区二区三区免费| 国产无限制自拍| av天天在线| 成人18精品视频| 欧美影视一区二区| 韩国专线一区二三区| 亚洲欧美视频| 国产精品日韩在线一区| 国产女人18毛片水真多| 国产探花一区在线观看| 久久夜色撩人精品| 欧美bbbbbbbbbbbb精品| 嫩呦国产一区二区三区av| 亚洲第一精品福利| 三级网站在线免费观看| zzzwww在线看片免费| 欧美性色aⅴ视频一区日韩精品| 亚洲美女爱爱视频| 福利成人在线观看| 亚洲另类一区二区| 女人扒开屁股爽桶30分钟| 高清色视频在线观看| 亚洲在线网站| 国产精品久久久亚洲| 亚洲精品国产av| 亚洲欧美综合国产精品一区| 国产福利成人在线| 免费观看黄色一级视频| 亚洲东热激情| 国产精品久久久久av| 天堂在线视频免费| 国产伦理一区| 国产精品制服诱惑| 国产精品视频一区麻豆| 精品一区二区三区日韩| 欧美精品一区二区视频| 日本性视频网站| av午夜一区麻豆| 国产日韩亚洲欧美在线| 色播色播色播色播色播在线| 国产91精品一区二区| 区一区二区三区中文字幕| 天天摸天天干| 日本一区免费视频| 欧美牲交a欧美牲交aⅴ免费下载| 天天av综合网| 精品久久久久久中文字幕一区奶水| 在线观看网站黄| 色在线中文字幕| 亚洲精品综合久久中文字幕| 天堂在线免费观看视频| 久久性感美女视频| 成人精品一区二区三区| xxxxxx国产精品视频| 91丨porny丨最新| 日韩 欧美 高清| 搞黄网站在线观看| 欧美精品一区二区三区在线| 精品视频一区二区在线观看| 啄木系列成人av电影| 青青草一区二区| 鲁啊鲁视频在线精品| 99国产精品久久久久久久久久 | 亚洲AV第二区国产精品| 久久国产欧美日韩精品| 黄黄视频在线观看| 国产三级电影在线| 欧美区视频在线观看| 成熟的女同志hd| 精品国产91乱码一区二区三区四区 | 亚洲色图欧美日韩| 欧美久久久网站| 欧美激情视频在线观看| 中文天堂网在线www| 国产成人av影院| 别急慢慢来1978如如2| 岛国av免费在线观看| 在线播放国产精品| 亚洲熟女www一区二区三区| 日日夜夜天天综合| www国产91| 亚洲区小说区图片区| 国产成人8x视频一区二区| 久色视频在线播放| av毛片午夜不卡高**水| 日韩中文字幕在线看| 亚洲女人天堂a在线播放| 成人三级伦理片| 在线能看的av网站| 亚洲精品69| 日本精品免费一区二区三区| 一个人在线观看免费视频www| 国产精品久久久久久户外露出 | 成人网18免费看| 欧美性极品xxxx做受| 激情综合五月网| 亚洲人成人一区二区三区| 久久久久久久久网| av中文资源在线资源免费观看| 日韩午夜在线视频| 人妻夜夜爽天天爽|