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





