Komunikasi Serial Penghitung Jumlah Orang Masuk dan Keluar dengan Microsoft Visual Basic 6.0 dari Mikrokontroler AT89S52 Ke PC
I.
Alat Yang Digunakan
Alat yang digunakan untuk komunikasi serial yaitu : 1.
Laptop (PC)
2.
Kabel USB to RS232 (Serial DB9 Female)
3.
Downloader
4.
Rangkaian Sistem Minimum AT89S52 Tabel 1. Komponen rangkaian SisMin AT89S52 No
Nama Komponen
Jumlah
1
IC AT89S52
1 buah
2
Socket pin 40
1 buah
3
Kristal 11,0592 MHz
1 buah
4
Saklar Push Button
1 buah
5
Kapasitor 30 pF
2 buah
6
Kapasitor 10 µF / 16V
1 buah
7
Resistor 10 KΩ
1 buah
8
Resistor 330 Ω
8 buah
9
LED
8 buah
10
Pin Header Single
Secukupnya
1
5. Rangkaian Komunikasi Serial Tabel 2. Komponen rangkaian komunikasi serial No
Nama Komponen
Jumlah
1
IC MAX 232
1 buah
2
Socket pin 16
1 buah
3
DB9 Female
1 buah
4
Kapasitor 1 µF / 16V
4 buah
5
Pin Header Single
Secukupnya
6. Rangkaian Catu Daya No
Nama Komponen
Jumlah
1
Dioda Bridge
1 buah
2
IC 7805
1 buah
3
Kapasitor 1000, dan
1 buah
100 µF 4
Led
1 buah
5
Jumper
Secukupnya
6
Resistor 100 Ω
1 buah
II. Dasar Teori II.1 Mikrokontroler
Mikrokontroler merupakan sistem komputer kecil yang biasa digunakan untuk sistem pengendali atau pengontrol yang dapat diprogram sesuai kebutuhan. Mikrokontroller memiliki 4KB Flash Programmable dan Erasable Read Only Memory(PEROM) didalamnya.
2
Mikrokontroler AT89S52 merupakan pengembangan dari mikrokontroler MCS-51. Mikrokontroler ini biasa disebut juga dengan mikrokomputer CMOS 8 bit dengan 8 Kbyte yang dapat dIprogram sampai 1000 kali pemograman. Selain itu AT89S52 juga mempunyai kapasitas RAM sebesar 256 bytes, 32 saluran I/O, Watchdog timer, dua pointer data, tiga buah timer/counter 16-bit, Programmable UART (Serial Port). Memori Flash digunakan untuk menyimpan perintah (instruksi) berstandar MCS-51, sehingga memungkinkan mikrokontroler ini bekerja sendiri tanpa diperlukan tambahan chip lainnya (single chip operation), mode operasi keping tunggal yang tidak memerlukan external memory dan memori flashnya mampu diprogram hingga seribu kali. Hal lain yang menguntungkan adalah sistem pemogramanan menjadi lebih sederhana dan tidak memerlukan rangkaian yang rumit. Sebuah mikrokontroler dapat berfungsi/bekerja, apabila telah terisi oleh program. Program terlebih dahulu dimasukan kedalam memori sesuai dengan kebutuhan penggunaaan pengontrolan yang diperlukan dan yang hendak dijalankan. Program yang dimasukkan kedalam mikrokontroler Atmel 89S52 adalah berupa file heksa (Hex File), dan program tersebut berisikan instruksi atau perintah untuk menjalankan sistem kontrol. Mikrokontroler AT89S52 mempunyai 40 kaki, 32 kaki diantaranya digunakan sebagai port pararel. Satu Port pararel terdiri 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah Port pararel, yang masing-masing dikenal sebagai Port 0, Port 1, Port 2, dan Port 3. Nomor dari masing-masing jalur (kaki) dari Port pararel mulai dari 0 sampai 7, jalur (kaki) pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7
3
Gambar 1. Konfigurasi Pin Mikrokontroler AT89S52 Keterangan :
Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada disain
yang
minimum
(sederhana),
port
0
digunakan
sebagai
port Input/Output (I/O). Port 0 terdapat pada pin 32 sampai 39.
Port 1
Pada mikrokontroler MCS-51 seri AT89SX, terdapat fasilitas khusus dari port 1 ini yaitu adanya fasilitas In-System Programming, yaitu port 1.5 sebagai MOSI, port 1.6 sebagai MISO, port 1.7 sebagai SCK. Merupakan port yang hanya berfungsi sebagai port I/O ( Input/Output ). Port 1 terdapat pada pin 1-8.
Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O ( Input/Output ). Sedangkan pada desain lebih lanjut digunakan sebagai high byte dari address (alamat). Port 2 terdapat pada pin 21-28.
Port 3
Merupakan dual-purpose port . Selain sebagai port I/O ( Input/Output ). Port 3 terdapat pada pin 10 - 17. Port 3 juga mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan pada tabel berikut.
4
Nama Pin
Tabel 3. Konfigurasi Port 3 Fungsi
P3.0 (Pin 10)
RXD (Port Input Serial)
P3.1 (Pin 11)
TXD (Port Output Serial)
P3.2 (Pin 12)
INTO (Interrupt 0 Eksternal)
P3.3 (Pin 13)
INT1 (Interrupt 1 Eksternal)
P3.4 (Pin 14)
T0 (Input Eksternal Timer 0)
P3.5 (Pin 15)
T1 (Input Eksternal Timer 1)
P3.6 (Pin 16)
WR (untuk menulis eksternal data memori)
P3.7 (Pin 17)
RD (untuk membaca eksternal data memori
RST : Pin ini berfungsi sebagai input untuk melakukan reset terhadap
mikro yaitu mengembalikan kondisi kerja mikrokontroler pada posisi awal. RST terdapat pada pin 9.
XTAL 1 : XTAL1 berfungsi sebagai masukan dari rangkaian osilasi
mikrokontroler. XTAL 1 terdapat pada pin 19.
XTAL 2 : XTAL2 berfungsi sebagai keluaran dari rangkaian osilasi
mikrokontroler. XTAL 2 terdapat pada pin 18.
PSEN : PSEN (Program Memory Enable) adalah pulsa pengaktif untuk
membaca program memori luar.
ALE : Berfungsi untuk demultiplexer pada saat port 0 bekerja
sebagai multiplexed address/data bus (pengaksesan memori eksternal).
EA : EA (External Access) harus dihubungkan dengan ground jika
menggunakan program memori luar. Jika menggunakan program memori internal maka EA dihubungkan dengan VCC.
VCC : Pin ini berfungsi ssebagai tempat sumber tegangan yang sebesar 5
volt DC. VCC terdapat pada pin 40.
GND : Pin ini berfungsi sebagai pentanahan. GND terdapat pada pin 20.
5
II.2 Komunikasi Serial
Komunikasi serial adalah salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel. Untuk komunikasi
serial
tersinkron, lebar
pita setara
dengan frekuensi
jalur.
Pada komputer pribadi, komunikasi serial digunakan misalnya pada standar komunikasi RS-232 yang
menghubungkan periferal eksternal
seperti
modem dengan komputer. Komunikasi serial membutuhkan port sebagai saluran data yaitu port serial DB9.
Gambar 2. DB9 Male dan DB9 Female
Tabel 4. Signal DB9 Male dan DB9 Female
PIN
Signal
Pin 1
Data Carrier Detect (DCD)
Pin 2
Received Data (RxD)
Pin 3
Transmitted Data (TxD)
Pin 4
Data Terminal Ready (DTR)
Pin 5
Signal Ground (common)
Pin 6
Data Set Ready (DSR)
Pin 7
Request To Send (RTS)
Pin 8
Clear To Send (CTS)
Pin 9
Ring Indicator (RI)
6
Berikut ini beberapa istilah dalam komunikasi serial, yaitu : 1.
Synchronous (sinkron) adalah kondisi pengiriman data serial yang disertai
dengan pengiriman detak (clock ). 2. Asynchronous (asinkron)
adalah
kondisi
dengan
detak
tidak
dikirim
bersamaan dengan data serial sehingga masing-masing perangkat keras yang berkomunikasi harus menciptakan detaknya sendiri. 3. Baud rate merupakan istilah yang digunakan untuk kecepatan aliran data. Satuan baud rate adalah bps (bit per second ). Contohnya, 9600 bps atau 19200 bps. 4. Full duplex adalah jenis komunikasi serial yang menyatakan hubungan antara dua perangkat keras, A dan B. Jika A sedang melakukan pengiriman data, pada saat yang sama, A dapat menerima data dari B, dan sebaliknya. Kondisi ini dinamakan full duplex atau komunikasi dua arah. Contohnya, telepon. 5. Half duplex merupakan kondisi ketika proses pengiriman dan penerimaan data tidak dapat dilakukan secara bersamaan seperti pada full duplex namun dilakukan secara bergantian. Contohnya, pesawat intercom dan walkie talkie.
Jenis komunikasi serial diantaranya UART (Universal Asynchronous Receiver/Transmitter ), SPI, dan I2C ( Inter Integrated Circuit ). Pada komunikasi
serial asinkron jenis full duplex digunakan tiga jalur yaitu, jalur Tx (transmit / pengiriman), jalur Rx(receive / penrimaan), dan jalur ground. Umumnya jumlah data yang dikirim adalah satu bit start , delapan bit data, dan satu bit stop sehingga dalam satu frame data terdapat sepuluh bit.
7
Gambar 3. Komunikasi Serial
Komunikasi serial pada mikrokontroler AT89S52 bergantung pada kondisi pin Rx dan Tx. Data yang akan dikirim dan diterima harus diletakkan atau ditampung pada register SBUF ( serial buffer ). SBUF pada mikrokontroler dipisahkan
antara
pengiriman
data
dan
penerimaan
data
tetapi
dalam
pemrogramannya hanya ada satu yaitu SBUF saja. Tugas compiler untuk memahami SBUF yang dimaksud oleh program dan menterjemahkannya ke dalam kode mesin untuk masing-masing SBUF.
Gambar 4. Register SBUF II.3 Konverter Logika RS-232
Konverter yang paling mudah digunakan adalah MAX-232. IC MAX-232 memiliki dua charge-pump internal yang berfungsi untuk mengkonversi tegangan +5V menjadi ±10V ( tanpa beban ) untuk operasi driver RS232. Konverter
8
pertama menggunakan kapasitor C1 untuk menggandakan tegangan input +5V menjadi +10V saat C3 berada pada output V+. Konverter kedua menggunakan kapasitor C2 untuk merubah +10V menjadi -10V saat C4 berada pada output V-.
Gambar 5. IC MAX 232
Gambar 6. Rangkaian Transceiver RS 232 Menggunakan MAX 232
(Full Duplex)
Gambar 7. Rangkaian Transceiver RS 232 Menggunakan DS 275
(Half Duplex) III. Langkah Percobaan
Untuk melakukan percobaan komunikasi serial dari Visual Basic ke Mikrokontroler berikut langkah percobaannya :
9
1.
Buatlah rangkaian sistem minimum AT89S52, rangkaian komunikasi serial, dan rangkaian catu daya sebagai sumber tegangan.
Gambar 8. Rangkaian Sistem Minimum AT89S52 dan
Rangkaian Komunikasi Serial 2.
Rangkaian Catu Daya
Gambar 10. Rangkaian Catu Daya 5 Volt
3.
Buatlah kode program Bascom 8051 untuk menjalankan rangkaian pada percobaan tersebut.
10
Gambar 9. Kode Program Bascom 8051
4.
Setelah program BASCOM 8051 telah dibuat, flash program tersebut ke dalam IC AT89S52 menggunakan downloader. Program yang digunakan adalah file tipe Hex yang berisi perintah untuk menjalankan sistem kontrol pada rangkaian. Program yang digunakan yaitu Aplikasi Prog I SP . Langkah untuk mem flash yaitu klik Load Flash >> cari data program,yang akan diaplikasikan dalam bentuk .Hex >> kemudian klik Auto.
11
Gambar 10. Tampilan Aplikasi Prog ISP
5.
Apabila program selesai di flash, kemudian lakukan komunikasi serial antara Mikrokontroler dengan PC (Laptop). Aplikasi yang digunakan yaitu Microsoft Visual Basic 6.0.
6.
Kemudian buatlah view object dan view code pada Microsoft Visual Basic 6.0. Kode program yang dibuat pada Microsoft Visual Basic 6.0 ini harus
sesuai dengan kode program yang telah diflash pada IC AT 89S52 agar tidak terjadi error yang dapat menyebabkan rangkaian tidak berjalan dan lampu led indikator tidak menyala sesuai dengan perintah yang diharapkan.
Gambar 11. View Object pada Microsoft Visual Basic 6.0
12
13
Gambar 12. View Code pada Microsoft Visual Basic 6.0
7.
Setelah semuanya selesai, maka pengujian pada komunikasi serial dapat dilakukan.
IV. Hasil Percobaan
Pada
percobaan
kali
ini
adalah
pengujian
menggunakan
rangkaian
komunikasi serial dari Mikrokontroler ke PC yaitu sebagai Penghitung Jumlah Orang Masuk dan Orang Keluar . Pada percobaan ini mikrokontroler at89s52
akan mengontrol PC, sehingga PC dapat menampilkan jumlah orang yang telah masuk/keluar oleh Mikrokontroler. Program yang digunakan berupa Microsoft Visual Basic 6.0 yang akan menampilkan perintah dari mikrokontroler AT89S52. Pada percobaan ini diperlukan kabel port usb to serial untuk menghubungkan antara rangkaian port serial ke laptop.
14
Gambar 13. Rangkaian Sistem Minimum Port
Serial
Langkah pengujian pada rangkaian komunikasi serial yaitu sebagai berikut: 1.
Program yang dibuat dalam bascom 8051 diflash dengan downloader menggunakan aplikasi prog ISP .
Gambar 14. Flash Program pada Bascom 8051
2.
Hubungkan kabel port serial DB9 dengan laptop.
15
Gambar 15.
Pemasangan Kabel Serial Pada Laptop 3.
Sambungkan rangkaian pada sumber tegangan misalnya downloader untuk menstabilkan tegangan pada rangkaian.
4.
Buka program yang dibuat pada aplikasi Microsoft Visual Basic 6.0 untuk menjalankan komunikasi serial antara laptop ke rangkaian mikrokontroler AT89S52.
Gambar 16. Tampilan Object dan Code program pada
Microsoft Visual Basic 6.0
16
5.
Aturlah comport dan baudrate pada menu properties pada microsoft visual basic 6.0.
Gambar 17. Pengaturan Comport dan Baudrate
Microsoft Visual Basic 6.0. 6.
Kemudian jalankan program pada Microsoft Visual Basic 6.0 seperti berikut ini :
Gambar 18. Simulasi Microsoft Visual Basic 6.0
7.
Untuk menampilkan jumlah orang pada PC, sambungkan jumper pada positif rangkaian ke port 1.0 untuk penghitung orang keluar, dan port 1.1 untuk penghitung jumlah orang yang masuk. Apabila kita lepas jumper dari rangkaian positif tersebut maka pc akan menampilkan angka 1 – 255 (orang
17
masuk),
begitupun
sebaliknya
apabila
dihitung
mundur
maka
akan
menampilkan angka berupa 255 – 1 (orang keluar). Dengan demikian apabila di PC tampil angka 1 maka led pun juga akan menyala sesuai dengan jumlah angka yang tertera di PC tersebut.
Begitupun seterusnya dengan
yang
lainnya.
Gambar 19. Tampilan Saat Menyambungkan kabel ke positive rangkaian pada
rangkaian Mikrokontroler
V. Analisa Data
1. Program Untuk mengontrol Program VB, yaitu sebagai pengontrol tampilan jumlah orang masuk dan keluar pada laptop (PC) dengan menggunakan Aplikasi Program BASCOM 8051 adalah sebagai berikut :
$regfile = "8052.dat"
“library yang digunakan”
$crystal = 11059200
“XTAL yang digunakan adalah 11,0592MHz”
$baud = 2400
“komunikasi serial dengan baudrate 2400”
Config Lcd = 16 * 2
“Menunjukkan LCD yang digunakan adalah LCD 16*2 Karakter”
Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.3 , Rs = P1.2 (“Port -port mikrokontroler yang terkoneksi ke LCD, Pin Db4 dihubungkan ke Port 1.4, Pin Db5 dihubungkan ke Port 1.5, Pin Db6 dihungkan ke Port 1.6, Pin
18
Db7 dihubungkan kePort 1.7, Pin E dihubungkan ke Port1.3, Pin Rs dihubungkan ke P ort1.1” )
Cursor Off
“Cursor pada LCD tidak aktif”
Locate 1 , 1
“Tampilan LCD pada baris pertama kolom pertama”
Lcd "Good Morning"
“LCD menampilkan tulisan Good M orni ng ”
Wait 1
“Waktu delay selama 1 sekon”
Lowerline
“Tampilan LCD pada baris selanjutnya”
Lcd "Ayu Astria"
“LCD menampilkan tulisan Ayu Astri a ”
Wait 1
“Waktu delay selama 1 sekon”
Cls
“Layar pada LCD terhapus”
Locate 1 , 1
“Tampilan LCD pada baris pertama kolom pertama”
Lcd "Mid2.Program"
“LCD menampilkan tulisan Mid2.Program ”
Wait 1
“Waktu delay selama 1 sekon”
Lowerline
“Tampilan LCD pada baris selanjutnya”
Lcd "Mikro To VB"
“LCD menampilkan tulisan M ikro To VB ”
Wait 1
“Waktu delay selama 1 sekon”
Cls
“Layar pada LCD terhapus”
Locate 1 , 1
“Tampilan LCD pada baris pertama kolom pertama”
Lcd "let's go"
LCD menampilkan tulisan let’s go"
Wait 1
“Waktu delay selama 1 sekon”
Cls
“Layar pada LCD terhapus”
Sensor1 Alias P1.0
“sebagai input sensor orang masuk”
Sensor2 Alias P1.1
“ sebagai input sensor orang keluar ”
A Alias P2
“A sebagai output”
Sensor1 = 0
“Sensor1 berlogika 0 atau belum aktif”
19
Sensor2 = 0
“Sensor2 berlogika 0 atau belum aktif”
A = 255
“Jumlah maksimal untuk 8 bit”
B=0
“B sama dengan 0 ”
Waitms 500
“Waktu delay selama 500 ms atau 0,5 s”
Do
“Mulai melakukan perintah”
If Sensor1 = 1 Then
“Jika sensor1 = 1, maka”
Do
“Mulai melakukan perintah”
Loop Until Sensor1 = 0
“Perintah akan di jalankan sampai kondisi sensor1 = 0”
A=A+1
“Output akan ditambah 1”
Waitms 250
“Waktu delay selama 250 ms atau 0,25 s”
Locate 1 , 1
“Tampilan LCD pada baris pertama kolom pertama”
Lcd "JUMLAH ORANG :" “LCD menampilkan tulisan JUML AH ORANG ”
Locate 2 , 8
“Tampilan LCD pada baris kedua kolom delapan”
Lcd A
“LCD menampilkan output A"
Waitms 250
“Waktu delay selama 250 ms atau 0,25 s”
Cls
“Layar pada LCD terhapus”
End If
“Pengkondisian selesai”
If Sensor2 = 1 Then
“Jika sensor2 = 1, maka”
Do
“Mulai melakukan perintah”
Loop Until Sensor2 = 0
“Perintah akan dijalankan sampai kondisi sensor2 = 0”
A = A – 1
“Output akan dikurang 1”
Waitms 250
“Waktu delay selama 250 ms atau 0,25 s”
Locate 1 , 1
“Tampilan LCD pada baris pertama kolom pertama”
20
Lcd "JUMLAH ORANG :"
Locate 2 , 8 Lcd A
“LCD menampilkan tulisan JUML AH ORANG ”
“Tampilan LCD pada baris kedua kolom delapan” “LCD menampilkan output A"
Waitms 250
“Waktu delay selama 250 ms atau 0,25 s”
Cls
“Layar pada LCD terhapus”
End If
“Pengkondisian selesai”
B=A
“Data B sama dengan A”
Print B
“Data B akan di kirim ke VB”
Waitms 250
“Waktu delay selama 250 ms atau 0,25 s”
Loop
“Program akan di ulang dari awal”
End
“Selesai”
2. Program yang digunakan untuk menampilkan penghitung jumlah orang yang masuk dan keluar pada laptop (PC) dengan menggunakan Aplikasi Program Visual Basic adalah sebagai berikut :
Private Sub cmdConnect_Click()
“Perintah untuk menghubungkan
cmdKirim.Enabled = True
port serial”
cmdTes.Enabled = True Dim port As Integer
“Tipe data sebagai integer”
On Error GoTo errcode Select Case Combo1.ListIndex
“Tools untuk menyediakan berbagai
Case -1
pilihan port yang akan digunakan”
port = 1
“Pilihan port yang tersedia yaitu
Case 0
dari 1 sampai 16 yang dapat
port = 1
terbaca oleh Microsoft Visual Basic
Case 1
6.0”
21
port = 2 Case 2 port = 3 Case 3 port = 4 Case 4 port = 5 Case 5 port = 6 Case 6 port = 7 Case 7 port = 8 Case 8 port = 9 Case 9 port = 10 Case 10 port = 11 Case 11 port = 12 Case 12 port = 13 Case 13 port = 14 Case 14 port = 15 Case 15 port = 16 End Select If MSComm1.PortOpen = False Then
“Konfigurasi COM agar dapat
22
MSComm1.CommPort = port
terbaca oleh VB ketika
MSComm1.RThreshold = 1
dihubungkan”
MSComm1.InputLen = 40 MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1" MSComm1.PortOpen = True cmdConnect.Enabled = False cmdDisconnect.Enabled = True End If
Exit Sub “Message box akan keluar jika salah
errcode:
dalam memilih port ”
MsgBox "Port Salah !", vbOKOnly, "Peringatan" Combo1.SetFocus End Sub
“ Program VB tersebut akan dijalankan ketika button Connect diklik, yang apabila pemilihan port yang digunakan benar maka port serial akan terbuka atau True,
dan
jika
salah
maka
akan
tampil
peringatan
“Port
Salah!”.
InputLen adalah banyaknya data yang diterima port serial pada sekali pengiriman,
diberi
nilai
semaksimal
mungkin,
misalnya
40
karakter.
Settings adalah pengaturan komunikasi serial, baud rate didapatkan dari pemilihan nilai pada Combo2, N adalah Parity None, 8 adalah Data bits, dan 1 adalah Stop bits. Jika port serial sudah terhubung maka cmdConnect disabled dan cmdDisconnect enabled.”
Private Sub cmdDisconnect_Click()
“Perintah untuk memutuskan
If MSComm1.PortOpen = True Then
sambaungan serial”
MSComm1.PortOpen = False End If cmdConnect.Enabled = True
23
cmdDisconnect.Enabled = False End Sub
“ Jika port serial terputus, maka cmdConnect enabled, cmdDisconnect disabled, dan Timer1 non aktif.”
Private Sub cmdKirim_Click() MSComm1.Output = textdata.Text & Chr$(13) MSComm1_OnComm End Sub
Private Sub cmdTes_Click() MSComm1.Output = "S" & Chr$(13) End Sub
Private Sub Command1_Click()
“Perintah untuk keluar dari
Unload Me
program”
End Sub
Private Sub Form_Load() cmdKirim.Enabled = False cmdTes.Enabled = False With Combo1 .AddItem "COM1" .AddItem "COM2" .AddItem "COM3" .AddItem "COM4" .AddItem "COM5" .AddItem "COM6" .AddItem "COM7" .AddItem "COM8"
24
.AddItem "COM9" .AddItem "COM10" .AddItem "COM11" .AddItem "COM12" .AddItem "COM13" .AddItem "COM14" .AddItem "COM15" .AddItem "COM16" End With
With Combo2 .AddItem "2400" .AddItem "4800" .AddItem "9600" .AddItem "19200" .AddItem "38400" .AddItem "56600" End With
Timer1.Enabled = False cmdConnect.Enabled = True cmdDisconnect.Enabled = False End Sub
“ Program diatas berarti akan dijalankan ketika form di load, atau ketika program VB Tes Port Serial ini dibuka.”
Private Sub MSComm1_OnComm()
“Perintah pada saat kabel serial
Dim buffer As String
dihubungkan dan VB di jalankan”
Dim temp As String
“Tipe data yang digunakan yaitu string”
25
buffer = MSComm1.Input If buffer <> "" Then With Text1 .SelStart = Len(.Text) .SelText = buffer End With End If End Sub
“ Buffer merupakan variabel yang akan menerima data dari port serial atau MsComm1.Input, jika data tidak kosong atau “”, maka pada Textbox1 ditambahkan baris setiap menerima data.”
Private Sub Timer1_Timer()
“Timer yang digunakan untuk proses
MSComm1_OnComm
background yang diaktifkan
End Sub
berdasarkan interval waktu tertentu. Merupakan kontrol non visual ”
“Y ang berarti akan memanggil sub program MsComm1_OnComm sebagai pengambilan
data
serial,
setiap
interval
waktu
timer,
yaitu
1
detik.
Pengaturan interval waktu pengambilan data ini bisa dilakukan dengan program VB dengan timer seperti ini, tetapi bisa juga tidak menggunakan timer dan menerima
interval
waktu
yang
sudah
diatur
pada
mikrokontroler.
Jika tidak ingin menggunakan Timer dari VB, alias Timer sesuai dengan data pengiriman mikrokontroler, maka sub program Timer tidak perlu dipakai.”
26
VI. Kesimpulan
1. Pada percobaan kali ini yaitu membahas tentang Komunikasi Serial Penghitung Jumlah Orang Masuk dan Keluar dengan Microsoft Visual Basic 6.0 dari Mikrokontroler AT89S52 Ke PC 2. Pada percobaan ini menggunakan rangkaian Sistem Minimum port serial IC 89S52, yang dihubungkan ke laptop dengan menggunakan kebel serial DB9 dan downloader sebagai sumbernya. 3. Komunikasi serial adalah salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu. 4. Aplikasi yang digunakan untuk menjalankan rangkaian ini yaitu program dalam bentuk aplikasi BASCOM 89S52 dan Visual Basic 6.0. 5. Program dalam bentuk BASCOM terlebih dahulu diflash untuk menjalankan program, dan buatlah program VB yang sesuai dengan program pada BASCOM. 6. Apabila terjadi kesalahan/error cek kembali kode program apakah sudah sesuai antara VB dan BASCOM.
27
DAFTAR PUSTAKA
http://en.wordpress.com/tag/komunikasi-serial (diakses tanggal 22 Desember 2013) http://mikrokontrolerkits.blogspot.com (diakses tanggal 22 Desember 2013) http//id.wikipedia.org/wiki/Komunikasi_serial (diakses tanggal 23 Desember 2013) http://rodo-heweh.blogspot.com/2007/04/perakitan-kabel-null-modem db9db25rj45.html (diakses tanggal 23 Desember 2013) http://desylvia.wordpress.com/2010/09/06/komunikasi-serial/ (diakses tanggal 23 Desember 2013)
28