page71

导航

测量ne555方波发生器的方法——使用定时器

用测周期法测量频率,一个定时器计时1s,另一个定时器计数(建议定时器0,一般符合电路)1s内有多少个脉冲。

测量时,NET—SIG与P34脚相连,p34脚接入的计数器0的中断

void initTimer() 

{
TMOD=0x15;     // C/T 定时器0工作方式1, 做16位计数器 ,C/T 定时器1 做16位定时器。
TL1 = 0x66; 
TH1 = 0xFC;  //定时器11ms定时
TH0=0;       // 计数器0从0开始计数
TL0=0;     
EA=1;
ET1=1;
TR0=TR1=1;     //启动定时、计数。   
}

void timer1() interrupt 3
{
static u16 counter;
TL1 = 0x66;      //1ms定时
TH1 = 0xFC;
counter++; 
if(counter>=1000)
{
counter=0;
flag=1;
fre=(TH0<<8)|TL0;     //变量保存频率计的数
TH0=TL0=0;        //计数器0清零 ,以便下一次的。
D[1]=(u8)(fre>>8);
D[2]=(u8)(fre&0x00ff);
}
}

 

posted on 2020-11-13 21:20  page71  阅读(314)  评论(0编辑  收藏  举报