?? form1.frm
字號:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "RM-1501轉速計"
ClientHeight = 3585
ClientLeft = 60
ClientTop = 345
ClientWidth = 5460
LinkTopic = "Form1"
ScaleHeight = 3585
ScaleWidth = 5460
StartUpPosition = 3 '窗口缺省
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 1000
Left = 2565
Top = 2745
End
Begin MSCommLib.MSComm MSComm1
Left = 4140
Top = 1935
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = 0 'False
InputMode = 1
End
Begin VB.CommandButton Command2
Caption = "讀取數值"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 600
Left = 630
TabIndex = 2
Top = 2610
Width = 1455
End
Begin VB.CommandButton Command1
Caption = "結束系統"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 600
Left = 3375
TabIndex = 0
Top = 2610
Width = 1455
End
Begin VB.Label lblBatt
AutoSize = -1 'True
Caption = "????"
BeginProperty Font
Name = "Arial Black"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00000000&
Height = 345
Left = 2340
TabIndex = 9
Top = 2025
Width = 600
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "電池狀態:"
BeginProperty Font
Name = "宋體"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Index = 3
Left = 585
TabIndex = 8
Top = 2070
Width = 1425
End
Begin VB.Label lblType
AutoSize = -1 'True
Caption = "????"
BeginProperty Font
Name = "Arial Black"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00C000C0&
Height = 345
Left = 2340
TabIndex = 7
Top = 1395
Width = 600
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "獲取方式:"
BeginProperty Font
Name = "宋體"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Index = 2
Left = 585
TabIndex = 6
Top = 1440
Width = 1425
End
Begin VB.Label lblUnit
AutoSize = -1 'True
Caption = "????"
BeginProperty Font
Name = "Arial Black"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 345
Left = 2340
TabIndex = 5
Top = 765
Width = 600
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "現在單位:"
BeginProperty Font
Name = "宋體"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Index = 1
Left = 585
TabIndex = 4
Top = 810
Width = 1425
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "現在速度:"
BeginProperty Font
Name = "宋體"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Index = 0
Left = 585
TabIndex = 3
Top = 180
Width = 1425
End
Begin VB.Label lblRpm
AutoSize = -1 'True
Caption = "????"
BeginProperty Font
Name = "Arial Black"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 345
Left = 2340
TabIndex = 1
Top = 135
Width = 600
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''
'結束系統的按鈕
'利用End指令結束系統
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Command1_Click()
End
End Sub
''''''''''''''''''''''''''''''''''''''''''''''
'讀取數值的按鈕
'這其中是將定時器的狀態作轉態
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Command2_Click()
Timer1.Enabled = Not Timer1.Enabled
End Sub
Function Prova_1501() As Long '下指令byout()給prova_1501,取回轉速值
Dim Rpm&, i%, Diver&
Dim byin() As Byte
byin() = MSComm1.Input
For i = LBound(byin) To UBound(byin)
If byin(i) = 13 Then '顯示0d,為起始byte
If byin(i + 1) = 0 Then Diver = 1 '第2byte決定小數點位置
If byin(i + 1) = 1 Then Diver = 10
If byin(i + 1) = 2 Then Diver = 100
If byin(i + 1) = 4 Then Diver = 1000
'以下查看電池狀態
If (byin(i + 2) And &H1) = 1 Then
lblBatt.Caption = "LOW!"
Else
lblBatt.Caption = "OK!"
End If
'以下查看單位
If (byin(i + 3) And &H1) = 1 Then
lblUnit.Caption = "RPM"
ElseIf (byin(i + 3) And &H2) = 2 Then
lblUnit.Caption = "m/min"
ElseIf (byin(i + 3) And &H4) = 4 Then
lblUnit.Caption = "ft/min"
ElseIf (byin(i + 3) And &H8) = 8 Then
lblUnit.Caption = "yd/min"
ElseIf (byin(i + 3) And &H10) = &H10 Then
lblUnit.Caption = "RPS"
End If
'以下查看方式
If (byin(i + 4) And &H1) = 1 Then
lblType.Caption = "Normal"
ElseIf (byin(i + 4) And &H2) = 2 Then
lblType.Caption = "MAX"
ElseIf (byin(i + 4) And &H4) = 4 Then
lblType.Caption = "MIN"
ElseIf (byin(i + 4) And &H8) = 8 Then
lblType.Caption = "AVERAGE"
End If
'以下計算轉速
Rpm = CLng((CLng(Val(byin(i + 6))) + CLng(Val(byin(i + 7))) * 256& _
+ CLng(byin(i + 8)) * 256& ^ 2 + CLng(byin(i + 9)) * 256& ^ 3) / Diver) '第7,8,9,10byte決定rpm
Prova_1501 = Rpm
Exit Function
End If
Next i
End Function
''''''''''''''''''''''''''''''''''''''''''''''
'窗體的Load事件
'在此先打開通信端口
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub
''''''''''''''''''''''''''''''''''''''''''''''
'定時器控件的Timer事件
'將Prova_1501的轉速顯示到Label控件里
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Timer1_Timer()
lblRpm.Caption = Prova_1501
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -