吳傳全
(江蘇省無錫交通高等職業(yè)技術(shù)學(xué)校,江蘇無錫214151)
測量正弦波的頻率,一般先通過信號轉(zhuǎn)換電路把正弦波轉(zhuǎn)換為同頻率的方波,然后進(jìn)行測量。測量的方法有兩種:一是計(jì)數(shù)法,其測量原理是單片機(jī)提供一定頻率的基準(zhǔn)脈沖信號,當(dāng)被測方波信號為高電平時,通過計(jì)算高電平期間基準(zhǔn)信號的個數(shù),結(jié)合基準(zhǔn)信號頻率就可算出被測信號的頻率,該方法適用于被測信號頻率較低的場合,且頻率越低精度越高。另一種是計(jì)時法,與第一種方法測量原理正好相反,在基準(zhǔn)信號為高電平期間,通過計(jì)算被測信號個數(shù)來計(jì)算其頻率,該方法適用于被測信號頻率較高的場合,且頻率越高精度越高。
本文所設(shè)計(jì)的等精度頻率計(jì)主要由信號轉(zhuǎn)換電路、分頻與數(shù)據(jù)選擇電路、單片機(jī)模塊組成。
硬件電路主要分為信號轉(zhuǎn)換電路、分頻與數(shù)據(jù)選擇電路、單片機(jī)模塊。
信號轉(zhuǎn)換電路由施密特觸發(fā)器組成,電路如圖1所示,施密特觸發(fā)器是一種用途十分廣泛的數(shù)字脈沖單元電路。通過它可以實(shí)現(xiàn)波形的轉(zhuǎn)換,即把正弦波、三角波轉(zhuǎn)換成同頻率的方波。
系統(tǒng)選用CD4093來實(shí)現(xiàn)施密特觸發(fā)器功能。CD4093由四個具有施密特觸發(fā)功能的2輸入與非門構(gòu)成。與單輸入的觸發(fā)器相比,它增加了一個選通輸入端,當(dāng)選通控制端為低電平“0”時,輸出保持高電平不變;選通輸入端為高電平“1”時,輸入與輸出端可實(shí)現(xiàn)施密特觸發(fā)器的功能。

圖1 信號轉(zhuǎn)換電路
分頻電路由74 HC4017組成,74 HC4017是CMOS十進(jìn)制計(jì)數(shù)器,芯片第12引腳CO端的信號頻率為CLOCK端的十分之一,信號從CLOCK端輸入,CO端輸出,這樣就實(shí)現(xiàn)了十分頻的目的。如果信號頻率很高,則進(jìn)行多次分頻,將多片74 HC4017級聯(lián)即可實(shí)現(xiàn)。分頻電路如圖2所示。
數(shù)據(jù)選擇電路由74 HC151來組成,74 HC151是8選1數(shù)據(jù)選擇器。它有8個數(shù)據(jù)輸入端D0~D7,一個使能端E,數(shù)據(jù)選擇端A、B、C,2個輸出端Y和/Y。
74 HC151在工作時,使能端E=0,數(shù)據(jù)選擇端A、B、C按照000~111之間的不同組合,從8個輸入端中選擇一個作為輸出,例如,A、B、C為110時,選擇D6作為輸出端。
單片機(jī)選用AT89S52,采用12 MHz的晶振頻率。單片機(jī)的P3.2(INT0)口接被測信號。單片機(jī)外圍接通電源,接入晶振電路和復(fù)位電路組成最小工作系統(tǒng)。

圖2 分頻、數(shù)據(jù)選擇電路
該系統(tǒng)采用計(jì)數(shù)法來測量頻率,被測信號由P3.2(INT0)端接入,在信號高電平期間,啟動定時器T0,高電平結(jié)束時,T0寄存器TH0和TL0中的值就是基準(zhǔn)信號的個數(shù)。
基準(zhǔn)信號由單片機(jī)提供,當(dāng)單片機(jī)工作時鐘頻率為fosc=12 MHz時,ALE端的輸出頻率為fosc/6=2 MHz,機(jī)器周期的頻率為fosc/12=1 MHz,基準(zhǔn)信號的頻率就是機(jī)器周期的頻率,基準(zhǔn)信號周期為1μs,這樣就可通過計(jì)算基準(zhǔn)信號的個數(shù)算出被測信號的頻率,如圖3所示。

圖3 計(jì)數(shù)工作示意圖
根據(jù)分析采用外部啟動方式,令TR0=1,這時定時器的啟動只由INT0端控制。當(dāng)INT0為高電平時定時器啟動,為低電平時定時器關(guān)閉。啟動定時器后,實(shí)時讀取TH0和TL0的值,并判斷是否需要分頻。在高電平結(jié)束時,根據(jù)TH0和TL0中的數(shù)值和分頻次數(shù),計(jì)算被測信號的頻率。主程序流程如圖4所示。
為提高精度,設(shè)定當(dāng)信號頻率小于1 k Hz時無需分頻,分頻電路中A、B、C的狀態(tài)為000;當(dāng)信號頻率為1 k Hz時,周期T=1 000μs,高電平和低電平持續(xù)的時間各為500μs,此時T0寄存器TH0和TL0的數(shù)值分別為0X01和0XF4,轉(zhuǎn)換成十進(jìn)制就是500;當(dāng)頻率大于1 k Hz時,周期變小,高電平持續(xù)的時間小于500μs,T0的計(jì)數(shù)值也小于500。根據(jù)分析,當(dāng)TH0和TL0中的數(shù)值小于500時,進(jìn)行十分頻,數(shù)據(jù)選擇電路中A、B、C的狀態(tài)為001,同時記錄分頻一次;如果分頻后TH0和TL0中計(jì)數(shù)值還小于500,再進(jìn)行分頻,直到寄存器中數(shù)值大于500。
AT89S52單片機(jī)定時器的啟動方式有兩種,內(nèi)部啟動和外部啟動。啟動方式由寄存器TMOD的GATE位(門空位)決定。當(dāng)GATE=0時為內(nèi)部啟動,定時器由TR0(或TR1)來啟動;當(dāng)GATE=1時為外部啟動,定時器的啟動由TR0(或TR1)和INT0(或INT1)共同控制,只有兩個都為“1”的情況下才會啟動。

圖4 主程序流程圖
本頻率計(jì)精度較高,頻率范圍較寬,有較強(qiáng)的實(shí)用價值。系統(tǒng)中的部分電路是筆者經(jīng)過反復(fù)實(shí)驗(yàn)調(diào)試的,但有些細(xì)節(jié)仍需改進(jìn),如在信號轉(zhuǎn)換電路中只是將正弦信號轉(zhuǎn)換成方波信號,而沒有對信號進(jìn)行整形處理。如果加入相關(guān)的處理電路,該系統(tǒng)的精度將會得到進(jìn)一步的提高。
[1] 李群芳 肖看.單片機(jī)原理、接口及應(yīng)用-嵌入式系統(tǒng)技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2005.
[2] 康華光.電子技術(shù)基礎(chǔ)-數(shù)字部分(第四版)[M].北京:高等教育出版社,2000.