Komunikasi Serial Mikrokontroler Atmel 89C51 dengan PC (Visual Basic 6.0)

Mau bagi bagi saja atas apa yang dulu pernah saya buat.  Berikut saya berikan script komunikasi melalui port serial menggunakan mikrokontroler yang populer  tahun 2000 an yaitu atmel 89c51 terhubung ke komputer. Bahasa pemrograman yang digunakan di komputer adalah visual basic 6.0.

Pertama Di VB Buat disain aplikasi seperti berikut ”

Serial

Berikut script VB nya ……..

 

Public terima, hasil As StringPublic berhenti As Boolean
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

Sedangkan Script di Mikrokontroler sebagai berikut :

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.

Untuk Skematik hubungan antara Mikro dan PC digambarkan berikut :

rangkaian

Pny- Eko TS

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s