基于高速计数器,计算从X点输入方波个数,定时提取计数器值,换算得到频率。直接通过定时器数值判断来实现定时计数的精度不高,提高精度需要考虑定时中断方式。
初始化寄存器,通过M8235,M8236复位来选择C235,C236高速计数器,对应X0,X1。
M8028置位,以开启10ms定时器。初始化定时器T32,周期2000ms。
每次T32位于0到20时,M32置位1,相当于产生一个周期为2s的方波。M32上升沿触发C235和C236的采集,保存至D50和D52。同时触发M33。M33的上升沿会复位C235和C236,以及它自己。M33是为了提供足够的时间进行DMUL,避免在进行DMUL前,C寄存器就被复位。