www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]Qt跨平臺數(shù)字化壓力測量分析監(jiān)控系統(tǒng)的設計與實現(xiàn)

摘要:利用Qt提供的C++應用程序開發(fā)框架,以單片機技術、數(shù)據(jù)庫技術為基礎,結合學校原有的測量儀器設計了一套包括計算機分析、儲存數(shù)據(jù)的測量監(jiān)控系統(tǒng)。使用操作簡單,人機界面人性化,錯誤機制的反饋信息能幫助操作者及時處理錯誤操作,同時單組數(shù)據(jù)存儲幫助學生更好的記錄自己數(shù)據(jù),為學生提供了一個生動有趣全面的實驗平臺。
關鍵詞:C++;Qt;數(shù)據(jù)庫;單片機;串行通信

    在應用物理學科的“數(shù)字化壓力測量”實驗裝置中,使用了模擬電路,數(shù)字電路,傳感器與單片機等學科技術知識。為了完成數(shù)據(jù)采集與分析,單靠單片機技術所構成的硬件系統(tǒng)架構,雖然可以做到實時的監(jiān)控,但不利于數(shù)據(jù)處理的深化與更加深入詳細分析的表達,數(shù)據(jù)的記錄也會帶來誤差,為了解決這些問題,讓學生能更好的領略到數(shù)字化時代的知識,在完成數(shù)字化壓力測量檢測儀的基礎上,提出本課題的設計與實現(xiàn)。
    PC機具有強大數(shù)據(jù)處理,圖像顯示以及實時監(jiān)控的能力,利用PC機的這些特點,同時編寫友好的應用程序來實現(xiàn)數(shù)據(jù)的采集與分析,具有特殊意義——能夠提升整套測試系統(tǒng)的處理能力的上位機得以呈現(xiàn)。
    Qt提供的C++應用程序開發(fā)框架,可以輕松實現(xiàn)“一次編寫,隨處編譯”的跨平臺解決方案,編寫的應用程序能完美運行于從windows 98到windows 7,從Mac OSX到Linux,從Solaris,HP-UX到其他基于X11的眾多Unix平臺上。
    這讓編寫的應用程序可以運行在不同的系統(tǒng),很大程度上方便移植。

1 總體架構設計
    軟件整體架構包括完善的菜單欄、啟動畫面,工具欄,狀態(tài)欄和應用程序主界面。軟件架構如圖1所示。


    由啟動畫面進入程序主應用程序,主應用程序初始化界面提供一些必要的操作說明,單擊清除按鈕將會清除說明,然后進入具體應用程序配置,配置完成一些工具按鍵進入使能狀態(tài)同時另一些按鍵進入禁止使用狀態(tài)。
    軟件保留一個按鍵作為切換測量與監(jiān)控模式,具體的模式由單片機程序決定,默認為測量模式。
    Qt是由C++體系實現(xiàn),采用先進的信號槽機制,每一個類對應一個功能,about.cpp中的about類提供軟件版本,作者和日期等信息,dis play.cpp中的Clock類提供數(shù)據(jù)回歸分析曲線擬合,fader.cpp中FaderWidget類提供對整體程序彈出窗口中淡入淡出效果,mainwindow.cpp中的MainWindow類提供應用程序主體窗口,win_qextserialport.cpp提供的類用于串口配置底層驅(qū)動文件。

2 界面布局設計
2.1 菜單欄、工具欄以及狀態(tài)欄的實現(xiàn)
    菜單可以讓用戶瀏覽應用程序并且可以學會如何處理一些新的事情;上下文菜單和工具欄則提供了對那些常使用的功能進行快速訪問的方法;狀態(tài)欄用于顯示狀態(tài)提示和其他一些臨時消息。
    在Q1中實現(xiàn)這3個子窗口是相通的,原理一樣,實現(xiàn)手法一樣,只是對用戶而言看上去不一樣。Qt里面有一個類,叫做QAction,QAction保存有關于這個動作,也就是action的信息,神奇的是,QAction能夠根據(jù)添加的位置來改變自己的樣子,如果添加到菜單中,它就會顯示成一個菜單項;如果添加到工具欄,它就會顯示成一個按鈕,QAction有一個屬性適用于狀態(tài)欄顯示setStatusTip。通過這個屬性可以設置狀態(tài)欄顯示信息。
    example=new QAction(tr(“”),this);
    example->setIcon(QIcon(“”));example->setStatusTip(tr(“”));
    最后給動作添加一個槽,以便實現(xiàn)了信號槽connect(example,SIGNAL(triggered()),this,SLOT())。[!--empirenews.page--]
2.2 添加控件的實現(xiàn)
    在Qt中每一個控件對應于一個類,向窗口或控件添加其他控件只需指定相關類就完成了添加窗口的操作。
2.3 布局組件的實現(xiàn)
    在Qt中使用布局機制來實現(xiàn)控件的位置定位。只要把組件放入某一種布局之中,當需要調(diào)整大小或位置的時候,Qt就知道該怎樣進行調(diào)整。


    Qt一共有3種主要的Layout,分別是:QHBoxLayout水平方向從左到右布局;QVBoxLayout垂直方向從上到下布局;OGridLayout在一個網(wǎng)格中進行布局。圖2是整體效果。

3 數(shù)據(jù)采集存儲顯示設計
3.1 數(shù)據(jù)存儲
    在測量模式下通過單擊獲取數(shù)據(jù)按鈕會獲得來自單片機系統(tǒng)發(fā)送過來的實時測量數(shù)據(jù)。從數(shù)據(jù)顯示獲取系統(tǒng)采集的時間來精確記錄數(shù)據(jù)信息。如果不需要在應用程序界面上顯示,可以通過單擊寫入文件按鈕,此時數(shù)據(jù)將會寫入到具體文件中去,操作者可以保存以自己姓名學號為文件名的文件。Qt中通過QFile類訪問本地文件系統(tǒng)或者嵌入資源,同時還要使用QTextStream類來操縱文本文件,QTextStream會自動將Unicode編碼同操作系統(tǒng)編碼進行轉(zhuǎn)化。
3.2 數(shù)據(jù)分析與擬合
    為了方便學生實驗,通過獲取每個學生實驗數(shù)據(jù)進行回歸分析以及擬合曲線,對應于每個button是由數(shù)據(jù)增和數(shù)據(jù)減求得平均值;學生由于誤操作導致獲取的數(shù)據(jù)不正確,可以通過單擊刪除按鈕刪除該數(shù)據(jù),然后重新獲取數(shù)據(jù)。學生可以通過原始數(shù)據(jù)擬合曲線和回歸分析后的擬合曲線進行對比。在Qt中沒有具體數(shù)據(jù)圖表控件,因此需要自定義控件。[!--empirenews.page--]
3.3 解決方案
    利用Qt中繪圖控件QPainter當獲取每個數(shù)據(jù)時,在屏幕上打印出相對應的點,這樣就能擬合出曲線如圖3所示。同時利用坐標變換trans late方法重新定義原點,這樣更有利于坐標的繪制。


    如圖3所示,首先畫出網(wǎng)格坐標軸,然后將獲取到的數(shù)據(jù)轉(zhuǎn)化為相對應的具體左邊打印出該點:
    paint,drawEllipse(((i+1)*24)+2,-(share[i]/10/5*24)+4,-6,-6);/畫點,最后由回歸分析擬合出數(shù)據(jù)表達式。

4 數(shù)據(jù)庫設計
    QtSql模塊提供了與平臺以及數(shù)據(jù)庫種類無關的訪問SQL數(shù)據(jù)庫接口。這個接口由利用Qt的模型/視圖結構將數(shù)據(jù)庫與用戶界面集成的一套類來集成。
    本應用程序采用微軟開發(fā)的SQL Setwer2005作為數(shù)據(jù)庫引擎,用戶界面采用Qt編寫,當系統(tǒng)處于監(jiān)控模式時,需要數(shù)據(jù)的實時監(jiān)控和存儲,數(shù)據(jù)量將非常大使用文件存儲不適合,同時利用數(shù)據(jù)庫提供的查詢語句Select、修改update、刪除delete等語句,可以方便地管理數(shù)據(jù)庫。

5 軟件美化
5.1 國際化
    Qt中國際化的方式有很多種,常使用的QTextCodec類和使用tr()函數(shù),前者將編碼名稱寫到代碼里面,除非使用Unicode編碼,否者編碼依然是一個問題,本軟件系統(tǒng)設計時使用tr()函數(shù)實現(xiàn)應用程序的國際化。同時在main函數(shù)中增加一個QTranslator對象,這樣應用程序就變成了中文。[!--empirenews.page--]
5.2 淡入淡出效果
    當窗體進行頁面切換時,原頁面的消失和新頁面的顯示并不是瞬間切換的,而是逐漸消隱和逐漸顯現(xiàn)的過程。


    本應用程序中實現(xiàn)的fader類就是用于實現(xiàn)這種效果,在響應頁面切換時,新建一個窗體,此窗體是一個與對話框等尺寸的空白窗體,此窗體由透明逐漸變成不透明就完成了淡入淡出的效果,如圖4所示。

6 Qt串口通信
    在Qt中沒有特定的串口控制類,采用第三方寫的qextserialport類如圖5,文件中包含QextSerialBase類,Win_QextSerialPort類,Pos ix_QextSerialPort類,QextSeralPort是所有類的子類,是最高的抽象,它屏蔽了平臺特征,使得在任何平臺上都可以使用。


    對于串口的讀取方式有Polling模式即查詢模式還有EventDriven事件驅(qū)動模式。
    事件驅(qū)動方式就是使用處理串口的讀取,一旦有數(shù)據(jù)到來就會發(fā)出readyRead()信號,設計者可以關聯(lián)該信號來讀取串口數(shù)據(jù)。在事件驅(qū)動的方式下,串口的讀寫是異步的調(diào)用讀寫函數(shù)會立即返回,它們不會凍結調(diào)用線程。
    而查詢方式則不同,讀寫函數(shù)是同步執(zhí)行,信號不能工作在這種模式下,但這種模式下開銷小,需要自己建立定時器來讀取串口數(shù)據(jù)。
    Windows下可以使用兩種方式而在Linux下只能使用查詢Polling方式。

7 結束語
    本軟件測試系統(tǒng)界面直觀、友好,數(shù)據(jù)存儲方便,分組存儲更能方便學生記錄數(shù)據(jù)。軟件能后滿足實驗室的測量要求,并且省去了繁瑣的數(shù)據(jù)記錄、處理的過程。學生可以更直觀地觀測壓力的變化。在通信協(xié)議不變的條件下,軟件和硬件平臺可以分別進行改進、擴展,使其更加完善。應用程序的跨平臺性,可以完美運行于各種操作系統(tǒng),從Windows到Mac OS,從Linux到Unix及一些嵌入式系統(tǒng)上。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉