VB程序
Option Explicit
Dim NowX As Integer
Dim MaxPlotNo As Long
Dim PreValue As Single
Private Sub cmbCOM_Click()
If cmbCOM.ListIndex + 1 = MSComm1.CommPort Then Exit Sub
Timer1.Enabled = False
TimeDelay 100
If MSComm1.PortOpen Then
MSComm1.PortOpen = False
End If
lblMsg.Caption = "已停止检测并关闭通讯端口"
cmdOpenCOM.Enabled = True
End Sub
Private Sub cmdEnd_Click()
End
End Sub
Private Sub cmdOpenCOM_Click()
If cmbCOM.ListIndex >= 0 And cmbCOM.ListIndex <= 16 Then
MSComm1.CommPort = cmbCOM.ListIndex + 1
Else
MsgBox "指定通信端口时发生错误!", vbCritical + vbOKOnly, "系统信息"
Exit Sub
End If
On Error GoTo comErr
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
cmdOpenCOM.Enabled = False
cmdStart.Enabled = True
lblMsg.Caption = "可单击【开始检测】按钮,执行检测的工作。"
Exit Sub
comErr:
MsgBox "打开通信端口时发生错误!请确定通信端口存在且正常。", vbCritical + vbOKOnly, "系统信息"
End Sub
Private Sub cmdStart_Click()
Timer1.Enabled = Not Timer1.Enabled
If Timer1.Enabled Then
cmdStart.Caption = "停止检测"
Else
cmdStart.Caption = "开始检测"
lblMsg.Caption = "已停止检测"
End If
End Sub
Private Sub Form_Load()
Dim i%
MaxPlotNo = 100
cmbCOM.Clear
cmbCOM.AddItem "COM1"
cmbCOM.AddItem "COM2"
cmbCOM.AddItem "COM3(USB)"
cmbCOM.AddItem "COM4(USB)"
cmbCOM.AddItem "COM5"
cmbCOM.AddItem "COM6"
cmbCOM.AddItem "COM7"
cmbCOM.AddItem "COM8"
cmbCOM.AddItem "COM9"
cmbCOM.AddItem "COM10"
cmbCOM.AddItem "COM11"
cmbCOM.AddItem "COM12"
cmbCOM.AddItem "COM12"
cmbCOM.AddItem "COM14"
cmbCOM.AddItem "COM15"
cmbCOM.AddItem "COM16"
cmbCOM.ListIndex = 0
cmdStart.Enabled = False
'以下设定绘图范围,(Xmin,YMax)-(XMax,YMin)
picVoltage.Scale (0, 50)-(MaxPlotNo, 0)
picVoltage.DrawWidth = 2 '使用两个像素宽度的画笔
End Sub
Private Sub Label2_Click()
End Sub
Private Sub lblValue_Click()
End Sub
Private Sub MSComm1_OnComm()
End Sub
Private Sub Timer1_Timer()
Dim Buf$, ValueStr As Single, Pos1%
Buf$ = Buf$ + MSComm1.Input
TimeDelay 2150
ValueStr = Val(Mid(Buf, Pos1 + 1, 7))
lblValue.Caption = Format(ValueStr, "00.0000") & "℃"
If NowX = 0 Then
picVoltage.Cls
picVoltage.PSet (0, ValueStr)
Else
If ValueStr > PreValue + 0.01 Then
picVoltage.Line -(NowX, ValueStr), RGB(255, 0, 0)
Else
picVoltage.Line -(NowX, ValueStr), RGB(0, 0, 255)
End If
End If
PreValue = ValueStr
NowX = NowX + 1
If NowX > MaxPlotNo Then NowX = 0
End Sub
本文档为【VB上位机温度采集(含源程序代码)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。