基于高速計數器,計算從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寄存器就被復位。