怎样用51单片机计数器测量一个高电平脉冲的宽度,c语言程式,高电平开始计数,低电平停止并读取计数值。谢

2024-11-18 20:30:40
推荐回答(2个)
回答1:

设你的P0.0接入脉冲,用T0定时计数器计数:
TR0 = 0;
while(P0.0 == 0) //当检测到高电平,开启计数器
TR0 =1;
while(P0.0 == 1) //当脉冲变低,关闭计数器
TR0 = 0;

然后直接读取 TH0和TL0中的计数数据,再乘以你的计数时间间隔(每计一个数的时间,跟你的时钟频率有关系)。

回答2:

首先了解你要测的脉冲宽度最小是多少?然后至少选择8倍的采用率的时钟去采样;否则不太准。