基于單片機的實用數(shù)字信號源與頻率計設計
摘要:在科研和裝備的檢測工作中經(jīng)常需要產(chǎn)生一些頻率固定或可變的信號,本設計由單片機、編碼器、按鍵、顯示器產(chǎn)生所需頻率的信號,同時也可以測量輸入信號頻率。實際應用表明,本數(shù)字信號源電路簡單、操作使用簡便、性能穩(wěn)定可靠,能夠很好滿足科研和實驗的要求。
本文引用地址:http://www.ex-cimer.com/article/201610/307856.htm關鍵詞:智能儀器設計;數(shù)字信號源;頻率計;單片機
在科研、實驗和裝備檢測等很多工作中,經(jīng)常需要頻率可變或固定的TTL電平信號,也需要測量輸入的TTL電平信號頻率。目前,市場上有各種各樣的數(shù)字信號源和頻率計,但這些產(chǎn)品一般都是體積比較大、功能很龐大、價格也比較昂貴,往往不適合一些需要小體積信號源和頻率計的應用場合需要。文中基于單片機技術設計了數(shù)字信號源和頻率計,該作品能夠很好地產(chǎn)生固定或可變頻率的信號,并能測量輸入信號頻率,可以滿足院校的日常教學使用和裝備或設備維修檢測需要。
1 功能需求與硬件總體方案設計
1.1 功能需求
按照一般的實驗設備或裝備維修檢測需要,確定數(shù)字信號源和頻率計的主要功能和技術指標為:
1)單脈沖信號源:4路單脈沖信號,按下一個按鍵產(chǎn)生一個正脈沖;
2)固定輸出連續(xù)脈沖信號源:1 Hz、10 Hz、100 Hz、1 kHz、10 kHz、100 kHz方波;
3)頻率可調(diào)連續(xù)脈沖信號源:10 Hz~10 kHz可調(diào)。頻率可設并同步顯示;
4)頻率測量:10 Hz~10 kHz,分辨率2 Hz,更新速度:2次/秒。
1.2 硬件總體方案設計
數(shù)字信號源和頻率計的設計原則主要是縮小作品體積、降低作品硬件成本、提高作品的可靠性和使用便捷性等??傮w方案設計主要涉及到顯示器選型、頻率設定電路選型、CPU選型、電路總體結構等方面。針對以上功能需求,確定本作品的硬件電路總體框圖如圖1所示。
圖1中,單片機為本作品的控制核心,主要完成人機接口控制、頻率設定、信號輸出和輸入信號頻率測量等功能,采用AT89C52型單片機。為了消除普通按鍵開關產(chǎn)生脈沖時的抖動,單脈沖輸出信號由按鍵S1~S4控制,經(jīng)單片機處理后分別輸出4路脈沖信號。
編碼器和數(shù)位控制按鈕是用于設定頻率可調(diào)脈沖的頻率的。編碼器正反轉控制數(shù)字在0~9之間的加與減,數(shù)位控制按鈕(向左和向右,共2個)用以確定控制的數(shù)位。
信號源/頻率計選擇由一位信號控制,高電平(控制開關懸空)為信號源,低電平(控制開關接地)為頻率計。頻率可調(diào)輸出與測頻輸入共用一個單片機接口(P3.5)。選擇控制信號和輸出/輸入信號在基板上由一個雙路開關控制。
顯示器采用1602液晶顯示模塊,用以顯示設定的頻率或測量的頻率。
采用蓄電池對整個電路進行供電,可以提高設備使用的便捷性。
2 數(shù)字信號源硬件電路設計
數(shù)字信號源和頻率計的硬件電路設計主要包括頻率設定電路、顯示電路和單片機電路設計等。
2.1 頻率設定電路設計
頻率的設定一般可以采用鍵盤、電位器、撥碼盤和編碼器等。其中鍵盤輸入方式最靈活,但需要較多的單片機接口資源支持,而且產(chǎn)品體積會比較大,不符合本作品小型化設計要求。采用電位器進行輸入時,需要A/D轉換,成本高、電路復雜且難以精確設定,也不太適合。采用撥碼盤設定頻率,優(yōu)點是顯示與輸入一體化,但需要的單片機I/O資源也比較多,會影響單片機的選型。本設計采用編碼器輸入頻率值。
編碼器可根據(jù)內(nèi)部結構的不同分為高分辨率和低分辨率的,高分辨率編碼器的內(nèi)部一般采用光電型的,而低分辨率的編碼器則既有光電型的,也有機械接觸式的。對于光電型的,需要由外部為它提供供電電源;對于機械接觸型的,則不需要供電電源。不管何種形式,它們都至少會有A、B兩個輸出信號。當編碼器轉軸旋轉時,這兩個輸出信號波形如圖2所示。
將信號A輸入到單片機的INT0引腳,信號B輸入到單片機的INT1引腳。然后用INT0的下降沿中斷方式,在INT0中斷服務程序中,根據(jù)信號B(即 INT1腳)的狀態(tài),來確定脈沖數(shù)的加或減。然后將脈沖數(shù)與頻率的某一位值相對應,頻率值的數(shù)位位置,可以用另外兩個按鈕來選擇。
2.2 顯示電路設計
顯示電路設計的關鍵問題是顯示器件的選擇。對于類似于本設計這樣的小型電子產(chǎn)品,可供選擇的器件有LED數(shù)碼顯示器和LCD顯示器,其中LED適用于室內(nèi),比較醒目;LCD比較精細,顯示信息多。本作品采用LCD1602型字符顯示器。它可以顯示2行各16個字符的各種ASCH碼字符,因此只要設計合理,就可以將要顯示的內(nèi)容提示、結果信息等全部顯示出來,比一般的數(shù)碼管更直觀、更有效。1602字符型LCD顯示器接口信號說明如表1所示。
2.3 單片機電路及I/O資源分配
綜合考慮上述各種電路及其I/O資源需求,選擇AT89C52單片機作為本作品的CPU,從而得到本作品主控板電路原理如圖3所示。
控板采用AT89C52型單片機作為CPU芯片。主控板的外形設計成與1602型LCD顯示器相同大小,并且其固定孔和連接器位置也與LCD直接對應,這樣便于將其與LCD直接固定為一體,從而既可以縮小測試儀的體積,也便于設備維護。
主控板設計的核心問題是CPU的I/O端口的分配問題,信號源所需的I/O資源如表2所示。
從表2可見,測試儀所需的信號數(shù)量為31個,因此一個單片機即可滿足需要。
3 數(shù)字信號源軟件設計
3.1 軟件系統(tǒng)總體方案設計
信號源采用點陣液晶顯示器來顯示輸出信號頻率和頻率測量結果,設置需要產(chǎn)生的信號頻率過程中,要顯示相關輔助信息和測量結果,這就需要相對復雜的軟件配合。本作
品的軟件系統(tǒng)總體框圖如圖4所示。
圖4中初始化程序為所有變量給定初值,并對顯示屏進行清屏、設置顯示模式、光標位置等操作;定頻信號產(chǎn)生程序是通過簡單的運算,然后輸出六路固定頻率的信號;變頻信號產(chǎn)生程序是根據(jù)編碼器輸出的信號頻率,通過一系列的計算后,給相應寄存器賦值,從而產(chǎn)生用戶所需頻率的信號;單脈沖信號產(chǎn)生程序主要目的是消除按鍵的抖動信號,使每按一次按鍵就產(chǎn)生一個單脈沖信號;頻率測量程序用于外部輸入信號頻率的測量;頻率設定程序是利用單片機的外部中斷測量輸入信號,從而確定需要輸出的頻率;顯示程序負責幫助用戶設定所需要的輸出頻率和對輸入信號頻率進行顯示。
3.2 軟件系統(tǒng)主程序流程設計
由于系統(tǒng)可以輸出多種模式的信號,同時還兼有頻率計的功能,所以每個模塊執(zhí)行的子程序中要求給予輸入?yún)?shù)提示。系統(tǒng)主程序流程如圖5所示,在初始化階段,對系統(tǒng)中相關參數(shù)進行定義賦初值,初始化后進入功能設置,根據(jù)功能鍵值,調(diào)用對應的功能模塊子程序。根據(jù)提示輸入所需要設置的參數(shù),確認后按執(zhí)行鍵執(zhí)行。
4 結論
根據(jù)上述軟硬件設計方法制作了數(shù)字信號源和頻率計樣機,并對樣機進行了參數(shù)測量。實測結果表明,本數(shù)字信號源可以便捷地產(chǎn)生頻率固定或可變的連續(xù)脈沖信號和單脈沖信號,且可以實現(xiàn)對輸入信號頻率的測量。整機結構簡單、性能穩(wěn)定、便于攜帶,因此既可以應用于院校的日常教學實驗中,也可以用于裝備的日常檢修中,具有較高的性價比。
評論