单片机用c语言编写测量波形频率和占空比,单片机测量方波的频率、占空比及相位差的方法...

1、频率及占空比的测量

70081353_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;   //保存定时器值

2、相位差的测量

70081353_2

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

70081353_3

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值