?? form1.frm
字號:
End
End
Begin VB.CommandButton Cmdstart
Caption = "開始測量"
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 6480
TabIndex = 4
Top = 360
Width = 1095
End
Begin VB.CommandButton Cmdstop
Caption = "停止測量"
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 6480
TabIndex = 3
Top = 1200
Width = 1095
End
Begin MSCommLib.MSComm MSComm1
Left = 7320
Top = 3960
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = 0 'False
OutBufferSize = 1024
RThreshold = 2
BaudRate = 19200
InputMode = 1
End
Begin VB.CommandButton Cmdquit
Caption = "關 閉"
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 6480
TabIndex = 0
Top = 4560
Width = 1095
End
Begin VB.PictureBox Picture1
BackColor = &H00FFFFFF&
Height = 2895
Left = 105
ScaleHeight = 2835
ScaleWidth = 4035
TabIndex = 1
Top = 360
Width = 4095
End
Begin MSFlexGridLib.MSFlexGrid Grid
Height = 2955
Left = 4320
TabIndex = 2
Top = 360
Width = 1845
_ExtentX = 3254
_ExtentY = 5212
_Version = 393216
Rows = 201
ScrollBars = 2
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋體"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Label Label12
BackColor = &H00C0FFC0&
Caption = "℃"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 7440
TabIndex = 24
Top = 3240
Width = 255
End
Begin VB.Label Label11
BackColor = &H00C0FFC0&
Caption = "報警溫度值設置"
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 255
Left = 6480
TabIndex = 23
Top = 2880
Width = 1455
End
Begin VB.OLE OLE1
AutoActivate = 0 'Manual
Class = "SoundRec"
DisplayType = 1 'Icon
Height = 375
Left = 6480
OleObjectBlob = "Form1.frx":0CCA
TabIndex = 21
Top = 4080
Visible = 0 'False
Width = 375
End
Begin VB.Label Label10
BackColor = &H00C0FFC0&
Caption = "數據列表"
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 4320
TabIndex = 19
Top = 120
Width = 855
End
Begin VB.Label Label9
BackColor = &H00C0FFC0&
Caption = "實時曲線圖"
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 120
TabIndex = 18
Top = 120
Width = 975
End
Begin VB.Menu about
Caption = "關于(&A)"
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim datatemp(1000) As Integer '用于存儲溫度采樣值
Dim num As Integer '用于存儲采樣值個數
Private Sub about_Click()
Form3.Show
End Sub
'刷新
Private Sub Cmdflh_Click()
Call renew
End Sub
'串口初始化
Private Sub Form_Load()
Call tabinit '調用表格初始化子程序
End Sub
'開始測量
Private Sub Cmdstart_Click()
If (MSComm1.PortOpen = True) Then
MsgBox "已經開始測量", 48, "信息"
Else
MSComm1.PortOpen = True
End If
End Sub
'停止測量
Private Sub Cmdstop_Click()
If (MSComm1.PortOpen = False) Then
MsgBox "已經停止測量", 48, "信息"
Else
MSComm1.PortOpen = False
End If
End Sub
Private Sub help_Click()
End Sub
'獲取溫度測量值并顯示
Private Sub MSComm1_OnComm()
Dim Inbyte() As Byte
Dim buffer
If num > 199 Then Call renew
'讀取儀表返回數據串
Select Case MSComm1.CommEvent
Case comEvReceive
Inbyte = MSComm1.Input
For i = LBound(Inbyte) To UBound(Inbyte)
buffer = buffer & Inbyte(i)
Next i
Case comEvSend
End Select
datatemp(num) = Chr(Mid(buffer, 1, 2)) & Chr(Mid(buffer, 3, 2))
Grid.Col = 1: Grid.Row = num + 1
Grid.Text = datatemp(num)
TempText = datatemp(num)
num = num + 1
Call cal '調用計算極值、平均值子程序
Call draw '調用繪曲線過程
If TempText = Text1.Text Then
OLE1.AppIsRunning = True
OLE1.DoVerb
Form2.Label1.Caption = " 溫度已到" & " " & Text1.Text & "℃!"
Form2.Show
End If
End Sub
'計算極值、平均值
Sub cal()
On Error GoTo hh
Sum = 0
Max = datatemp(0): Min = Max
For i = 0 To num - 1
If datatemp(i) >= Max Then Max = datatemp(i)
If datatemp(i) <= Min Then Min = datatemp(i)
Sum = Sum + datatemp(i)
Next i
aver = Sum / num
MaxText.Text = Max
MinText.Text = Min
AverText.Text = Format$(aver, "0")
hh: Exit Sub
End Sub
'繪制溫度實時變化曲線
Private Sub draw()
Picture1.Cls
Picture1.Scale (0, 50)-(200, 0)
For i = 1 To num - 1
X1 = (i - 1): Y1 = datatemp(i - 1)
X2 = i: Y2 = datatemp(i)
Picture1.Line (X1, Y1)-(X2, Y2), QBColor(4)
Next i
End Sub
'刷新
Private Sub renew()
If num = 0 Then Exit Sub
TempText.Text = "": AverText.Text = ""
MinText.Text = "": MaxText.Text = ""
Grid.Clear
Picture1.Cls
For i = 0 To num - 1
datatemp(i) = 0
Next i
num = 0
Call tabinit
End Sub
'數據表格初始化
Public Sub tabinit()
Grid.ColWidth(0) = 700
Grid.ColWidth(1) = 800
Grid.Col = 0
For i = 1 To 200
Grid.Row = i
Grid.Text = " " + Str$(i)
Next i
Grid.Row = 0
Grid.Col = 0: Grid.Text = " 序號"
Grid.Col = 1: Grid.Text = " 溫度值"
Grid.TopRow = 1 '置在第一頁
Grid.LeftCol = 1
End Sub
'當退出程序時,關閉串口
Private Sub Cmdquit_Click()
Unload Me
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -