1、首先要确定波形是否有毛刺等干扰?
2、其次要确定波形的频率大概范围?
3、还要确定波形是周期波?还是任意波?
只有知道这些基本的参数,才可以进行单片机的选型、晶振选型、软件定时中断的周期选择,然后给出相应的思路和方法。
如果波形比较理想,没有毛刺,测频率一般采取过零点;
如果波形有毛刺,可以考虑先把毛刺过滤掉,过滤电路或软件视具体情况而定。
如果频率比较高,可以设置一个较长定时,比如100ms,500ms,1s等,根据波形频率选择,然后在此定时内,统计有多少个过零点,进而得出频率;
如果频率比较低,可以设置一个计数器,统计波形两次过零点之间的计数器的计数值,进而得出频率。
占空比思路和上面类似,根据统计幅度为0的时长,以及非0的时长,进而求出占空比。