999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt環境下物理參數綜合分析系統的設計與實現

2014-03-28 01:53:20江帆孫立尹華山
電子設計工程 2014年8期
關鍵詞:單片機界面功能

江帆,孫立,尹華山

(南京航空航天大學理學院,江蘇南京211100)

應用現代電子信息技術改進傳統實驗,適應大學專業物理實驗課程創新發展的需求,研制具有全數字化、接口兼容性強、可實時測試監控、實時數據處理與存儲、符合網絡化技術規范,經過全面技術升級的新型實驗工作平臺。不僅是通用性的實驗平臺,適應不同物理參數測試的需求;而且具備個性化特點,適合特殊性物理參數測試需求。全篇以數字化壓力測量的實例作為個案來展開,具體描述硬件與軟件的設計與研制。

Qt作為系統開發的環境,具有不可替代的優勢。Qt提供的C++應用程序開發框架,可以輕松實現“一次編寫,隨處編譯”的跨平臺解決方案,編寫的應用程序能完美運行于從windows 98到windows 7,從Mac OSX到Linux,從Solaris,HP-UX到其他基于X11的眾多Unix平臺上。這讓編寫的應用程序可以運行在不同的系統,方便移植[1]。Qt設計師是強大的跨平臺GUI布局和格式構建器[2]。

1 系統總體架構

傳感器將各種物理參數轉化為電信號,經由分析儀的放大處理與采樣轉換成為數字信息,再經過儀器的串口與上位機的通信傳輸,從而實現上位機對分析儀的實時有效控制以及對各種數據的計算處理。在這個過程中,分析儀擁有監控、報警、顯示、閥值設定和人機交互等功能。上位機軟件擁有數據采集、糾錯、制表、畫圖、串口調試、打印和存儲等功能。在數據的傳輸過程中避免了人為造成的誤差,使測量更精確,操作更簡便和人性化。系統構架圖如圖1所示。

圖1 系統架構圖Fig.1 System construction chart

2 硬件電路設計

2.1 智能型前置電路

在大多數情況下,測試參數為非電量的物理參量,傳感器將其轉化成對應的電壓或電流的參量,測量系統必須具有兼容性強、適應性廣的前置電路。傳感器輸出的電信號與采樣電路輸入的電信號之間,電路參數匹配、電氣性能對接,在前置電路設計時需要做到3點:

1)電流輸出型傳感器與電壓輸出型傳感器不同,用電子程控型多路選擇器完成對傳感器類型的智能識別與輸入切換;

2)電壓值是后續處理基礎性變量,必須把電流輸出型傳感器輸出的電流變量轉變為電壓變量;

3)各種類型傳感器輸出變量存在很大差異,為了符合后續采樣電路正常工作時電壓值的需要,設計一個程序控制型的放大器來完成微小信號的放大或者是大信號的衰減處理。

設計一個智能型前置電路來完成,具備自動識別、多路切換與程控放大的特點,其工作原理如圖2所示。

圖2 智能型前置電路Fig.2 Intelligent front circuit

2.2 數模轉換電路

為保持系統的高精度性能,設計采用16位的高精度低頻模數轉換器AD7705。它利用Σ-Δ轉換技術[3]實現了16位無丟失代碼性能。選定的輸入信號被送到一個基于模擬調制器的增益可編程專用前端。片內數字濾波器處理調理。SPI接口串行輸出,節省了I/O口的使用。具有差分輸入端口,對模擬輸入具有緩沖功能,0.003%非線性可以滿足系統的要求。

2.3 單片機

選擇STC公司生產的STC89C52型單片機,具有低功耗、高性能CMOS8位微控制器,40腳雙排直列式。最高運作頻率35 MHz,6T/12T可選。8 K在系統可編程Flash存儲器。使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。具有以下標準功能:8k字節Flash,512字節RAM,32位I/O口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外,具有可降至0 Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。在掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。

2.4 單片機程序設計

單片機的控制與計算處理程序內容很多,舉例說明其中的設計之一:

直接顯示A/D轉換的數字信號[4]的話,可以觀察到顯示數字的不停跳變。為了保持穩定,不僅在A/D芯片中加了模擬濾波調理,防止外界的干擾信號影響。同時在軟件的算法上采用多次采樣求平均值的處理算法,可保持0.001 MPa位穩定,比實驗室現有的儀器提高了將近10倍。

static uchar n=0;

adc[n++]=ad;

if(n==16)//數字濾波法運算取平均值

{

uchar i;

unsigned long int sum=0;

n=0;

for(i=0;i<16;i++)

{

sum+=adc[i];

}

ad=sum>>4;

transadc(ad);

}

2.5 其他硬件電路

除了以上硬件電路外,系統需要相應的輔助配套電路,用以完成特定的控制功能,如I/O擴展接口電路、液晶顯示驅動電路、串口通訊電路、各類時鐘電路及各種電源電路等。

3 上位機軟件設計

3.1 功能要求

1)通用功能:啟動程序、登陸界面、使用提示、錯誤提示、菜單欄、工具欄等。

2)實驗功能:學生信息數據庫,網絡上傳,實驗原理預習,選擇負載模式(以數字化壓力測量0.6Mp或6Mp為例),數據分析、顯示和存儲等。

3)分析儀的控制功能:串口通信,數據采集,數據糾錯等。

3.2 界面設計

在Qt Creator中新建工程,在Qt C++項目中的Gui應用為用戶提供了各種界面基類。Qt Creator提供的默認基類只有QMainWindow、QWidget和QDialog這3種。QMainWindow是帶有菜單欄和工具欄的主窗口類,QDialog是各種對話框的基類,全都繼承自QWidget[2]。其實所有的窗口部件都繼承自QWidget。本軟件選擇QMainWindow。

Qt Creator的設計模式即Qt Designer,使用了與應用程序中將要使用的相同部件,因此可以使用屏幕上的格式快速設計、創建部件以及對話框。具有使用拖放功能快速設計用戶界面,定制部件或從標準部件庫中選擇部件,以本地外觀快速預覽格式,通過界面原型生成C++或Java代碼等優勢[2]。對于界面設計,也可以使用純代碼編寫程序。拖放一個QPushButton部件的操作和QPushButton pushbutton(this);語句效果相同。兩種方法綜合應用可以使界面設計更靈活更有創意。

3.3 界面外觀美化

界面外觀可以通過QStyle(Qt風格)、QPalette(調色板)和Qt Style Sheets(Qt樣式表)[2]進行風格、色彩、透明度和背景等的美化。整體外觀的布局則通過布局管理器來美化。布局管理可以使部件整齊排列并適應界面大小而變化。Qt中主要提供QLayout類及其子類作為布局管理器,通常使用的有基本布局管理器QBoxLayout和柵格布局管理器QGridLayout。

3.4 國際化

Qt支持現在使用的大多數語言,所有的輸入部件和文本繪制方式對Qt支持的所有語言都提供了內置的支持。同時,Qt對把應用程序翻譯為本地語言也提供了很好的支持[2]。在本軟件中通過對所有用戶可見的文本使用QString,對動態文本使用QString::arg()函數,對所有文字文本使用tr()函數來實現國際化。主程序整體界面效果如圖3所示。

圖3 主程序界面Fig.3 Main programinterface

圖4 數據處理結果Fig.4 Data processing result

3.5 數據處理方案

數據的處理分為同步顯示、擬合圖像、制表、存儲數據和打印數據。制表是在QMainWindow的構造函數中初始化;同步顯示是在采集和計算數據的同時在數據區和表格中顯示;擬合和繪圖有專門的函數在后臺進行,這個函數還包含最小二乘法、計算線性度、計算擬合方程和顯示坐標圖的代碼。利用Qt中繪圖控件QPainter[2,5-6],同時利用坐標變換translate方法重新定義原點,把數據通過數學計算的方法轉化為相對應的點繪制出來,這樣就能擬合出曲線,最后將實驗結果存儲為pdf格式圖片,如圖4所示。

3.6 Qt環境下的功能實現

上位機軟件功能的實現依靠3種機制:C++面向對象編程機制,Qt的信號與槽機制,Qt的事件機制。

Qt編程是由C++體系實現[1-2,5-6],面向對象[7]的編程方法和Qt豐富的類庫,使用戶能夠更簡單靈活的實現各種功能。在Qt Creator的幫助模式下,可以查詢所有類的信息。應用這種機制,可以使程序結構靈活,層次感強。軟件架構如圖5所示。

Spscreen.cpp為啟動界面,包含軟件的基本信息。Login.cpp是登陸界面,包含學生信息的填寫,其下屬Experiment.cpp提供實驗原理;另一個下屬Lprompt.cpp是提示學生填寫錯誤信息的對話框。Mainwindow.cpp是主程序界面,包含各種部件,其下屬Accessport.cpp、Filesave.cpp、Fileprintout.cpp分別提供串口調試、文件保存、文件打印的功能;另一個下屬Qextserialbase.cpp為第三方編寫的串口通信的底層驅動文件。

信號和槽用于兩個對象之間的通信,信號和槽機制是Qt的核心特征,也是Qt不同于其他開發框架的最突出特征[2]。比如,點擊按鈕“關閉窗口”就會發出一個信號,對應的槽函數close()會被調用以響應這個信號。這種機制使部件與部件,部件與后臺,部件與其他窗口,窗口與窗口之間可以進行交流。

在Qt中,事件作為一個對象,繼承自QEvent類,常見的有鍵盤事件QKeyEvent、鼠標事件QMouseEvent和定時器事件QTimerEvent等[2,5-6]。比如,對數據進行指定刪除,在數據區設定點擊鼠標左鍵事件,使點擊左鍵時顯示標簽變紅,后臺的相應變量發生變化。

4 系統通信

上位機和分析儀采用RS232/DB-9串口通信。軟件中控制串口通信的類QextserialPort繼承自Qextserialbase類,適用于各種操作系統。

讀取數據時采用查詢模式,上位機軟件向分析儀發出信號,如果數據準備好則直接讀取,須注意的是這種讀取方式需要設定定時器進行延時讀取。

5 系統升級

系統的軟硬件都可以進行升級。比如傳感器、單片機的算法、串口通信改為USB接口,實驗原理升級為動畫演示、增加數據庫和網絡功能等。

數據庫與網絡功能,對于網絡規范化和實驗平臺管理具有重要意義。Qt的QIODevice、QTcpServer、QIOStream等類可以實現網絡上傳功能;Qt中的QtSql模塊提供了對數據庫的支持[2],不需要SQL[8]知識就可以瀏覽和編輯數據庫。

6 結束語

系統具有通用特性,采用的智能接口電路,有很強的兼容性,可適應不同種類的傳感器[9]。在一個實驗平臺上,如:溫度、濕度、速度與亮度等物理參量都可以進行數字化的處理與分析。以壓力測試為實例介紹的系統設計和實現的方法,對于其他實驗也適用。Qt強大的GUI設計功能,可以使界面根據不同實驗靈活調整。在Qt環境下開發的軟件具有跨平臺性,且人機界面友好,操作簡便,避免了傳統試驗方法繁瑣的記錄和處理的過程,提高了實驗的精度和學習的效率。

[1] Blanchette J,Summerfield M.C++GUI Qt4編程[M].2版.北京:電子工業出版社,2008.

[2] 霍亞飛.Qt Creator快速入門[M].北京:北京航空航天大學出版社,2012.

[3] 高光天,徐振英.數模轉換器應用技術[M].北京:科學出版社,2000.

[4] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業出版社,2009.

[5] 蔡志明.精通Qt4編程[M].2版.北京:電子工業出版社,2011.

[6] 成浩,盧紫毅.Linux窗口程序設計——Qt4精彩實例分析[M].北京:清華大學出版社,2008.

[7] 皮德常.C++程序設計教程[M].北京:機械工業出版社,2009.

[8] 史嘉權.數據庫系統概論[M].北京:清華大學出版社,2006.

[9] 王文龍,耿直,喬江輝,等.壓力傳感器靜態校準方法改進[J].火箭推進,2011(3):80-84.WANG Wen-long,GENG Zhi,QIAO Jiang-hui,et al.Improvement of static calibration method for pressure sensors[J].Journal of Rocket Propulsion,2011(3):80-84.

猜你喜歡
單片機界面功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關于非首都功能疏解的幾點思考
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 久久人体视频| h视频在线播放| 成人午夜网址| 久久香蕉国产线| 欧美日韩中文字幕在线| 午夜国产理论| 久草视频精品| 国产福利小视频高清在线观看| 国产性生大片免费观看性欧美| 精品人妻一区二区三区蜜桃AⅤ| 青草视频在线观看国产| 熟妇丰满人妻av无码区| 亚洲色图欧美视频| 国产精品手机在线播放| 国产拍揄自揄精品视频网站| 永久免费无码日韩视频| 欧美国产成人在线| 老司国产精品视频| 欧洲高清无码在线| 手机精品福利在线观看| 国产精品网曝门免费视频| 亚洲 成人国产| 亚洲国产精品一区二区第一页免| 噜噜噜久久| 成人午夜视频网站| 91视频精品| 亚洲综合片| 九色在线观看视频| 亚洲综合久久成人AV| 久久精品视频亚洲| 老汉色老汉首页a亚洲| 久久黄色视频影| 色综合成人| 国产精品久线在线观看| 免费无遮挡AV| 一区二区三区成人| 男女精品视频| 国产男人天堂| 免费大黄网站在线观看| 国模私拍一区二区| 成人一级免费视频| 成人91在线| 久久精品国产一区二区小说| 日韩欧美国产区| 亚洲精品国产首次亮相| 国产精鲁鲁网在线视频| 久久77777| 亚洲第一在线播放| 国产在线精彩视频论坛| 草逼视频国产| 免费无码又爽又黄又刺激网站| 日韩一区二区在线电影| 丝袜亚洲综合| 亚洲swag精品自拍一区| 波多野结衣一二三| 在线五月婷婷| 国产精品视频观看裸模| 国产xx在线观看| 亚洲色成人www在线观看| 日韩一区精品视频一区二区| 福利在线免费视频| 国产美女自慰在线观看| 精品少妇人妻一区二区| 女人18一级毛片免费观看| 伊人中文网| 一本大道香蕉中文日本不卡高清二区| 国产美女视频黄a视频全免费网站| 国产精品蜜臀| 久久综合丝袜日本网| 色网在线视频| 国产精品片在线观看手机版| 亚洲精品视频在线观看视频| 人妻丝袜无码视频| 国产精品自在线天天看片| 51国产偷自视频区视频手机观看| 中文字幕久久波多野结衣| 成人福利在线视频免费观看| 区国产精品搜索视频| 国产成人综合日韩精品无码不卡| 成人夜夜嗨| 波多野结衣在线se| 久草性视频|