基于C8051F單片機信號發(fā)生器設(shè)計與應(yīng)用
程序由一個主程序和三個中斷服務(wù)程序組成,如圖4所示。三個中斷程序包括T0中斷服務(wù)程序、外部中斷服務(wù)程序和串口中斷服務(wù)程序。
圖3單片機端軟件操作流程圖
4.2人機交互界面
應(yīng)用Visual Basic軟件的通信控件MSComm,實現(xiàn)了與單片機系統(tǒng)的串行通信。VB提供了具有強大功能的通信控件MSComm,該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進行設(shè)置。該串口是一個標準的十位串口通信,包括8位標準數(shù)據(jù)和數(shù)據(jù)的起始位和停止位。這些串口在Pc和單片機之間充當(dāng)解釋器的角色。當(dāng)數(shù)據(jù)從PC傳送給單片機時,字符數(shù)據(jù)會被轉(zhuǎn)換成串行比特流;而當(dāng)接收數(shù)據(jù)時,比特流數(shù)據(jù)會轉(zhuǎn)換成字符數(shù)據(jù)傳遞到PC機。
采用VB6.0編程可以實現(xiàn)便于操作的可視化界面,并且對整個系統(tǒng)進行實時的控制.交互界面如圖4(a)所示。
圖4 VB交互界面
工具欄中文件下拉菜單中設(shè)置了讀取數(shù)據(jù),保存數(shù)據(jù),新建及頁面設(shè)置等一些基本的交互功能選項;工具下拉菜單中有測量獲取數(shù)據(jù)和繪圖設(shè)置的選項,通過這個選項可以準備的獲得曲線上某一點的準確值,繪圖設(shè)置中可以選擇繪圖方式、繪圖色彩及捕捉網(wǎng)格的大小設(shè)置,如圖4佑1所示。
圖5信號發(fā)生器采集的彈道侵徹過載曲線
DSP中可以選擇對彈道曲線的濾波方式,軟件給出了低通濾波等三種濾波方式,通過濾波可以得到更加光滑無毛刺的曲線。以低通濾波為例,軟件設(shè)計了三種濾波器的選擇,包括切比雪夫I型、切比雪夫II型和巴特沃茲型??梢酝ㄟ^調(diào)整濾波器的參數(shù)如階數(shù)、歸一化頻率和阻帶衰減值,得到需要的過載曲線。
圖5給出了實際侵徹過程中測到的兩條過載曲線,其中下圖是某條曲線中的一段,并且經(jīng)過濾波處理過。
5 結(jié)束語
本文利用C8051F121單片機具有的片內(nèi)12位電壓方式數(shù)/模轉(zhuǎn)換器和內(nèi)部集成化的數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件,設(shè)計了可以獲取任意波形的信號發(fā)生器。采用了串口通信和D/A轉(zhuǎn)換,在Visual Basic可視化操作界面下方便地讀取和保存數(shù)據(jù)、編輯曲線,并且可以進行一些必要的信號處理和優(yōu)化。而且電路簡單清晰,功能明確。
本文作者創(chuàng)新點:針對整體項目的實際要求,以較低的成本實現(xiàn)了彈道存儲測試需要的各種信號,經(jīng)過仿真和電路測試,完全達到了設(shè)計的要求。設(shè)計的人機交互平臺功能強大,使用方便,具有很好的推廣和使用價值。
評論