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

2024年11月18日 20:30
有2个网友回答
网友(1):

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

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

网友(2):

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