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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機怎么測量433MHZ的無線信號呢

[復制鏈接]
跳轉到指定樓層
樓主
ID:478344 發表于 2019-8-15 18:15 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
我現在在做一個51單片機解碼無線433模塊的遙控器,想知道怎么測量他的脈沖信號?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

7#
ID:1067318 發表于 2025-4-15 22:24 | 只看該作者
#include "stc8g.h"
INT0 BIT P3.2

ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0ISR
ORG 0100H






INT0ISR:
CLR    TR0
JB INT0,RISING ;判斷上升沿和下降沿
;CPL P1.0 ;測試端口   下降沿
MOV   R1,TH0
MOV  R2 ,TL0
MOV   TL0,#0
MOV   TH0,#0
SETB   TR0
;CALL    UP_SEND  ;發送高電平脈沖寬度
             MOV    SBUF,#0AAH
                         JNB    TI,$                          ;發送完成標志
             CLR    TI  
             MOV    SBUF,R1
             JNB    TI,$                          ;發送完成標志
             CLR    TI
                         MOV    SBUF,R2
             JNB    TI,$                          ;發送完成標志
             CLR    TI  
RETI


RISING: ;CPL P1.1 ;測試端口  上升沿
MOV   R1,TH0
MOV  R2,TL0
MOV   TL0,#0
MOV   TH0,#0
SETB   TR0
;CALL    DOWN_SEND  ;發送低電平脈沖寬度
             MOV    SBUF,#0BBH
                         JNB    TI,$                          ;發送完成標志
             CLR    TI  
             MOV    SBUF,R1
             JNB    TI,$                          ;發送完成標志
             CLR    TI
                         MOV    SBUF,R2
             JNB    TI,$                          ;發送完成標志
             CLR    TI  
RETI

;=============================
MAIN:
MOV SP, #5FH
MOV P1M0, #00H
MOV P1M1, #00H
MOV P3M0, #00H
MOV P3M1, #00H
MOV P5M0, #00H
MOV P5M1, #00H

UARTINIT:                ;230400bps@11.0592MHz
        MOV SCON,#50H                ;8位數據,可變波特率
        ORL AUXR,#01H                ;串口1選擇定時器2為波特率發生器
        ORL AUXR,#04H                ;定時器時鐘1T模式
        MOV T2L,#0F4H                ;設置定時初始值
        MOV T2H,#0FFH                ;設置定時初始值
        ORL AUXR,#10H                ;定時器2開始計時


ANL   AUXR, #00111111B
MOV  TMOD,#00010001B
MOV   TCON,#00000000B
MOV   TL0,#0
MOV   TH0,#0

CLR IT0 ;使能 INT0 上升沿和下降沿中斷
SETB EX0 ;使能 INT0 中斷
SETB EA

TEST:
DELAY1MS:                        ;@22.1184MHz
//        NOP
//        NOP
//        PUSH 30H
//        PUSH 31H
//        MOV 30H,#29
//        MOV 31H,#181
//NEXT:
//        DJNZ 31H,NEXT
//        DJNZ 30H,NEXT
//        POP 31H
//        POP 30H
//MOV    SBUF,#0AAH
//                         JNB    TI,$                          ;發送完成標志
//             CLR    TI
JMP TEST



         UP_SEND:        
                     MOV    SBUF,#0AAH
                         JNB    TI,$                          ;發送完成標志
             CLR    TI  
             MOV    SBUF,R1
             JNB    TI,$                          ;發送完成標志
             CLR    TI
                         MOV    SBUF,R2
             JNB    TI,$                          ;發送完成標志
             CLR    TI  
                  RET            


END
回復

使用道具 舉報

6#
ID:1094767 發表于 2025-4-11 16:46 來自手機 | 只看該作者
感謝各位大神!謝謝
回復

使用道具 舉報

5#
ID:478344 發表于 2019-8-18 23:02 | 只看該作者
小剛的故事 發表于 2019-8-16 10:13
用定時器測量就可以啊,查詢電平變化時定時器的計數值

#include <reg52.H>
typedef unsigned int  uint ;
typedef unsigned char  uchar ;

sbit RF=P3^2;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
uchar mma1,mma2,mma3,mma4;  //第一次遙控編碼
uchar rf_ok1;            //第一次遙控編碼賦值成功
uchar mmb1,mmb2,mmb3,mmb4;  //第二次遙控編碼
uchar rf_ok2;            //第二次遙控編碼賦值成功
uchar bma1,bma2,bma3,bma4;//臨時遙控編碼
uchar last_state;       //上一個編碼狀態,0為低,1為高
uint hh_w=0,ll_w=0;     //高低電平寬度初始化
uchar tb_ok;     //同步碼標志位,置1表示已經收到同步碼,置0表示未收到同步碼
uchar rf_data[4];  //最后收到的遙控編碼
uchar ma_x;     //接收到第幾位編碼
uchar s;  //收到第一個碼和第二個碼之間不能超過S個周期
uchar rf_ok;   
uchar decode_ok;
void ledinit();
void ex0init();
void ledinit()
{
        led1=1;
        led2=1;
        led3=1;
        led4=1;
       
}

void main()
{
        ledinit();
        ex0init();
        TMOD=0X01;
        TH0=0X00;
        TL0=0X00;
        while(1)
        {
                if(decode_ok==1)
                {
                        switch(rf_data[3])
                        {
                                case 0xc8:led1=0;break;                               
                                case 0xc4:led2=0;break;                                                         
              case 0xc2:led3=0;break;
                                case 0xc1:led4=0;break;
                               
                               
                }
        }
       
}
void ex0init()
{
        EX0=1;
        IT0=1;
        EA=1;       
}
void ex0() interrupt 0
{
        uchar rf_tmp=0;
        EX0=0;
        TH0=0;
        TL0=0;
        TR0=1;
       
        if(RF==1)

        {
                TR0=0;
          hh_w=TH0*256+TL0;
          TH0=0;
          TL0=0;
          TR0=1;
        }
        else
        {
                TR0=0;
          ll_w=TH0*256+TL0;
                last_state=0;
        }
        if(!last_state)
{               
        if(((hh_w>=300)&&(hh_w<=400))&&((ll_w>=10000)&&(ll_w<=10500)))
        {
                tb_ok=1;
                ma_x=0;
                bma1=0;bma2=0;bma3=0;bma4=0;
                TH0=0;
    TL0=0;
    TR0=1;
    if(RF==0)
                {
                        TR0=0;
            ll_w=TH0*256+TL0;
                   last_state=0;
                }                       
        }
        else if ((tb_ok)&&(ll_w>=900)&&(ll_w<1000))
        {
                ma_x++;
                if(ma_x>23)
                {
                        if(!rf_ok1)
                        {
                                mma1=bma1;
                                mma2=bma2;
                                mma3=bma3;
                                mma4=bma4;
                                rf_ok1=1;
                                tb_ok=0;
                                s=1300;
                        }
                        else{
                                    mmb1=bma1;
                                    mmb2=bma2;
                                    mmb3=bma3;
                                    mmb4=bma4;
                                    rf_ok2=1;
                                    tb_ok=0;
                                    TH0=0;
            TL0=0;
            TR0=1;
                                     if(RF==0)
           {
              TR0=0;
                    ll_w=TH0*256+TL0;
                           last_state=0;
           }                       
                     }
      }
         }
                         else if((tb_ok)&&((ll_w>=300)&&( ll_w<=400)))
                         {
                                 switch(ma_x)
                                 {
                                                                 case 0 : { bma1=bma1 | 0x80;
                                                                                 break; }   //遙控編碼第1位
                                                                 case 1 : { bma1=bma1 | 0x40;  
                                                                                 break; }
                                                                 case 2 : { bma1=bma1 | 0x20;
                                                                                 break; }
                                                                 case 3 : { bma1=bma1 | 0x10;
                                                                                 break; }
                                                                 case 4 : { bma1=bma1 | 0x08;
                                                                                 break; }
                                                                 case 5 : { bma1=bma1 | 0x04;
                                                                                 break; }
                                                                 case 6 : { bma1=bma1 | 0x02;
                                                                                 break; }
                                                                 case 7 : { bma1=bma1 | 0x01;
                                                                                 break; }
                                                                 case 8 : { bma2=bma2 | 0x80;
                                                                                 break; }
                                                                 case 9 : { bma2=bma2 | 0x40;
                                                                                 break; }
                                                                 case 10: { bma2=bma2 | 0x20;
                                                                                 break; }
                                                                 case 11: { bma2=bma2 | 0x10;
                                                                                 break; }
                                                                 case 12: { bma2=bma2 | 0x08;
                                                                                 break; }
                                                                 case 13: { bma2=bma2 | 0x04;
                                                                                 break; }
                                                                 case 14: { bma2=bma2 | 0x02;
                                                                                 break; }
                                                                 case 15: { bma2=bma2 | 0x01;
                                                                                 break; }
                                                                 case 16: { bma3=bma3 | 0x80;
                                                                                 break; }
                                                                 case 17: { bma3=bma3 | 0x40;
                                                                                 break; }
                                                                 case 18: { bma3=bma3 | 0x20;
                                                                                 break; }
                                                                 case 19: { bma3=bma3 | 0x10;
                                                                                 break; }
                                                                 case 20: { bma4=bma4 | 0x08;
                                                                                 break; }// 按鍵狀態第1位
                                                                 case 21: { bma4=bma4 | 0x04;
                                                                                 break; }
                                                                 case 22: { bma4=bma4 | 0x02;
                                                                                break; }
                                                                 case 23: { bma4=bma4 | 0x01;
                         if(!rf_ok1)
                                                                                                 {
                           mma1=bma1;
                           mma2=bma2;
                           mma3=bma3;
                                                                                       mma4=bma4;
                           rf_ok1=1;
                                                                                                         tb_ok=0;
                                                                                                         
                                                                                                         s=1300;
                                                                                                         
                                                                                                 }       
                                                                                                else
                                                                                                {
                           mmb1=bma1;
                           mmb2=bma2;
                           mmb3=bma3;
                                                                                       mmb4=bma4;
                           rf_ok2=1;
                                                                                                        tb_ok=0;
                                                                                                        break;
                                                                                                }                                                                                                         
                    }
                                              }
                                 ma_x++;
}
  else {
         ma_x=0;tb_ok=0;bma1=0;bma2=0;bma3=0;bma4=0;hh_w=0;ll_w=0;
       }
            last_state=1;
}
   if(rf_ok1)
         {
                 s--;
                 if(!s)rf_ok1=0;
                 if(rf_ok2)
                 {
                         if((mma1==mmb1)&&(mma2==mmb2&&(mma3==mmb3)&&(mma4==mmb4)))
                         {
                                 rf_ok=1;
                                 rf_ok1=0;
                                 rf_ok2=0;
                         }
                         else
                         {
                                 rf_ok=0;
                                 rf_ok1=0;
                                 rf_ok2=0;
                         }
                 }
   }
         if((rf_ok))
         {
                 rf_ok=0;
                 rf_data[0]=mma1;
                 rf_data[1]=mma2;
                 rf_data[2]=mma2;
                 rf_data[3]=mma3;
                 decode_ok=1;
         }

}
回復

使用道具 舉報

地板
ID:478344 發表于 2019-8-18 23:01 | 只看該作者
#include <reg52.H>
typedef unsigned int  uint ;
typedef unsigned char  uchar ;

sbit RF=P3^2;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
uchar mma1,mma2,mma3,mma4;  //第一次遙控編碼
uchar rf_ok1;            //第一次遙控編碼賦值成功
uchar mmb1,mmb2,mmb3,mmb4;  //第二次遙控編碼
uchar rf_ok2;            //第二次遙控編碼賦值成功
uchar bma1,bma2,bma3,bma4;//臨時遙控編碼
uchar last_state;       //上一個編碼狀態,0為低,1為高
uint hh_w=0,ll_w=0;     //高低電平寬度初始化
uchar tb_ok;     //同步碼標志位,置1表示已經收到同步碼,置0表示未收到同步碼
uchar rf_data[4];  //最后收到的遙控編碼
uchar ma_x;     //接收到第幾位編碼
uchar s;  //收到第一個碼和第二個碼之間不能超過S個周期
uchar rf_ok;   
uchar decode_ok;
void ledinit();
void ex0init();
void ledinit()
{
        led1=1;
        led2=1;
        led3=1;
        led4=1;
       
}

void main()
{
        ledinit();
        ex0init();
        TMOD=0X01;
        TH0=0X00;
        TL0=0X00;
        while(1)
        {
                if(decode_ok==1)
                {
                        switch(rf_data[3])
                        {
                                case 0xc8:led1=0;break;                               
                                case 0xc4:led2=0;break;                                                         
              case 0xc2:led3=0;break;
                                case 0xc1:led4=0;break;
                               
                        P1=rf_data[3];
                               
                }
        }
       
}
void ex0init()
{
        EX0=1;
        IT0=1;
        EA=1;       
}
void ex0() interrupt 0
{
        uchar rf_tmp=0;
        EX0=0;
        TH0=0;
        TL0=0;
        TR0=1;
       
        if(RF==1)

        {
                TR0=0;
          hh_w=TH0*256+TL0;
          TH0=0;
          TL0=0;
          TR0=1;
        }
        else
        {
                TR0=0;
          ll_w=TH0*256+TL0;
                last_state=0;
        }
        if(!last_state)
{               
        if(((hh_w>=300)&&(hh_w<=400))&&((ll_w>=10000)&&(ll_w<=10500)))
        {
                tb_ok=1;
                ma_x=0;
                bma1=0;bma2=0;bma3=0;bma4=0;
                TH0=0;
    TL0=0;
    TR0=1;
    if(RF==0)
                {
                        TR0=0;
            ll_w=TH0*256+TL0;
                   last_state=0;
                }                       
        }
        else if ((tb_ok)&&(ll_w>=900)&&(ll_w<1000))
        {
                ma_x++;
                if(ma_x>23)
                {
                        if(!rf_ok1)
                        {
                                mma1=bma1;
                                mma2=bma2;
                                mma3=bma3;
                                mma4=bma4;
                                rf_ok1=1;
                                tb_ok=0;
                                s=1300;
                        }
                        else{
                                    mmb1=bma1;
                                    mmb2=bma2;
                                    mmb3=bma3;
                                    mmb4=bma4;
                                    rf_ok2=1;
                                    tb_ok=0;
                                    TH0=0;
            TL0=0;
            TR0=1;
                                     if(RF==0)
           {
              TR0=0;
                    ll_w=TH0*256+TL0;
                           last_state=0;
           }                       
                     }
      }
         }
                         else if((tb_ok)&&((ll_w>=300)&&( ll_w<=400)))
                         {
                                 switch(ma_x)
                                 {
                                                                 case 0 : { bma1=bma1 | 0x80;
                                                                                 break; }   //遙控編碼第1位
                                                                 case 1 : { bma1=bma1 | 0x40;  
                                                                                 break; }
                                                                 case 2 : { bma1=bma1 | 0x20;
                                                                                 break; }
                                                                 case 3 : { bma1=bma1 | 0x10;
                                                                                 break; }
                                                                 case 4 : { bma1=bma1 | 0x08;
                                                                                 break; }
                                                                 case 5 : { bma1=bma1 | 0x04;
                                                                                 break; }
                                                                 case 6 : { bma1=bma1 | 0x02;
                                                                                 break; }
                                                                 case 7 : { bma1=bma1 | 0x01;
                                                                                 break; }
                                                                 case 8 : { bma2=bma2 | 0x80;
                                                                                 break; }
                                                                 case 9 : { bma2=bma2 | 0x40;
                                                                                 break; }
                                                                 case 10: { bma2=bma2 | 0x20;
                                                                                 break; }
                                                                 case 11: { bma2=bma2 | 0x10;
                                                                                 break; }
                                                                 case 12: { bma2=bma2 | 0x08;
                                                                                 break; }
                                                                 case 13: { bma2=bma2 | 0x04;
                                                                                 break; }
                                                                 case 14: { bma2=bma2 | 0x02;
                                                                                 break; }
                                                                 case 15: { bma2=bma2 | 0x01;
                                                                                 break; }
                                                                 case 16: { bma3=bma3 | 0x80;
                                                                                 break; }
                                                                 case 17: { bma3=bma3 | 0x40;
                                                                                 break; }
                                                                 case 18: { bma3=bma3 | 0x20;
                                                                                 break; }
                                                                 case 19: { bma3=bma3 | 0x10;
                                                                                 break; }
                                                                 case 20: { bma4=bma4 | 0x08;
                                                                                 break; }// 按鍵狀態第1位
                                                                 case 21: { bma4=bma4 | 0x04;
                                                                                 break; }
                                                                 case 22: { bma4=bma4 | 0x02;
                                                                                break; }
                                                                 case 23: { bma4=bma4 | 0x01;
                         if(!rf_ok1)
                                                                                                 {
                           mma1=bma1;
                           mma2=bma2;
                           mma3=bma3;
                                                                                       mma4=bma4;
                           rf_ok1=1;
                                                                                                         tb_ok=0;
                                                                                                         
                                                                                                         s=1300;
                                                                                                         
                                                                                                 }       
                                                                                                else
                                                                                                {
                           mmb1=bma1;
                           mmb2=bma2;
                           mmb3=bma3;
                                                                                       mmb4=bma4;
                           rf_ok2=1;
                                                                                                        tb_ok=0;
                                                                                                        break;
                                                                                                }                                                                                                         
                    }
                                              }
                                 ma_x++;
}
  else {
         ma_x=0;tb_ok=0;bma1=0;bma2=0;bma3=0;bma4=0;hh_w=0;ll_w=0;
       }
            last_state=1;
}
   if(rf_ok1)
         {
                 s--;
                 if(!s)rf_ok1=0;
                 if(rf_ok2)
                 {
                         if((mma1==mmb1)&&(mma2==mmb2&&(mma3==mmb3)&&(mma4==mmb4)))
                         {
                                 rf_ok=1;
                                 rf_ok1=0;
                                 rf_ok2=0;
                         }
                         else
                         {
                                 rf_ok=0;
                                 rf_ok1=0;
                                 rf_ok2=0;
                         }
                 }
   }
         if((rf_ok))
         {
                 rf_ok=0;
                 rf_data[0]=mma1;
                 rf_data[1]=mma2;
                 rf_data[2]=mma2;
                 rf_data[3]=mma3;
                 decode_ok=1;
         }

}
回復

使用道具 舉報

板凳
ID:478344 發表于 2019-8-18 23:00 | 只看該作者
#include <reg52.H>
typedef unsigned int  uint ;
typedef unsigned char  uchar ;

sbit RF=P3^2;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
uchar mma1,mma2,mma3,mma4;  //第一次遙控編碼
uchar rf_ok1;            //第一次遙控編碼賦值成功
uchar mmb1,mmb2,mmb3,mmb4;  //第二次遙控編碼
uchar rf_ok2;            //第二次遙控編碼賦值成功
uchar bma1,bma2,bma3,bma4;//臨時遙控編碼
uchar last_state;       //上一個編碼狀態,0為低,1為高
uint hh_w=0,ll_w=0;     //高低電平寬度初始化
uchar tb_ok;     //同步碼標志位,置1表示已經收到同步碼,置0表示未收到同步碼
uchar rf_data[4];  //最后收到的遙控編碼
uchar ma_x;     //接收到第幾位編碼
uchar s;  //收到第一個碼和第二個碼之間不能超過S個周期
uchar rf_ok;   
uchar decode_ok;
void ledinit();
void ex0init();
void ledinit()
{
        led1=1;
        led2=1;
        led3=1;
        led4=1;
       
}

void main()
{
        ledinit();
        ex0init();
        TMOD=0X01;
        TH0=0X00;
        TL0=0X00;
        while(1)
        {
                if(decode_ok==1)
                {
                        switch(rf_data[3])
                        {
                                case 0xc8:led1=0;break;                               
                                case 0xc4:led2=0;break;                                                         
              case 0xc2:led3=0;break;
                                case 0xc1:led4=0;break;
                               
                        P1=rf_data[3];
                               
                }
        }
       
}
void ex0init()
{
        EX0=1;
        IT0=1;
        EA=1;       
}
void ex0() interrupt 0
{
        uchar rf_tmp=0;
        EX0=0;
        TH0=0;
        TL0=0;
        TR0=1;
       
        if(RF==1)

        {
                TR0=0;
          hh_w=TH0*256+TL0;
          TH0=0;
          TL0=0;
          TR0=1;
        }
        else
        {
                TR0=0;
          ll_w=TH0*256+TL0;
                last_state=0;
        }
        if(!last_state)
{               
        if(((hh_w>=300)&&(hh_w<=400))&&((ll_w>=10000)&&(ll_w<=10500)))
        {
                tb_ok=1;
                ma_x=0;
                bma1=0;bma2=0;bma3=0;bma4=0;
                TH0=0;
    TL0=0;
    TR0=1;
    if(RF==0)
                {
                        TR0=0;
            ll_w=TH0*256+TL0;
                   last_state=0;
                }                       
        }
        else if ((tb_ok)&&(ll_w>=900)&&(ll_w<1000))
        {
                ma_x++;
                if(ma_x>23)
                {
                        if(!rf_ok1)
                        {
                                mma1=bma1;
                                mma2=bma2;
                                mma3=bma3;
                                mma4=bma4;
                                rf_ok1=1;
                                tb_ok=0;
                                s=1300;
                        }
                        else{
                                    mmb1=bma1;
                                    mmb2=bma2;
                                    mmb3=bma3;
                                    mmb4=bma4;
                                    rf_ok2=1;
                                    tb_ok=0;
                                    TH0=0;
            TL0=0;
            TR0=1;
                                     if(RF==0)
           {
              TR0=0;
                    ll_w=TH0*256+TL0;
                           last_state=0;
           }                       
                     }
      }
         }
                         else if((tb_ok)&&((ll_w>=300)&&( ll_w<=400)))
                         {
                                 switch(ma_x)
                                 {
                                                                 case 0 : { bma1=bma1 | 0x80;
                                                                                 break; }   //遙控編碼第1位
                                                                 case 1 : { bma1=bma1 | 0x40;  
                                                                                 break; }
                                                                 case 2 : { bma1=bma1 | 0x20;
                                                                                 break; }
                                                                 case 3 : { bma1=bma1 | 0x10;
                                                                                 break; }
                                                                 case 4 : { bma1=bma1 | 0x08;
                                                                                 break; }
                                                                 case 5 : { bma1=bma1 | 0x04;
                                                                                 break; }
                                                                 case 6 : { bma1=bma1 | 0x02;
                                                                                 break; }
                                                                 case 7 : { bma1=bma1 | 0x01;
                                                                                 break; }
                                                                 case 8 : { bma2=bma2 | 0x80;
                                                                                 break; }
                                                                 case 9 : { bma2=bma2 | 0x40;
                                                                                 break; }
                                                                 case 10: { bma2=bma2 | 0x20;
                                                                                 break; }
                                                                 case 11: { bma2=bma2 | 0x10;
                                                                                 break; }
                                                                 case 12: { bma2=bma2 | 0x08;
                                                                                 break; }
                                                                 case 13: { bma2=bma2 | 0x04;
                                                                                 break; }
                                                                 case 14: { bma2=bma2 | 0x02;
                                                                                 break; }
                                                                 case 15: { bma2=bma2 | 0x01;
                                                                                 break; }
                                                                 case 16: { bma3=bma3 | 0x80;
                                                                                 break; }
                                                                 case 17: { bma3=bma3 | 0x40;
                                                                                 break; }
                                                                 case 18: { bma3=bma3 | 0x20;
                                                                                 break; }
                                                                 case 19: { bma3=bma3 | 0x10;
                                                                                 break; }
                                                                 case 20: { bma4=bma4 | 0x08;
                                                                                 break; }// 按鍵狀態第1位
                                                                 case 21: { bma4=bma4 | 0x04;
                                                                                 break; }
                                                                 case 22: { bma4=bma4 | 0x02;
                                                                                break; }
                                                                 case 23: { bma4=bma4 | 0x01;
                         if(!rf_ok1)
                                                                                                 {
                           mma1=bma1;
                           mma2=bma2;
                           mma3=bma3;
                                                                                       mma4=bma4;
                           rf_ok1=1;
                                                                                                         tb_ok=0;
                                                                                                         
                                                                                                         s=1300;
                                                                                                         
                                                                                                 }       
                                                                                                else
                                                                                                {
                           mmb1=bma1;
                           mmb2=bma2;
                           mmb3=bma3;
                                                                                       mmb4=bma4;
                           rf_ok2=1;
                                                                                                        tb_ok=0;
                                                                                                        break;
                                                                                                }                                                                                                         
                    }
                                              }
                                 ma_x++;
}
  else {
         ma_x=0;tb_ok=0;bma1=0;bma2=0;bma3=0;bma4=0;hh_w=0;ll_w=0;
       }
            last_state=1;
}
   if(rf_ok1)
         {
                 s--;
                 if(!s)rf_ok1=0;
                 if(rf_ok2)
                 {
                         if((mma1==mmb1)&&(mma2==mmb2&&(mma3==mmb3)&&(mma4==mmb4)))
                         {
                                 rf_ok=1;
                                 rf_ok1=0;
                                 rf_ok2=0;
                         }
                         else
                         {
                                 rf_ok=0;
                                 rf_ok1=0;
                                 rf_ok2=0;
                         }
                 }
   }
         if((rf_ok))
         {
                 rf_ok=0;
                 rf_data[0]=mma1;
                 rf_data[1]=mma2;
                 rf_data[2]=mma2;
                 rf_data[3]=mma3;
                 decode_ok=1;
         }

}
回復

使用道具 舉報

沙發
ID:592974 發表于 2019-8-16 10:13 | 只看該作者
用定時器測量就可以啊,查詢電平變化時定時器的計數值
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美一区二区三区在线播放 | 国产在线资源 | 国产成人精品在线播放 | 亚洲人人 | 国产乱码精品一区二区三区中文 | 国产欧美一区二区三区久久人妖 | 久久这里只有精品首页 | 国产成人精品一区二区三区四区 | 欧美日韩精品中文字幕 | 亚洲精品日韩一区二区电影 | 日韩av在线免费 | 99久久精品国产一区二区三区 | 精品日韩 | av永久免费 | 美女久久久 | 中文字幕视频在线 | 亚洲日本乱码在线观看 | 国产精品美女久久久av超清 | 亚洲视频免费在线播放 | 91看片在线观看 | 国产一区二区三区www | 亚洲+变态+欧美+另类+精品 | 9久久精品 | 91精品亚洲 | 久久久久久免费毛片精品 | av毛片| 91国语清晰打电话对白 | 91久久视频 | 伊人久久精品 | 久久99精品久久久97夜夜嗨 | 欧美性吧| 国产精品1区 | 日本精品一区二区三区在线观看 | 国产成人精品一区二区在线 | 精品一二区 | 亚洲精品一区中文字幕 | 一区在线播放 | 99久久精品一区二区成人 | 网站国产 | 日本h片在线观看 | 91久久综合|