王 娟,王仁波,魏 雄
(東華理工大學機械與電子工程學院,江西 南昌 330013)
待測信號經限幅放大電路分兩路進入單片機系統,一路送入施密特觸發器整形得到單片機計數所需的矩形波信號,通過選擇測量頻率的方法進行頻率測量;一路經模/數轉換器進入單片機進行數據的采集與存儲,然后通過數/模轉換器將還原的模擬信號在示波器上顯示出來。這樣我們的整個硬件設計工作便有兩大部分組成:頻率測量、存儲顯示。

圖1 系統硬件原理框圖
(1)頻率測量部分。正弦波或方波信號的頻率是由每秒鐘振蕩的次數來表示的。為了檢測一個持續的信號的頻率,我們僅僅只需數它的振蕩次數就可以了。假設我們所取樣的信號在某個時間段內頻率是不變的。我們采用應用比較普遍的單片機AT89C51來實現頻率測量。頻率測量分三步進行:①通過一個施密特觸發器74LS132(整形芯片)把經放大后的信號轉換成單片機所需的方波信號。②先通過測頻法測出其大致頻率最后決定用測周法或測頻法。③然后將計的數送AT89C51,進行處理,送數碼管顯示得出頻率。
(2)波形存儲與顯示部分。被測信號經過放大整形電路,進入ADC0809(模/數轉換器)進行A/D轉換,將轉換后的數字量送入單片機。由單片機根據不同的要求對采集的數據進行存儲和運算,將存儲后的結果在通過DAC0832(數/模轉換器)在示波器上復現出來,并可通過運算放大器部件對輸出波形進行放大、縮小的變換。
本設計中人通過對鍵盤的控制,可以控制和干預整個數據采集及處理的全過程,因此,各鍵的功能及其軟件實現就尤為重要,各鍵的功能及定義如下:
K1:啟動頻率測量并進行數字顯示。
K2:啟動A/D轉換對數據進行采集并存儲到6264里。
K3:啟動D/A轉換用示波器顯示波形。
K4:輸出波形的放大。
具體描述如下:
當接通電源后,系統進行自檢,然后CPU進行對按鍵的查詢,當按下K1鍵時,CPU查到K1鍵,通過延時去抖,既而跳轉到K1鍵的處理程序對頻率進行實時的測量并在數碼管上顯示。顯示完畢CPU又進入對按鍵的查詢。當按下K2鍵時,啟動ADC0809進行轉換,其中程序設定A/D0809對數據采集10次,并存儲到6264里。存儲完畢,CUP又跳回查詢狀態。當K3按下時,啟動D/A0832,用示波器顯示前段時間的頻率波形。K4鍵為手動的對示波器顯示的波形進行放大。
因此,本設計主要分為以下幾個部分:
>頻率的測量部分
>數據的采集及A/D轉換部分
>數據的存儲及讀寫部分
>數據的顯示部分
>數據的D/A轉換部分

圖2 系統流程圖
(1)A/D、D/A轉換程序的調試。我們在通道0口接入一個0~5V電源,對于不同的值,應該分別得到不同的數字量,看看數字量是否與預期的值相同,相同的話,說明A/D轉換器能夠正常工作,看是否能夠正常工作,不能的話,就檢查是不是A/D轉換器被損壞,還是軟件編程有問題,同樣的道理,首先我們可以向D/A轉換器發送一個數據,通過示波器觀察,是否有誤,確定D/A轉換器的完好,再進行程序的調試。
(2)中斷服務程序的調試。在中斷程序中多采用全速運行的調試方法,有多個中斷中斷的話,應該一個一個調試,若中斷不能正常返回的話,應該把下一步不用的中斷關掉,把用到的中斷打開且設初值,這點尤為重要,當單個中斷都沒有問題時,再進行統調。
(3)顯示模塊的調試。顯示模塊的調試,首先應該確認LED能夠正常顯示,若能正常顯示的話,可以先在顯示緩沖區中預先放入自己預置的值,若能正常顯示的話,說明顯示無誤。
在理論基礎上設計了頻率測量、波形存儲以及輸出再現系統,該系統能對頻率進行現場的測量、數據顯示,并能對一段時間內的采集數據進行存儲并用示波器顯示。