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