仪器社区

单片机如何测量波形的频率和占空比

跑调啦1 2012-08-01
评论
全部评论
不如跳舞八
单片机测量波形的频率和占空比的算法:
1 使用计数器不断计数外部脉冲的个数,并在存储器或寄存器中保存。
2 利用定时器定时1秒中,每次当1秒到时,去读保存在存储器或寄存器中的脉冲个数。这个值就是每秒中的脉冲个数 即测量的频率f。
3 可以推算出波形的周期 T=1/ f 。
4 利用定时器的门控位GATE和外部中断1的引脚,可以测量波形的高电平时间 t1,
经过计算: ( t1×)/T 即为波形的占空比。

上面给出了测量波形的频率和占空比的实现算法,自己可以按算法,编写软件去实现。
16 0 2018-04-05 0条评论 回复
abc老虎熊熊
1、首先要确定波形是否有毛刺等干扰?
2、其次要确定波形的频率大概范围?
3、还要确定波形是周期波?还是任意波?
只有知道这些基本的参数,才可以进行单片机的选型、晶振选型、软件定时中断的周期选择,然后给出相应的思路和方法。
如果波形比较理想,没有毛刺,测频率一般采取过零点;
如果波形有毛刺,可以考虑先把毛刺过滤掉,过滤电路或软件视具体情况而定。
如果频率比较高,可以设置一个较长定时,比如100ms,500ms,1s等,根据波形频率选择,然后在此定时内,统计有多少个过零点,进而得出频率;
如果频率比较低,可以设置一个计数器,统计波形两次过零点之间的计数器的计数值,进而得出频率。
占空比思路和上面类似,根据统计幅度为0的时长,以及非0的时长,进而求出占空比。
20 0 2012-08-02 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论