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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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

使用道具 舉報

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

使用道具 舉報

板凳
ID:478344 發(fā)表于 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;       //上一個編碼狀態(tài),0為低,1為高
uint hh_w=0,ll_w=0;     //高低電平寬度初始化
uchar tb_ok;     //同步碼標(biāo)志位,置1表示已經(jīng)收到同步碼,置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; }// 按鍵狀態(tài)第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;
         }

}
回復(fù)

使用道具 舉報

地板
ID:478344 發(fā)表于 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;       //上一個編碼狀態(tài),0為低,1為高
uint hh_w=0,ll_w=0;     //高低電平寬度初始化
uchar tb_ok;     //同步碼標(biāo)志位,置1表示已經(jīng)收到同步碼,置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; }// 按鍵狀態(tài)第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;
         }

}
回復(fù)

使用道具 舉報

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

#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;       //上一個編碼狀態(tài),0為低,1為高
uint hh_w=0,ll_w=0;     //高低電平寬度初始化
uchar tb_ok;     //同步碼標(biāo)志位,置1表示已經(jīng)收到同步碼,置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; }// 按鍵狀態(tài)第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;
         }

}
回復(fù)

使用道具 舉報

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

使用道具 舉報

7#
ID:1067318 發(fā)表于 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  ;發(fā)送高電平脈沖寬度
             MOV    SBUF,#0AAH
                         JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI  
             MOV    SBUF,R1
             JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI
                         MOV    SBUF,R2
             JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI  
RETI


RISING: ;CPL P1.1 ;測試端口  上升沿
MOV   R1,TH0
MOV  R2,TL0
MOV   TL0,#0
MOV   TH0,#0
SETB   TR0
;CALL    DOWN_SEND  ;發(fā)送低電平脈沖寬度
             MOV    SBUF,#0BBH
                         JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI  
             MOV    SBUF,R1
             JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI
                         MOV    SBUF,R2
             JNB    TI,$                          ;發(fā)送完成標(biāo)志
             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位數(shù)據(jù),可變波特率
        ORL AUXR,#01H                ;串口1選擇定時器2為波特率發(fā)生器
        ORL AUXR,#04H                ;定時器時鐘1T模式
        MOV T2L,#0F4H                ;設(shè)置定時初始值
        MOV T2H,#0FFH                ;設(shè)置定時初始值
        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,$                          ;發(fā)送完成標(biāo)志
//             CLR    TI
JMP TEST



         UP_SEND:        
                     MOV    SBUF,#0AAH
                         JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI  
             MOV    SBUF,R1
             JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI
                         MOV    SBUF,R2
             JNB    TI,$                          ;發(fā)送完成標(biāo)志
             CLR    TI  
                  RET            


END
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.天堂av.com| 国产中文一区二区三区 | av毛片 | 九一精品 | 亚洲欧美在线观看 | 中文字幕一区二区在线观看 | 免费久久久久久 | 日韩欧美国产成人一区二区 | 欧美第一区 | 久久久久国产精品 | 久久久精品一区二区三区四季av | 日本不卡免费新一二三区 | 成人av免费播放 | 五月天激情综合网 | 成人精品福利 | 亚洲欧洲成人av每日更新 | 欧美成人激情 | 久久伊| 国产一区91精品张津瑜 | 久热国产在线 | 久久亚洲综合 | 国产一区二区三区四区在线观看 | 日韩精品成人免费观看视频 | 久久久久免费精品国产小说色大师 | 亚洲国产精品久久久久秋霞不卡 | 一区精品视频在线观看 | 日本精品一区二区三区在线观看视频 | 久久久久久久久国产精品 | 国产精品精品久久久久久 | 久草在线| 成人乱人乱一区二区三区软件 | 久久精品亚洲一区二区三区浴池 | 国产精品国产a级 | 久久专区 | 国产成人精品一区二区三区网站观看 | 91视频18| 老司机精品福利视频 | 国产乱码久久久 | 亚洲欧美中文日韩在线v日本 | 国产精品久久久久久久久久免费看 | 国产一区二区三区四区hd |