《電子技術(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)載。