Giao diện
Hình 7.1: Giao diện điều khiển
Mã chương trình
Dim DATA As String Dim SO1 As Double Dim SO2 As Double Dim SO3 As Double Dim SO4 As Double Dim T1 As Double Dim T2 As Double Dim T3 As Double
Dim T4 As Double Dim Y1 As Double Dim Y2 As Double Dim Y3 As Double
Dim Y4 As Double 'CHUA GT LUU LAI Dim SO As Double
Dim DEM_TG As Double Dim CONNECT As Boolean
Dim BATDAU As Boolean 'DUNG DE BAO BAT DAU VE DO THI /*********************************************************/ Private Sub Command1_Click()
MSComm1.Output = "A" Shape1.FillColor = vbYellow End Sub
/*********************************************************/ Private Sub Command2_Click()
MSComm1.Output = "B" Shape1.FillColor = vbBlack End Sub
/*********************************************************/ Private Sub Command3_Click()
MSComm1.Output = "C" Shape2.FillColor = vbBlue End Sub
/*********************************************************/ Private Sub Command4_Click()
MSComm1.Output = "D" Shape2.FillColor = vbBlack End Sub
/*********************************************************/ Private Sub Form_Load()
MSComm1.CommPort = 1 'CONG COM1
MSComm1.Settings = "9600,N,8,1" 'TOC DO BAUD 9600 MSComm1.RThreshold = 4 MSComm1.InputLen = 4 MSComm1.DTREnable = False MSComm1.PortOpen = True SO = 0 DEM_TG = 720 'X BAN DU LA 0 MSComm1.Output = "A" Shape1.FillColor = vbYellow End Sub
/*********************************************************/ Private Sub Form_Unload(Cancel As Integer)
MSComm1.Output = "B" MSComm1.Output = "D" End Sub
/*********************************************************/ Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then DATA = MSComm1.Input 'DOC DU LIEU TU VDK SO1 = Asc(Mid$(DATA, 1, 1)) 'BYTE THU1
T1 = (SO1 - 150) * 0.2 + 31
SO2 = Asc(Mid$(DATA, 2, 1)) 'BYTE THU2 T2 = (SO2 - 150) * 0.2 + 31
SO3 = Asc(Mid$(DATA, 3, 1)) 'BYTE THU3 T3 = (SO3 - 150) * 0.2 + 31
SO4 = Asc(Mid$(DATA, 4, 1)) 'BYTE THU4 T4 = (SO4 - 150) * 0.2 + 31
Label2.Caption = T1 Label3.Caption = T2 Label4.Caption = T3 Label5.Caption = T4
Call VE 'VE DO THI
CONNECT = True 'BAO DANG KET NOI
Label1.Caption = "CONNECTING TO PERIPHERAL DEVICE !" End If
End Sub
/*********************************************************/ Function VE()
If DEM_TG = 720 Then
Cls 'XOA MAN HINH Y1 = -120 * T1 + 7680
Y2 = -120 * T2 + 7680Y3 = -120 * T3 + 7680 Y3 = -120 * T3 + 7680
Y4 = -120 * T4 + 7680 'LAY GT BAN DAU DEM_TG = 725
Exit Function End If
Line (DEM_TG - 5, Y1)-(DEM_TG, -120 * T1 + 7680), vbRed Line (DEM_TG - 5, Y2)-(DEM_TG, -120 * T2 + 7680), vbGreen Line (DEM_TG - 5, Y3)-(DEM_TG, -120 * T3 + 7680), vbBlue Line (DEM_TG - 5, Y4)-(DEM_TG, -120 * T4 + 7680), vbBlack Y1 = -120 * T1 + 7680
Y2 = -120 * T2 + 7680Y3 = -120 * T3 + 7680 Y3 = -120 * T3 + 7680 Y4 = -120 * T4 + 7680 DEM_TG = DEM_TG + 5 If DEM_TG = 9720 Then
DEM_TG = 720 'TRA LAI TU DAU Exit Function
End If
End Function
/*********************************************************/ Private Sub Timer1_Timer()
MSComm1.Output = "E" If CONNECT = True Then CONNECT = False
Exit Sub End If
Label1.Caption = "NOT CONNECT TO PERIPHERAL DEVICE !" End Sub
Chương 8