• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于STM32的溫度測量系統(tǒng)的開發(fā)

      2019-01-17 05:49:42霍英楠孫金根
      關(guān)鍵詞:源碼界面曲線

      霍英楠,孫金根

      (沈陽理工大學(xué) 自動化與電氣工程學(xué)院,遼寧 沈陽 110159)

      在工業(yè)制造及室內(nèi)家居生產(chǎn)等領(lǐng)域,溫度作為重要影響因素需實時監(jiān)視,有時還需要查看一段時間內(nèi)的溫度變化趨勢[1].目前,溫度計仍被廣泛應(yīng)用于溫度檢測,如玻璃溫度計、雙金屬溫度計和壓力式溫度計.這些溫度計存在實時性差、精度低、溫度值讀取麻煩等缺點.隨著單片機技術(shù)的成熟以及半導(dǎo)體技術(shù)和嵌入式技術(shù)的飛速發(fā)展,溫度測量系統(tǒng)正逐步轉(zhuǎn)變?yōu)閺?fù)合型系統(tǒng),具有很強的適應(yīng)能力,可以應(yīng)用于較為惡劣的環(huán)境,更重要的是測量精度有了很大的提高[2],正逐步向智能化、集成化和實用化方向發(fā)展.

      本文基于STM32開發(fā)的溫度測量系統(tǒng)實時性好、精度高、成本低、功耗小,與以往溫度測量系統(tǒng)相比,性能有很大提高.首先,系統(tǒng)的集成度更高,無需復(fù)雜的組裝;其次,系統(tǒng)采用μC/OS-III進行任務(wù)管理,可以完成更多更復(fù)雜的任務(wù),不但更加安全可靠,而且后期的修改和維護方便;其三,測量系統(tǒng)添加了溫度監(jiān)視界面,可以將實時溫度以及相關(guān)信息顯示在LCD(liquid Crystal Display)屏幕上,溫度數(shù)據(jù)的讀取更加方便,系統(tǒng)更具有實用性.

      1 溫度測量系統(tǒng)開發(fā)平臺

      溫度測量系統(tǒng)的開發(fā)平臺是正點原子的精英開發(fā)板,處理器采用的是意法半導(dǎo)體(ST)公司出品的STM32F103型,芯片為ARM(Advanced RISC Machines)公司生產(chǎn)的Cortex-M3型,屬于32位ARM微控制器,其最高工作頻率為72 MHz,外部Flash為大容量512 kB[3].該系列芯片集成了定時器、USB、ADC(Analog-to-Digital Converter)等多種外設(shè)功能,同時具有低功耗、可低壓操作的特點,是一款適用于工業(yè)、醫(yī)療等多個領(lǐng)域的微控制器[4].

      所采用的溫度傳感器集成于STM32F103芯片中,用來實現(xiàn)對工作環(huán)境和室內(nèi)溫度的測量.芯片內(nèi)部的ADC能夠?qū)鞲衅鬏敵龅碾妷褐缔D(zhuǎn)換成數(shù)字傳送至CPU.為了保證測量精度,ADC的模擬輸入采樣時間應(yīng)不低于17.1 μs,否則會產(chǎn)生很大誤差[5].

      該溫度測量系統(tǒng)運行時,ADC內(nèi)部輸入通道16被激活,按照式(1)計算后,將溫度傳感器傳送的電壓值轉(zhuǎn)換為實際溫度值,同時將溫度數(shù)據(jù)傳送給數(shù)據(jù)顯示模塊,實現(xiàn)溫度數(shù)據(jù)在監(jiān)視界面中的顯示.

      T={(V25-Vsense)/Avg_Slope}+25

      (1)

      式中:T為轉(zhuǎn)換后溫度值;Vsense為溫度傳感器輸出的電壓值;V25為Vsense在25 ℃時的數(shù)值;Avg_Slope為溫度與Vsense曲線的平均斜率.

      2 軟件設(shè)計流程

      溫度測量系統(tǒng)的軟件部分在MDK5上進行開發(fā),采用ST公司固件庫中的API(Application Programming Interface)函數(shù),使程序簡潔美觀,并在很大程度上降低了開發(fā)難度.軟件的主程序流程如圖1所示.需要注意的是,ADC的時鐘頻率應(yīng)低于14 MHz,否則會影響測量精度,采樣時間設(shè)置為239.5個時鐘周期即可.

      圖1 主程序流程

      系統(tǒng)啟動后,首先初始化操作系統(tǒng)、ADC、LCD、定時器,并配置相關(guān)的外設(shè)引腳,接下來創(chuàng)建系統(tǒng)所需的任務(wù).其中,LED的主要功能是在系統(tǒng)正常運行時每秒閃爍一次;STemWin包含了溫度數(shù)據(jù)采集和GUI(Graphical User Interface)刷新顯示數(shù)據(jù)兩個功能.當(dāng)系統(tǒng)正常運行時,LED不斷閃爍,監(jiān)視界面會顯示實時溫度數(shù)據(jù)以及提示信息,同時繪制出溫度曲線,以便查詢某段時間的歷史溫度數(shù)據(jù)并預(yù)測溫度變化趨勢.

      3 操作系統(tǒng)的移植

      移植操作系統(tǒng)是為了充分利用CPU資源.GUI運行時應(yīng)該對CPU和內(nèi)存資源進行合理使用.操作系統(tǒng)具有豐富的可調(diào)用庫函數(shù),能夠縮短系統(tǒng)開發(fā)時間.移植操作系統(tǒng)使工程易于修改和維護,且有利于在工程中創(chuàng)建更多更復(fù)雜的任務(wù).

      μC/OS-III是實時性強的嵌入式操作系統(tǒng),可移植性好,可管理任務(wù)數(shù)多,是μC/OS的第三代內(nèi)核;其源代碼是開放的,非常便于學(xué)習(xí)和研究[6].相比于μC/OS-II,它添加了時間片輪轉(zhuǎn)調(diào)度算法,能夠高效快速地完成系統(tǒng)的進程調(diào)度,使CPU資源得以充分利用[7].μC/OS-III還支持STemWin、μCGUI等GUI庫,具有很強的可擴展性,在實際應(yīng)用中運行穩(wěn)定.

      首先從官方網(wǎng)站下載源碼;然后將源碼解壓,找到系統(tǒng)移植所需要的文件并添加到已有工程的μC/OS-III分組中;添加源碼后,需要參照移植流程和μC/OS-III移植手冊進行以下操作:①在bsp.c中將CTRL寄存器的bit0置1,開通時鐘計數(shù)功能;②對stm32f10x_it.o文件中名為PendV_Handler的函數(shù)進行屏蔽;③在os_cfg_app.h文件中配置μC/OS-III內(nèi)部任務(wù)的優(yōu)先級;④將sys.h文件中SYSTEM_SUPPORT_UCOS的宏定義值改為1,使系統(tǒng)文件支持μC/OS.

      μC/OS-III系統(tǒng)移植操作完成后,在工程中建立簡單的跑馬燈任務(wù),用于測試μC/OS-III系統(tǒng)是否移植成功.

      4 基于STemWin開發(fā)的監(jiān)視界面

      GUI是指用圖形方式顯示數(shù)據(jù)處理狀態(tài)和結(jié)果的用戶計算機操作界面.與使用命令行界面相比,圖形界面內(nèi)容豐富多彩,功能多樣.圖形用戶界面的廣泛應(yīng)用給非專業(yè)用戶帶來了極大的便利.

      STemWin是一個包含曲線、文本、按鈕等多種控件的嵌入式圖形庫,適用于ST公司的MCU(Microprogrammed Control Unit).ST的芯片可以免費使用,但不開源,且以lib的形式提供[8].

      移植STemWin時,同樣需要首先到ST官網(wǎng)上下載源碼,且要下載STM32F103對應(yīng)的Cube;然后將源碼解壓,找到移植系統(tǒng)所需要的文件,添加到已經(jīng)移植好的μC/OS-III操作系統(tǒng)的工程中去;最后,需要根據(jù)STM32F1 EMWIN開發(fā)手冊進行以下操作:①需要在GUIConf.c文件中為STemWin分配內(nèi)存,但其大小不能超過64 kB; ②將GUIConf.h文件中的GUI_OS宏定義值改為1,使其能夠支持操作系統(tǒng);③將用于打點、讀點、填充的函數(shù)定義在GUIDRV_Template.c文件中;④刪除LCDConf_FlexColor_Template.c文件中調(diào)用LCD驅(qū)動的函數(shù)(這是因為實際應(yīng)用中STemWin自帶的驅(qū)動程序?qū)σ恍㎜CD驅(qū)動電路不支持).

      開發(fā)監(jiān)視界面之前,還需要實現(xiàn)漢字顯示功能.在PC機上制作的漢字字庫通過SD卡被刷入外部Flash中,并在工程中添加定義字體和查找字庫的文件,即可實現(xiàn)漢字的顯示.接下來,借助GUIBuilder工具和STemWin庫的API函數(shù),完成監(jiān)視界面的開發(fā).GUIBuilder工具操作簡單,控件齊全,是emWin官方提供的一款用于GUI設(shè)計的軟件.打開GUIBuilder軟件,添加實驗需要的FRAMWIN、GRAPH和TEXT等小工具,小工具添加完成后,點擊顯示save選項而自動生成FramewinDLG.c文件;打開新生成的文件,在_cbDialog函數(shù)中完成所有控件的初始化,并利用GRAPH_DATA_YT_AddValue函數(shù)將溫度數(shù)據(jù)添加到GRAPH工具中,從而實現(xiàn)溫度曲線的繪制(溫度曲線最右側(cè)的溫度值對應(yīng)實時溫度值);最后在文件中加入用戶自定義函數(shù)以及開發(fā)監(jiān)視界面所需要的頭文件,將文件名改為Mygui.c,并將其添加到工程中,即可完成監(jiān)視界面的開發(fā).監(jiān)視界面開發(fā)流程如圖2所示.

      圖2 監(jiān)視界面的開發(fā)流程

      5 實驗及分析

      基于μC/OS-III和STemWin移植系統(tǒng),在main()主函數(shù)中創(chuàng)建LED任務(wù),用來顯示系統(tǒng)運行狀態(tài);創(chuàng)建STemWin任務(wù),實現(xiàn)溫度監(jiān)視界面,以便將溫度信息顯示在界面中;最后在確認工程編譯鏈接無報錯后,將程序下載到開發(fā)平臺上,在實驗室中對溫度測量系統(tǒng)進行模擬實驗.為了檢測溫度測量系統(tǒng)的性能,首先利用吹風(fēng)機升高開發(fā)平臺周圍的環(huán)境溫度,再利用風(fēng)扇降低環(huán)境溫度.由于條件所限,測量的溫度范圍為20~40 ℃.實驗的溫度測量系統(tǒng)監(jiān)視界面如圖3所示.

      圖3 實驗的溫度測量系統(tǒng)監(jiān)視界面

      由圖3可以看出,實時溫度為25.0 ℃,屏幕下方可顯示室內(nèi)環(huán)境溫度狀態(tài).查看實時溫度曲線可知,實驗平臺的環(huán)境溫度由低升高、又由高降低進行變化.通過該溫度測量系統(tǒng)監(jiān)視界面可了解溫度變化所經(jīng)歷的時間,有利于隨時掌握工作環(huán)境的溫度變化情況.

      6 結(jié)束語

      基于STM32處理器和LCD開發(fā)出一種溫度測量系統(tǒng).該測量系統(tǒng)能夠利用STM32內(nèi)部的溫度傳感器測量周圍環(huán)境的溫度,并在監(jiān)視界面中顯示實時溫度數(shù)據(jù)以及提示信息,同時繪制出溫度變化曲線.經(jīng)實驗測試,該溫度測量系統(tǒng)監(jiān)視界面簡潔直觀,溫度數(shù)據(jù)清晰,系統(tǒng)實時性好,成本低,具有很強的實用性.

      猜你喜歡
      源碼界面曲線
      基于網(wǎng)頁源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲代碼生成方法
      基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測方法
      計算機時代(2023年6期)2023-06-15 17:49:09
      未來訪談:出版的第二增長曲線在哪里?
      出版人(2022年8期)2022-08-23 03:36:50
      企業(yè)如何保護源碼
      幸福曲線
      英語文摘(2020年6期)2020-09-21 09:30:40
      國企黨委前置研究的“四個界面”
      沿平坦凸曲線Hilbert變換的L2有界性
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      人機交互界面發(fā)展趨勢研究
      基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實驗課程改革
      計算機教育(2016年4期)2016-05-20 02:36:05
      巩留县| 波密县| 资讯 | 闸北区| 山阴县| 阜新市| 南康市| 布尔津县| 石城县| 滨海县| 高平市| 方正县| 德昌县| 永昌县| 应用必备| 奉贤区| 元阳县| 揭阳市| 甘谷县| 阿拉善盟| 扎囊县| 荆州市| 万安县| 金秀| 永兴县| 枣阳市| 策勒县| 黔西| 平定县| 彩票| 洞头县| 东源县| 山丹县| 达孜县| 蓝山县| 泊头市| 湘潭县| 金湖县| 井陉县| 遵义市| 山东|