基于單片機(jī)的等精度頻率計(jì)設(shè)計(jì)
3 軟件設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)主要是和硬件電路相結(jié)合,正確地實(shí)現(xiàn)等精度測量。整個系統(tǒng)軟件的設(shè)計(jì)采用了自頂向下的模塊化的結(jié)構(gòu)方式,將各個功能分成獨(dú)立模塊,由系統(tǒng)的程序統(tǒng)一管理執(zhí)行。它主要完成各種功能,如測量、 數(shù)據(jù)運(yùn)算、顯示等。如圖4所示為頻率測量主程序流程圖,在計(jì)數(shù)前對計(jì)數(shù)器清零。然后,發(fā)出命令打開閘門進(jìn)入閘門時間,計(jì)數(shù)器在閘門時間內(nèi)計(jì)數(shù)。延時子程序結(jié)束后,發(fā)出命令關(guān)閉閘門使計(jì)數(shù)器停止計(jì)數(shù);單片機(jī)再依照程序讀取計(jì)數(shù)器的值,并與單片機(jī)內(nèi)部計(jì)數(shù)器所計(jì)的值合并在一起。由公式(1),即被測頻率fx=f0×Nx/N0來進(jìn)行運(yùn)算,由于精度要求,Nx和N0都由24位二進(jìn)制數(shù)來計(jì)數(shù)。因此,要在單片機(jī)內(nèi)部進(jìn)行多字節(jié)無符號二進(jìn)制數(shù)的乘法和除法運(yùn)算,并將運(yùn)算結(jié)果轉(zhuǎn)換成BCD碼,顯示運(yùn)算結(jié)果。
4 結(jié)束語
本文作者創(chuàng)新點(diǎn):采用單片機(jī)AT89C52作為系統(tǒng)控制單元,輔以適當(dāng)?shù)能?、硬件資源完成以單片機(jī)為核心的等精度頻率計(jì)設(shè)計(jì),實(shí)現(xiàn)頻率的等精度測量。設(shè)計(jì)采用標(biāo)準(zhǔn)時基信號為10MHz,也可以在晶振部分加一分頻電路,根據(jù)不同的被測頻率調(diào)整不同的標(biāo)準(zhǔn)信號頻率;等精度頻率計(jì)不僅可以測量頻率,還可以測量周期、相位[5]和用于計(jì)數(shù),只要編寫相應(yīng)的程序變可實(shí)現(xiàn)相應(yīng)的功能。經(jīng)過實(shí)驗(yàn)測試后,等精度頻率計(jì)運(yùn)行可靠;該等精度頻率計(jì)可用于工程領(lǐng)域的高速計(jì)數(shù)場合,預(yù)計(jì)可以產(chǎn)生20萬元左右的經(jīng)濟(jì)效益。
評論