專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實(shí)例 >> 瀏覽文章

C51脈沖寬度檢測程序

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2014年03月12日   【字體:

/**********************************************
  315無線模塊 PT2262 1.5M 270KHz 可以測出脈沖寬度
  起始時間  5000us
  高電平時間 490us
  低電平時間 160us
  HH=1
  LL=0
  LH=F
***********************************************/
 
#include<reg51.h>
typedef unsigned int uint;
long plu;
void delay(uint);
main()
{
     TMOD=0x09;     //0x0000 1001b
     ET0=1;               //定時器0中斷允許
//   EX0 = 0;              // 關(guān)閉INT0中
     EA=1;    //CPU開中斷
    while(1)
     {
        TH0=0x00;                //計數(shù)器高8
        TL0=0x00;               //計數(shù)器低8
        TF0=0;                     //計數(shù)器0溢出標(biāo)志置0
        while(INT0==1);        //等待P3.2變低
        TR0=1;                    //由INT0啟動計數(shù)器
        while(INT0==0);      //等待P3.2變高
        while(INT0==1);       //等待P3.2再變低
        TR0=0;                      //T0停止計數(shù)
         plu=TH0*256+TL0; //計數(shù)值
        if(plu>4000)              //判斷
             P0=0x0c;             //0x0000 1100b
        else
            P0=~0x0c;
        P2=~P2;
        delay(6635);
 
 }
}
void delay(uint t)
{
 while(t--);
}

關(guān)閉窗口

相關(guān)文章