<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于VB的計(jì)算機(jī)溫度采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于VB的計(jì)算機(jī)溫度采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-08-21 來源:網(wǎng)絡(luò) 收藏

          應(yīng)用較廣泛的有:逐次逼近式A/D轉(zhuǎn)換雙積分式、V/F變換式。本所使用的單片機(jī)89C51是8位,因此采用8位,其接口電路簡(jiǎn)單。絕大部分集成A/D轉(zhuǎn)換器的數(shù)據(jù)輸出都具有TTL電平,數(shù)據(jù)輸出寄存器具有可控三態(tài)輸出功能,可直接掛在數(shù)據(jù)總線上,否則,就要加緩沖器接口,數(shù)據(jù)分兩次讀出,比較麻煩。根據(jù)所要求的測(cè)量分辨力,采用8位A/D轉(zhuǎn)換器時(shí),其分辨力為50/250=0.2,已經(jīng)高于規(guī)定值。是一個(gè)緩慢變化的物理量,測(cè)量它時(shí)不需要高速A/D轉(zhuǎn)換器,通道上也不需要加采樣保持器。逐次逼近型A/D轉(zhuǎn)換器屬于中速A/D轉(zhuǎn)換器,常用于工業(yè)多通道單片機(jī)控制。以上原因,本系統(tǒng)采用
          ADC0809作為器。其結(jié)構(gòu)框圖如圖3。該芯片是8位逐次比較式A/D轉(zhuǎn)換芯片,具有地址鎖存控制的8路模擬開關(guān),最大非線性誤差小于+1LSB,應(yīng)用單一+5V電源,其模擬量輸入電壓的范圍為0 +5V,對(duì)應(yīng)的數(shù)字量輸出為00H FFH,可鎖存三態(tài)輸出,輸出與TTL兼容,功耗為15mW,轉(zhuǎn)換時(shí)間為100 S,無需調(diào)零或調(diào)整滿量程。有28個(gè)引腳,其中:IN0、IN1、IN2、…、IN7接8路模擬量輸入;AD-DA、ADDB、ADDC接地址線,用以選定8路輸入中的一路。
          該系統(tǒng)中ADDC接地,AD-DA、ADDB分別接89C51的P3.3和P3.4,構(gòu)成4路輸入;ALE是地址鎖存允許,START是芯片的起動(dòng)引腳,其上脈沖的下降沿起動(dòng)一次新的A/D轉(zhuǎn)換,一起接入P3.7;EOC是轉(zhuǎn)換結(jié)束信號(hào),與P362相接,向單片機(jī)申請(qǐng)中斷;OE是輸出允許端,直接接+5V;CLK是時(shí)鐘端,因芯片的時(shí)鐘頻率最高只工作于640KHZ,故通常由單片機(jī)的ALE經(jīng)分頻后接向該引腳;DB0 DB7是數(shù)字量輸出,與PO相接,LSB表示最低位,MSB表示最高位。
          3.3 串行接口電路
          下位機(jī)(單片機(jī))通過串行口(RXD和TXD)與上位機(jī)(PC機(jī))進(jìn)行異步通信,采用RS―232標(biāo)準(zhǔn)接口。RS―232規(guī)定了自己的電氣標(biāo)準(zhǔn),而此標(biāo)準(zhǔn)并不能滿足TTL電平(MCS―51單片機(jī)串行口電平為TTL電平)傳送要求。因此當(dāng)RS232電平與TTL電平接口時(shí),必須進(jìn)行電平轉(zhuǎn)換。目前RS232與TTL的電平轉(zhuǎn)換最常用的芯片是傳輸線驅(qū)動(dòng)器MC1488和傳輸線接收器MC1489,其作用除了電平轉(zhuǎn)換外,還正負(fù)邏輯電平的轉(zhuǎn)換。
          4 軟件
          系統(tǒng)軟件主要是用6.0對(duì)RS232串口編程。硬件之間的通訊。MSComm是Microsoft公司提供的主要用于串行通信編程的ActiveX控件。ActiveX控件包括一系列的屬性、方法和事件,應(yīng)用程序通過ActiveX控件提供的接口來訪問控件的功能。通信控件把許多復(fù)雜的操作都留給了和Windows處理,編程人員編程時(shí)只需設(shè)置其中的一些屬性。
          系統(tǒng)的關(guān)鍵代碼如下:
          Coast CMDconfig = %0101210600 ’設(shè)置端口命令字符,
          0--100度,科學(xué)單位
          Coast CMDdataInl = #O1 ‘讀串口1數(shù)據(jù)命令字符
          Coast CMDdataIn2 = #02 ‘讀串口2數(shù)據(jù)命令字符
          Coast CMDspanCalibration = $010 ‘校準(zhǔn)命令字符
          Coast CMDoffsetCalibration = $011 ‘偏移量校準(zhǔn)命令字符
          Coast CMDconfigStatus = $012‘讀端口信息命令字符
          Coast CMDmoduleName = $OlM‘讀模塊名命令字符
          Private Sub CmdStart_onClick( )‘開始命令子程序
          MSComml.CommPor = COMnum‘設(shè)置申口號(hào)
          If MSComml.PortOpen = False Then‘打開串口
          MSComml.PorOpen = True
          End If
          If COMnum = 1 Then
          CMDdataln = CMIMataInl
          Else
          CMDdataln = CMDdataIn2
          End If
          MSComml.Outpu t= CStr(CMDdataIn)vbCr‘發(fā)出讀數(shù)命令
          TimeDelay 500‘延時(shí)500 ms
          Picturel.CurrentX = 0‘繪制曲線坐標(biāo)起點(diǎn)
          Picturel. CurrentY = temperature
          Timer1.Enabled = True‘開始計(jì)時(shí)
          End Sub
          Private Sub MSComml_OnComm( ) ‘事件響應(yīng)子程序
          Select Case MSComml.CommEvent‘判斷MSComml通訊事件
          Case comEvReceive‘收到Rthreshold個(gè)字節(jié)產(chǎn)生的接收事件
          MSComml.RThreshold = 0‘關(guān)閉OnComm事件接收
          TimeDelay 20‘延時(shí)20ms
          temperatureShow = Right(MSComml.Input.7) ‘讀取第一個(gè)數(shù)據(jù)字節(jié)(BCD碼高位字節(jié))
          temperature = VaI(temperature5how ) ‘?dāng)?shù)值組合,標(biāo)定小數(shù)點(diǎn)
          MSComml.Output = CStr(CMDdataIn)vbCr‘發(fā)送讀命令
          MSComml.InBufferCount = 0‘清空緩存
          MSComml.RThreshold = 1‘關(guān)閉OnComm事件接收
          Case comEventBreak‘收到Break

          Case Else
          End Select
          End Sub
          系統(tǒng)時(shí)鐘最小可以設(shè)為1ms,在使用中需要注意,由于串口速度有限,系統(tǒng)運(yùn)行速度有限,ADAM4013模塊的采樣率也有限,所以設(shè)置串口采樣間隔一般不能小于50ms,否則會(huì)出現(xiàn)延時(shí)錯(cuò)誤。其實(shí)對(duì)于來說,20次/s的采樣率已經(jīng)夠用,大的采樣率并無太大意義。
          5 結(jié)束語
          系統(tǒng)中沒有對(duì)超過測(cè)溫范圍時(shí)情況的處理,可在系統(tǒng)改進(jìn)中增加一個(gè)報(bào)警電路。將單片機(jī)的一個(gè)口與一個(gè)發(fā)光二極管相接,所測(cè)溫度超過規(guī)定溫度時(shí),發(fā)光二極管點(diǎn)亮,提醒用戶。本系統(tǒng)由于進(jìn)行了實(shí)時(shí)顯示和數(shù)據(jù)存儲(chǔ)的,便于直觀地觀察溫度變化和數(shù)據(jù)處理。本系統(tǒng)最大的特點(diǎn)就是容易,不需要數(shù)據(jù)卡,不需要硬件驅(qū)動(dòng)程序,硬件連接方便,軟件編制也比較容易掌握,特別適合短期的測(cè)溫系統(tǒng)開發(fā)。

          本文引用地址:http://www.ex-cimer.com/article/163634.htm


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();