利用單片機(jī)ADuC834的頻率智能化測量
1 引言
在生產(chǎn)、科研和日常生活中需要使用不同的頻率,實(shí)現(xiàn)頻率測量的方法較多,使用專用器件,其電路設(shè)計(jì)簡單,易于調(diào)試,但成本高,使用不靈活。本文介紹一種利用單片機(jī)ADμC834實(shí)現(xiàn)的頻率智能化測量方法,所需外圍元件少、擴(kuò)展性強(qiáng)、測試準(zhǔn)確。
2頻率測量原理
頻率是指周期信號在單位時(shí)間內(nèi)變化的次數(shù),信號的頻率測量一般是對信號放大限幅、整形,利用計(jì)數(shù)器在1 s的時(shí)間內(nèi)用計(jì)數(shù)器對整形后形成的脈沖進(jìn)行計(jì)數(shù),用1 s的時(shí)基信號作為計(jì)數(shù)門的控制信號,1 s內(nèi)對被測信號脈沖的計(jì)數(shù)值即是頻率值。
3頻率測量電路
頻率測量電路如圖l所示。ADμC834內(nèi)有2個可編程的定時(shí)器/計(jì)數(shù)器,其中用定時(shí)器/計(jì)數(shù)器0作為1 s定時(shí),在1 s時(shí)間內(nèi),定時(shí)器/計(jì)數(shù)器1采集由T1端輸入的脈沖。定時(shí)器0定時(shí)開始時(shí),相當(dāng)于閘門打開,通過定時(shí)器1對輸入的被測信號頻率為fX的脈沖進(jìn)行計(jì)數(shù),當(dāng)1 s定時(shí)完成,即閘門關(guān)閉,計(jì)數(shù)結(jié)束,這時(shí)計(jì)數(shù)值等于被測信號的頻率fX,再將二進(jìn)制值計(jì)數(shù)結(jié)果轉(zhuǎn)換成BCD碼頻率值,并進(jìn)行個、十、百位調(diào)整后,存人顯示緩沖區(qū),作為LED顯示電路進(jìn)行譯碼及掃描控制等操作。
3.1 ADμC834簡介
ADμC834 單片機(jī)是美國ADI公司推出的一款高性能單片機(jī),內(nèi)部集成了高分辨率的A/D轉(zhuǎn)換器。它內(nèi)部含有8051內(nèi)核、2路24位和16位∑-△A/D、12位 D/A、Flash/EE存儲器、WDT看門狗電路、電源監(jiān)控電路、溫度傳感器、SPI和I2C總線接口,體積小、功耗低,因此,非常適用于開發(fā)高度智能化、低功耗應(yīng)用。其具體的特點(diǎn)如下:
ADμC834集成了2個獨(dú)立的A/D轉(zhuǎn)換通道(分辨率分別為24位與16位),內(nèi)含可編程增益放大器,在20 Hz/20 mV范圍內(nèi)具有13位有效分辨率;在20 Hz/2.56 V范圍內(nèi)具有18位有效分辨率。此外內(nèi)置的ADC還具有數(shù)字濾波、可編程的數(shù)據(jù)轉(zhuǎn)換速率等功能;
62 K字節(jié)非易失性電可擦除程序存儲器,4 K字節(jié)的非易失性電可擦除數(shù)據(jù)存儲器,2 304字節(jié)的片上數(shù)據(jù)RAM。程序存儲器可配置成用于數(shù)據(jù)記錄,達(dá)到60 K字節(jié)的數(shù)據(jù)存儲器;
ADμC834 單片機(jī)的片內(nèi)Flash/EE程序存儲器可采用兩種模式編程:在線串行下載和并行編程。另外,ADμC834還可通過標(biāo)準(zhǔn)的UART串行端口下載源代碼。若引腳PSEN通過一只下拉電阻,使得該引腳處于低電平,ADμC834則自動進(jìn)入串行下載模式。當(dāng)設(shè)備連接正確時(shí),源代碼將自動載入到片內(nèi)Flash程序存儲器。
3.2顯示和鍵盤的接口功能
在測量電路中,為了控制系統(tǒng)的工作狀態(tài),通常需要向系統(tǒng)輸入?yún)?shù)和控制命令。而參數(shù)和控制命令的輸入一般由鍵盤完成。8279是一種專用的可編程鍵盤、顯示接口器件。選用該器件可方便地實(shí)現(xiàn)鍵盤輸入和LED顯示控制。8279與單片機(jī)的連接見圖1.8279內(nèi)部設(shè)置有消除觸頭抖動和串鍵的邏輯電路,同時(shí)8279還具有LED動態(tài)顯示接口功能。但是8279與LED顯示器和譯碼輸出的LED位控制信號輸出電流小,不足以驅(qū)動LED,必須接入驅(qū)動電路。[!--empirenews.page--]
4系統(tǒng)軟件設(shè)計(jì)
該控制系統(tǒng)采用模塊設(shè)計(jì),即通過對總體的分析來定義各模塊的設(shè)計(jì)要求和界面。各功能模塊只有一個入口和一個出口,且各模塊間相對獨(dú)立,從而避免了某功能模塊出現(xiàn)異常,導(dǎo)致整個系統(tǒng)癱瘓,并且要統(tǒng)一管理公用變量定義。系統(tǒng)軟件設(shè)計(jì)由主程序、測量子程序、顯示子程序、鍵盤子程序、掉電保護(hù)與系統(tǒng)復(fù)位子程序等組成。下面給出了主程序流程圖如圖2所示,測量子程序流程圖如圖3所示,顯示子程序流程圖分別如圖4所示。
其中,主程序主要完成復(fù)位相應(yīng)的存儲單元及初始化,設(shè)置中斷及調(diào)用子程序;
測量子程序是利用定時(shí)器0產(chǎn)生約1 s的定時(shí)中斷,中斷結(jié)束時(shí)采集定時(shí)器1的數(shù)據(jù),并將數(shù)據(jù)存入相應(yīng)存儲單元;
顯示子程序完成打開相應(yīng)的位,調(diào)用相應(yīng)的段碼送顯示器。
5需注意的問題
在單片機(jī)控制系統(tǒng)中,數(shù)字地與模擬地要分開布線,且不能共用地線,應(yīng)將各自的地線分別與相應(yīng)的電源地線相連。在設(shè)計(jì)時(shí),模擬地線應(yīng)盡量加粗,而且盡量加大引出端的接地面積。一般來講,對于輸入輸出的模擬信號與單片機(jī)電路之間最好通過光耦進(jìn)行隔離。
電源線的布置除了要根據(jù)電流的大小盡量加粗走線外,在布線時(shí)還應(yīng)使電源線、地線的走線方向與數(shù)據(jù)線的走線方向一致,有助于增強(qiáng)電路的抗干擾能力。
為了提高程序的計(jì)數(shù)精度,應(yīng)考慮執(zhí)行指令所需時(shí)間,因此在啟動定時(shí)器和停止定時(shí)器操作時(shí),由于采用不同操作指令,會使計(jì)數(shù)結(jié)果不準(zhǔn)確,因此在計(jì)數(shù)值中應(yīng)加上或減去執(zhí)行指令所需的時(shí)間。
由于LED動態(tài)電流大,在電流供電設(shè)計(jì)上應(yīng)采取去耦措施,即應(yīng)在LED驅(qū)動器電源輸入端并聯(lián)大電容濾波器,以防誤動作。
6 結(jié)束語
基于ADμC834的頻率測量方法具有測量速度快、準(zhǔn)確度高、誤差小、顯示直觀的優(yōu)點(diǎn),便于自動控制和數(shù)據(jù)處理,該頻率計(jì)實(shí)現(xiàn)了頻率測量自動換檔,具有一定的實(shí)用價(jià)值和參考價(jià)值。