视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
单片机测量方波的频率、占空比及相位差的方法
2025-09-30 23:13:36 责编:小OO
文档


单片机测量方波的频率、占空比及相位差的方法

1、 频率及占空比的测量

如上图所示,当脉冲的上升沿来临时,将定时器打开;紧接着的下降沿来临时,读取定时器的值,假设定时时间为t1;下一个上升沿来临时关闭定时器,读取定时器的值,假设定时时间为t2。t1即为1个周期内高电平的时间,t2即为脉冲的周期。t1/t2即为占空比,1/t2即为频率。

C 语言程序如下:

TH0=0; //定时器高位,初值设为0

TL0=0; //定时器低位,初值设为0

T0_num=0; //定时器溢出次数,初值设为0

while(pulse); //pulse 为脉冲的输入引脚

while(!pulse); //等待上升沿来临

TR0=1; //打开定时器

while(pusl1); //等待下降沿来临

th1=TH0;tl1=TL0;num1=T0_num; //保存定时器值

while(!pusl1); //等待上升沿来临

TR0=0; //关闭定时器

th2=TH0;tl2=TL0;num2=T0_num; //保存定时器值

上升沿打开定时器 下降沿读取定时器值并保存 下一个上升沿关

闭定时器,读取

定时器值并保存

测量相位差的电路如上所示,待测量的两路脉冲分别作为两个D触发器的时钟输入,两个D触发器的输入端D及S端都接高电平,第一个D触发器的输出接第二个D触发器的R端,第二个D触发器的互补输出端接第一个D触发器的R端。从下面的波形图可以看出,第一个D触发器输出的脉冲信号的占空比乘以2π即为相位差。这样就将测量两路方波信号的相位差转化为测量一路方波信号的占空比,就可以按照前面介绍的测量占空比的方法来测量了。

黄色的波形为脉冲1,蓝色的波形为脉冲2,红色的波形为相位差。下载本文

显示全文
专题