Sampel Program Untuk mengkomunikasikan Komputer dengan
Microcontroler
Berikut Contoh Script dengan Visual Basic untuk komunikasi Serial
Public berhenti As Boolean
Public terima, hasil As String
Private Sub Command1_Click()
Dim data As Integer
berhenti = False
tes = Text1.Text
If Text1.Text = "" Then
tes = 10
Text1.Text = tes
End If
MSComm1.Output = Chr(tes)
tunda
baca
'konversi
End Sub
Sub baca()
terima = MSComm1.Input
Text3.Text = CStr(terima)
konversi
End Sub
Sub tunda()
Dim lihatdelay As Double
If Text4.Text = "" Then
lihatdelay = 5
Text4.Text = lihatdelay
End If
lihatdelay = CDbl(Text4.Text)
lihatdelay = lihatdelay * 5000
For looping = 1 To lihatdelay
Next looping
End Sub
Private Sub Command2_Click()
berhenti = False
Unload Me
'MSComm1.PortOpen = False
End Sub
Private Sub Command3_Click()
Dim hitung As Integer
berhenti = True
Do
hitung = hitung + 1
Text1.Text = CStr(hitung)
tunda
DoEvents
MSComm1.Output = Chr(hitung)
If hitung = 255 Then
hitung = 0
End If
baca
'konversi
Loop Until berhenti = False
End Sub
Private Sub Command4_Click()
Dim hitung As Integer
Dim masuk As String
hitung = 1
berhenti = True
Do
masuk = CStr(hitung)
MSComm1.Output = Chr(hitung)
Text1.Text = masuk
hitung = hitung * 2
tunda
baca
If hitung = 256 Then
hitung = 1
End If
DoEvents
Loop Until berhenti = False
End Sub
Private Sub Command5_Click()
Dim hitung, invert As Integer
Dim masuk As String
hitung = 254
berhenti = True
Do
masuk = CStr(hitung)
MSComm1.Output = Chr(masuk)
Text1.Text = masuk
hitung = hitung \ 2
tunda
baca
If hitung = 1 Then
hitung = 254
End If
DoEvents
Loop Until berhenti = False
End Sub
Private Sub Command6_Click()
berhenti = False
End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True
MSComm1.Settings = "4800,N,8,1"
End Sub
Sub konversi()
Dim ubah As Byte
Dim data As Byte
Dim temp As String
data = 0
Do
temp = CStr(terima)
cocokan = Chr(data)
If cocokan = temp Then
hasil = data
End If
data = data + 1
Loop Until data = 255
Text2.Text = CStr(hasil)
End Sub
Script assembler
ORG 00H
MOV SCON,#10H
MOV R1,#33H
SETL: MOV A,R1
TERIMA: RR A
MOV P0,A
ACALL DELAY
JNB RI,$
MOV A,SBUF
CLR RI
MOV P1,A
MOV P1,#00H
ACALL DELAY
CLR TI
MOV SBUF,A
MOV A,R1
KIRIM: RL A
MOV P0,A
ACALL DELAY
JNB TI,$
SJMP SETL
DELAY: MOV R7,#05FH
DL1: MOV R6,#0FH
DL2: MOV R5,#0FH
DJNZ R5,$
DJNZ R6,DL2
DJNZ R7,DL1
RET
END.
Design Hubungan Serial
Tidak ada komentar:
Posting Komentar