《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于LabVIEW的單片機溫度自動測試系統(tǒng)
基于LabVIEW的單片機溫度自動測試系統(tǒng)
摘要: 冷庫是發(fā)展冷藏業(yè)的基礎(chǔ)設(shè)施,,也是在低溫條件下貯藏貨物的建筑群,。食品保鮮主要以食品冷藏鏈為主,,將易腐畜禽,、水產(chǎn),、果蔬,、速凍食品通過預(yù)冷,、加工,、貯存和冷藏運輸,,有效地保持食品的外觀,、色澤、營養(yǎng)成分及風(fēng)味物質(zhì),,達到食品保質(zhì)保鮮,,延長食品保存期的目的,起到調(diào)劑淡,、旺季市場的需求并減少生產(chǎn)與銷售過程中經(jīng)濟損耗的作用,。
Abstract:
Key words :

  1 引 言

  LabVIEW是美國國家儀器公司(National Instru-ment)開發(fā)的一種虛擬儀器平臺,他是一種用圖標(biāo)代碼來代替文本式編程語言創(chuàng)建應(yīng)用程序的開發(fā)工具,。Lab-VIEW功能強大,,提供了豐富的數(shù)據(jù)采集、分析和存儲庫函數(shù)以及包括DAQ,,GPIB,,PXI,VXI,,RS 232/485在內(nèi)的各種儀器通信總線標(biāo)準(zhǔn)的所有功能函數(shù),。利用LabVIEW設(shè)計的數(shù)據(jù)采集系統(tǒng),可模擬采集各種信號,,但是配備NI公司的數(shù)據(jù)采集板卡比較貴,,在實際開發(fā)中可選用單片機小系統(tǒng)對數(shù)據(jù)進行采集。

  冷庫是發(fā)展冷藏業(yè)的基礎(chǔ)設(shè)施,,也是在低溫條件下貯藏貨物的建筑群,。食品保鮮主要以食品冷藏鏈為主,將易腐畜禽,、水產(chǎn),、果蔬、速凍食品通過預(yù)冷,、加工,、貯存和冷藏運輸,有效地保持食品的外觀,、色澤,、營養(yǎng)成分及風(fēng)味物質(zhì),,達到食品保質(zhì)保鮮,,延長食品保存期的目的,起到調(diào)劑淡,、旺季市場的需求并減少生產(chǎn)與銷售過程中經(jīng)濟損耗的作用,。在這些實際應(yīng)用中,溫度是冷庫的一個很重要的指標(biāo),,因此,,本文設(shè)計了一種基于LabVIEW的單片機溫度自動測試系統(tǒng),,并對其系統(tǒng)的組成、實現(xiàn)給出了詳細描述,。

  2 系統(tǒng)的組成結(jié)構(gòu)及工作原理

  本系統(tǒng)的數(shù)據(jù)采集系統(tǒng)由溫度傳感器和AT89C51單片機以及MAX232組成,。由單片機組成的小系統(tǒng)對溫度信號進行采

 

集、調(diào)理和轉(zhuǎn)換,,然后通過RS 232串口通訊將數(shù)據(jù)送給計算機,,在LabVIEW開發(fā)平臺下,對數(shù)據(jù)進行各種處理,、分析,,并對信號進行存儲、顯示和打印,,最后由PC機顯示實時測量的冷庫的8個冷凍室的溫度,,從而實現(xiàn)了一種在Lab-VIEW環(huán)境下的單片機溫度自動測試系統(tǒng)。

 

  2.1 硬件電路設(shè)計

  系統(tǒng)的硬件電路如圖1所示,,采用AT89C51作為主芯片,,溫度傳感器選用由美國AD公司生產(chǎn)的集成電路溫度傳感器AD590,該溫度傳感器具有體積小,、測溫精度高,、穩(wěn)定性好、反應(yīng)速度快,、線性度好,、能進行遠距離傳送和價格低廉等優(yōu)點。這種溫度傳感器特別容易和微電腦配合,,組成自動測溫系統(tǒng),。放大電路選用AD627,將被測溫度轉(zhuǎn)換并放大到0~5 V范圍,,然后送到A/D轉(zhuǎn)換器的輸入端,。由于溫度的變化比較緩慢,因此在系統(tǒng)中可以不用采樣/保持器,。模數(shù)轉(zhuǎn)換電路選用內(nèi)部帶有鎖存器和8路模擬開關(guān)的ADC0809,,他的分辨率為1/256,完全能滿足分辨率為±1℃的要求,。

硬件電路

  啟動ADC0809的工作過程是:先送通道號地址到ADDA,,ADDB,ADDC,,由ALE信號鎖存通道號地址,,后讓START有效,啟動A/D轉(zhuǎn)換,即執(zhí)行一條“MOVX@DPTR,,A”指令產(chǎn)生WR信號,,使ALE,START有效,,鎖存通道號并啟動A/D轉(zhuǎn)換,。A/D轉(zhuǎn)換完畢,EOC端發(fā)出一正脈沖,,申請中斷,。在中斷服務(wù)程序中,“MOVX A,,@DPTR”產(chǎn)生RD信號,,使OE端有效,打開輸出鎖存器三態(tài)門,,使用“MOVX A,,@DPTR“指令就可將8位數(shù)據(jù)讀人到CPU中。

  2.2 軟件設(shè)計

  系統(tǒng)軟件設(shè)計主要包括主程序,、中斷服務(wù)子程序等,。軟件流程圖如圖2所示。

軟件流程圖

  主程序的功能:負責(zé)整個系統(tǒng)的管理工作,,如對89C51外部中斷方式進行設(shè)置,,建立數(shù)據(jù)指針,置通道初值,,啟動A/D轉(zhuǎn)換和上位機進行通訊等,。

  中斷服務(wù)程序的功能:讀取A/D轉(zhuǎn)換后的數(shù)據(jù),更改通道號及數(shù)據(jù)存儲器地址指針并判斷8個通道是否采集完畢,,未完則繼續(xù)啟動下一個通道,;若8個通道已轉(zhuǎn)換完畢,則重新設(shè)置通道號初值,,再次啟動IN0通道,。

  3 LabVIEW下的串行通訊設(shè)計

  3.1 VISA介紹

  由于使用計算機控制的儀器逐步增多,出現(xiàn)了許多I/O控制軟件,,一些是用戶自己開發(fā)的,,一些是硬件接口廠家為其開發(fā)的硬件接口設(shè)備設(shè)計的,但他們都不具有通用性,,這就給用戶帶來了許多麻煩,,VISA(Virtual Instru-ment Software Architecture,虛擬儀器軟件體系結(jié)構(gòu))這種通用的儀器驅(qū)動軟件結(jié)構(gòu)就是為解決這些問題而產(chǎn)生的,。作為通用I/O標(biāo)準(zhǔn),,VISA具有與儀器硬件接口和具體計算機無關(guān)的特性,即VISA是面向器件功能,,而不是面向接口總線的,。使用他控制VXI,GPIB,,RS 232等儀器時,,不必考慮接口總線類型。針對計算機標(biāo)準(zhǔn)的串行口,,Lab-VIEW提供了串行端口子模板,。串行端口子模板中還包含許多的子模板(也稱子VI),其中主要包括以下6個子VI:

  (1)VISA Configure Setial Port:VI串行口初始化子VI,;

  (2)VISA Write:VI向串行口緩沖區(qū)寫入數(shù)據(jù)的子VI,;

  (3)VISA Read:VI從串行口設(shè)備中讀取數(shù)據(jù)的子VI;

  (4)VISA Close:VI關(guān)閉串行口的子VI,;

  (5)VISA Bytes at Serial Port:VI返回指定串行口中輸入緩沖區(qū)內(nèi)的字節(jié)數(shù)子VI,;

 

  (6)VISA Serial Break:VI串行口中斷子VI。

  LabVIEW是基于圖形化的程序設(shè)計語言,,程序的核心代碼是類似于流程圖的方框圖和線條的連接,。每個方框圖代表一個功能模塊即子VI,程序執(zhí)行的過程是條件滿足方式,,當(dāng)一個功能模塊的所有輸入都齊備后,,此功能模塊產(chǎn)生輸出,傳送給下

 

一個模塊,。程序的動態(tài)流程可以通過點亮Block Diagram工具欄上的Highlight Execution小燈泡看到,。

 

  3.2 串行通訊程序設(shè)計

  首先是對串口的初始化設(shè)置:波特率為默認值9 600,8位數(shù)據(jù)位,,1位停止位,,無校驗位,串口號為1,。當(dāng)系統(tǒng)開啟時,,通過VISA Write.vi向單片機發(fā)送“發(fā)送請求命令1”由于LabVIEW的串行通信子VI只允許對字符串的讀寫,因此在數(shù)據(jù)處理時,,必須進行字符串與數(shù)字之間的正確轉(zhuǎn)換,,在這里我們通過調(diào)用一個“組串”子VI來實現(xiàn)此轉(zhuǎn)換。在收到上位機的發(fā)送請求命令后,,單片機則回應(yīng)應(yīng)答信號3,,上位機通過VISA Read.vi節(jié)點讀取單片機的應(yīng)答信號,并且判斷是否收到3來控制順序結(jié)構(gòu)中的While循環(huán),。若上位機沒收到單片機的應(yīng)答信號則重發(fā)“發(fā)送請求命令”,,若收到應(yīng)答信號則執(zhí)行順序結(jié)構(gòu)的第二步。在順序結(jié)構(gòu)第二步中,我們將通過VISA Read.vi讀取數(shù)據(jù),,用實時趨勢圖控件Waveform Chart顯示,。圖3給出了上位機對PIC單片機進行讀操作的框圖程序。

上位機對PIC單片機進行讀操作的框圖程序

  4 前面板設(shè)計

  LabVIEW中的前面板就是圖形化用戶界面,,用于設(shè)置輸入數(shù)值和觀察輸出量,。本系統(tǒng)的前面板中設(shè)置波特率、串口號,、數(shù)據(jù)位和停止位為控件,,用實時趨勢圖控件Waveform Chart來顯示下位機實時采集到的數(shù)據(jù)。如圖4所示,,給出本系統(tǒng)的前面板設(shè)計,。

本系統(tǒng)的前面板設(shè)計

  5 結(jié) 語

  在實際開發(fā)中,LabVIEW表現(xiàn)了很好的靈活性,。尤其是利用其提供的外部接口,,結(jié)合以單片機為核心組成的小系統(tǒng),可以很方便地完成數(shù)據(jù)采集及處理等功能,,具有很強的工程實用性,,可廣泛應(yīng)用于測試控制領(lǐng)域。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。