程可知:(1)定時器每次溢出中斷時,WAIT語句必須執行完才能響應,該條指令的執行時間為2μs,我們取其平均延遲時間為1μs;(2)CPU響應中斷到執行中斷服務程序首條指令至少需3個完整的機器周期,即延時3μs;(3)中斷服務程序中實際的定時時間是在執行完時間常數的裝載指令后才開始,兩條裝載指令占用4μs。根據以上分析。每次中斷后,將延遲約8μs后才開始定時。實際獲得的定時時間必須考慮到8μs的延遲,該頻率計采用軟件補償的處理方法來降低其影響。由于軟件修正相當方便在儀器調試中可作進一步的調整,因此基本上可消除軟件誤差。
頻率計根據被測信號頻率的大小,軟件控制自動切換頻率檢測時間,或自動轉換為周期測量,其軟件設計采用模塊化結構設計,程序設計與調試都很方便,功能擴充也很靈活。單片機上電復位后,首先執行主程序,完成有關芯片和定時器的初始化,設置數據緩沖區、顯示方式、數據計數器初值及頻率初測方式等。開中斷后,隨時檢測外部中斷和定時器所發出的中斷請求信號,一旦有則轉入相應的中斷服務程序,否則返回顯示程序,顯示所測的頻率值。
5. 結束語
本文通過比較以往電子計數測頻原理、電子計數測周期原理的分析,結合單片機定時/計數器的工作原理,給出了等精度測量原理以及軟件誤差的消除方法。實現起來簡單可靠且性能穩定、精度高、性價比低等優點。





