新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的高精度稱重系統(tǒng)的研制

基于單片機(jī)的高精度稱重系統(tǒng)的研制

作者: 時(shí)間:2013-02-20 來(lái)源:網(wǎng)絡(luò) 收藏

  2.2 上位機(jī)軟件編程

  本系統(tǒng)采用MSComm控件實(shí)現(xiàn)VB與之間的數(shù)據(jù)交換,具有程序?qū)崿F(xiàn)簡(jiǎn)便,程序模塊化,工作可靠等優(yōu)點(diǎn),并能滿足多數(shù)情況下的工控要求。使用MSComm控件主要是通過(guò)事件來(lái)處理串行口的交互。控件的OnComm事件負(fù)責(zé)捕獲或處理這些通訊事件和通訊錯(cuò)誤。

  2.2.1 MSCOMM屬性設(shè)置

  MSComml.CommPort=1 '設(shè)置端口1

  MSComml.Settings="2400,N,8,1" '2400 b/s,無(wú)校驗(yàn),8位數(shù)據(jù)位,1位停止位

  MSComml.InputLen=1 '一次從緩沖區(qū)中接收一個(gè)字節(jié)

  MSComml.InBufferSize=1024 '接口收緩沖區(qū)大小

  MSComml.PortOpen=Ture '打開端口

  MSComml.Rthreshold=1 '接收一個(gè)字節(jié)觸發(fā)一次ONCOMM事件

  2.2.2 ONCOMM事件響應(yīng)程序

  Private Sub MSComml_OnComm()

  Dim buffer As Variant '由緩沖區(qū)接收到的數(shù)據(jù)用Variant格式接收

  Dim arr()As Byte '定義二進(jìn)制數(shù)組

  Dim i As Integer

  Dim receivester As string '定義輸出到接收文本框中的字符變量

  '下段程序是comEvReceive事件觸發(fā)后,將數(shù)據(jù)存入相應(yīng)的數(shù)組,并在接收文本框中顯示

  Select Case MSComml.CommEvent CasecomEvReceive buffer=MSComml.Inpute

  arr=buffer接收緩沖區(qū)內(nèi)數(shù)據(jù)variant變量?jī)?nèi)

  arr=buffer '轉(zhuǎn)換為二進(jìn)制數(shù)并送入相應(yīng)數(shù)組

  For i=1to8

  receivester arr(i)

  Text1.Text=Text1.Text&receiverstr&"."

  '在接收框中顯示文本

  Next i

  End Select

  End Sub

  3 結(jié)束語(yǔ)

  本重量測(cè)量系統(tǒng),充分發(fā)揮了AT89S52強(qiáng)大的控制能力和計(jì)算機(jī)的數(shù)據(jù)處理能力,通過(guò)稱重傳感器和24位分辨率的A/D轉(zhuǎn)換器實(shí)現(xiàn)了對(duì)重量的測(cè)量。系統(tǒng)在電子秤的實(shí)際應(yīng)用中收到了滿意的效果。

參考文獻(xiàn):

[1].AT89S52datasheethttp://www.dzsc.com/datasheet/AT89S52_970343.html.
[2].AD7714datasheethttp://www.dzsc.com/datasheet/AD7714_249868.html.
[3].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[4].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[5].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.
[6].ISD1400datasheethttp://www.dzsc.com/datasheet/ISD1400_409579.html.

稱重傳感器相關(guān)文章:稱重傳感器原理

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

評(píng)論


相關(guān)推薦

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

關(guān)閉