Laporan MID 2 Komunikasi Serial

45
1 Komunikasi Serial Penghitung Jumlah Orang Masuk dan Keluar dengan Microsoft Visual Basic 6.0 (Mikrokontroler AT89S52 ke PC) I. Alat dan Bahan Yang Digunakan Alat-alat yang digunakan dalam melakukan komunikasi serial ini adalah sebagai berikut. 1. PC (Laptop) 2. Kabel port USB to serial 3. Downloader 4. Papan PCB 5. Solder 6. Timah 7. FeCl3 8. Multimeter 9. Pinset 10. Kabel jumper 11. Rangkaian Sistem Minimum AT89S52 Komponen terdiri dari : IC AT89S52 1 buah Kapasitor 30 pF 2 buah Kapasitor 10 µF 1 buah LED 8 buah Kristal 11,0592 MHz 1 buah

description

laporan komunikasi serial

Transcript of Laporan MID 2 Komunikasi Serial

Page 1: Laporan MID 2 Komunikasi Serial

1

Komunikasi Serial Penghitung Jumlah Orang Masuk dan

Keluar dengan Microsoft Visual Basic 6.0

(Mikrokontroler AT89S52 ke PC)

I. Alat dan Bahan Yang Digunakan

Alat-alat yang digunakan dalam melakukan komunikasi serial ini adalah

sebagai berikut.

1. PC (Laptop)

2. Kabel port USB to serial

3. Downloader

4. Papan PCB

5. Solder

6. Timah

7. FeCl3

8. Multimeter

9. Pinset

10. Kabel jumper

11. Rangkaian Sistem Minimum AT89S52

Komponen terdiri dari :

IC AT89S52 1 buah

Kapasitor 30 pF 2 buah

Kapasitor 10 µF 1 buah

LED 8 buah

Kristal 11,0592 MHz 1 buah

Resistor 330 Ω 8 buah

Saklar Push Button 1 buah

Resistor 10 KΩ 1 buah

Socket 40 1 buah

Pin Header Single Secukupnya

Page 2: Laporan MID 2 Komunikasi Serial

2

12. Rangkaian Komunikasi Serial

Komponen terdiri dari :

IC MAX 232 1 buah

Kapasitor 1 µF 4 buah

DB9 Female 1 buah

Socket 16 1 buah

Pin Header Single Secukupnya

13. Rangkaian Catu Daya 5 Volt

Komponen terdiri dari :

Dioda Bridge 1 buah

IC 7805 1 buah

Kapasitor 1000 µF 1 buah

Kapasitor 100 µF 1 buah

Resistor 100 Ω 1 buah

Led 1 buah

Jumper Secukupnya

14. Rangkaian LCD

LCD 1 buah

Trimpot 100 KΩ 1 buah

Kapasitor 104 pF 1 buah

Pin header male Secukupnya

Pin header female Secukupnya

II. Teori Dasar

II.1 Mikrokontroler

Mikrokontroler AT89S52 merupakan suatu komponen elektronika yang di

dalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O,

rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip

microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen

mikroprosesor, dengan bus-bus internal yang saling berhubungan. Komponen-

komponen tersebut adalah RAM, ROM, Timer, I/O pararel dan serial, serta

Page 3: Laporan MID 2 Komunikasi Serial

3

interrupt control. Adapun keunggulan dari mikrokontroler adalah adanya system

interupsi. Mikrokontroler digunakan untuk keperluan control, atau kendali, biasa

disebut dengan MCS, dan yang digunakan dalamrobot pengikut garis.

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 (Gambar 1).

Gambar 1. Konfigurasi Pin Mikrokontroler AT89S52

Port 1

Merupakan salah satu port yang berfungsi sebagai general purpose I/O

dengan lebar 8bit.

RST

Page 4: Laporan MID 2 Komunikasi Serial

4

Pin ini berfungsi sebagai input untuk melakukan reset terhadap mikro, dan

jika RST high selama minimal 2 machine cycle, maka nilai internal register

akan kembali seperti awal muali bekerja.

Port 3

Selain berfungsi sebagai masukkan dan keluaran, port 3 juga mempunyai

fungsi khusus yang lain.

XTAL 1 DAN XTAL 2

Merupakan pin inputan untuk kristal osilator.

GND

Pin ini berfungsi sebagai pentanahan.

Port 2

Merupakan salah satu port yang berfungsi sebagai general purpose I/O

dengan lebar 8bit. Fungsi lainnya adalah sebagai high byte address bus (pada

penggunaan memori eksternal).

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

Page 5: Laporan MID 2 Komunikasi Serial

5

EA (External Access) harus dihubungkan dengan ground jika menggunakan

program memori luar. Jika menggunakan program memori internal maka EA

dihubungkan dengan VCC.

Port 0

Merupakan salah satu port yang berfungsi sebagai general purpose I/O

dengan lebar 8bit. Fungsi lainnya adalah sebagai multiplexed address/data

bus (pada saat mengakses memori eksternal).

VCC

Pin ini berfungsi ssebagai tempat sumber tegangan yang sebesar 5 volt DC.

II.2 Komunikasi Serial

Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit

secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan

yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan

komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi

dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan

komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah satu

metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui

seuntai kabel pada suatu waktu tertentu. Pada dasarnya komunikasi serial adalah

kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan kata lain adalah

suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya

mengirimkan satu bit data secara simultan.Hal ini dapat disandingkan dengan

komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan,

dengan nilai umumnya 8 ≤ n ≤ 128. Komunikasi serial membutuhkan port sebagai

saluran data. Berikut tampilan port serial DB9 yang umum digunakan sebagai

port serial

Page 6: Laporan MID 2 Komunikasi Serial

6

Gambar 2. Port DB9 jantan

Gambar 3. Port DB9 betina

Konektor port serial terdiri dari 2 jenis, yaitu konektor 25 pin (DB25 dan 9 pin

(DB9) yang berpasangan (jantan dan betina). Bentuk dari konektor DB-25 sama

persis dengan port paralel. Umumnyua COM1 berada dialamat 3F8H, sedangkan

COM2 dialamat 2F8H.

Tabel 1. Konfigurasi pin dan nama sinyal konektor serial DB 9

Nomor Pin Nama Sinyal Direction Keterangan

1 DCD InData Carrier Detect/Recieved Line

Signal Detect

2 RxD In Recieve Data

3 TxD Out Transmit Data

4 DTR Out Data Terminal

5 GND - Ground

6 DSR In Data Set Ready

Page 7: Laporan MID 2 Komunikasi Serial

7

7 RTS Out Request To Send

8 CTS In Clear To Send

9 RI In Ring Indicator

Keterangan mengenai fungsi saluran RS232 pada konektor DB9 adalah sebagai

berikut:

Receive Line signal detect, dengan saluran ini DCE memberitahukan ke

DTE bahwa pada terminal masukkan ada data masuk.

Receive Data, digunakan DTE menerima data dari DCE.

Transmit Data, digunakan DTE mengirimkan data ke DCE.

Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan

terminalnya.

Signal Ground, saluran ground.

Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa

sebuah stasiun menghendaki berhubungan dengannya.

Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE

boleh mulai mengirim data.

Request To Send, dengan saluran ini DCE diminta mengirim data oleh

DTE.

DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah

siap.

2.2.1 IC MAX-232

IC MAX232 adalah IC rangkaian antar muka dual RS-232

transmitter/receiver yang memenuhi standar EIA-232-E. IC MAX232 hanya

membutuhkan power supply 5V (single power supply) sebagai catu. IC MAX232

berfungsi untuk merubah level tegangan pada COM komputer menjadi level

tegangan TTL/CMOS. IC MAX232 terdiri atas tiga bagian yaitu dual charge-

pump voltage converter, driver RS232, dan receiver RS232. Berikut gambar IC

MAX232 dan pinout IC MAX232.

Page 8: Laporan MID 2 Komunikasi Serial

8

Gambar 4. Pin Out MAX232

Driver RS232

Output ayunan tegangan ( voltage swing ) driver typical adalah ±8V. Nilai

ini terjadi saat driver dibebani dengan beban nominal receiver RS232 sebesar 5kΩ

atau Vcc = 5V. Input pada driver yang tidak digunakan bisa dibiarkan tidak

terhubung kemana – mana. Hal ini dapat terjadi karena dalam kaki input driver IC

MAX232 terdapat resistor pull-up sebesar 400kΩ yang terhubung keVcc.

Resistor pull-up mengakibatkan output driver yang tidak terpakai menjadi low

karena semua output driver diinversikan.

Receiver RS232

EIA mendefinisikan level tegangan lebih dari 3V sebagai logic 0,

berdasarkan hal tersebut semua receiver diinversikan. Input receiver dapat

menahan tegangan input sampai dengan ±25V dan menyiapkan resistor terminasi

input dengan nilai nominal 5k. Nilai input receiver hysteresis typical adalah 0,5V

dengan nilai minimum 0,2V, dan nilai delay propogasi typicalnya adalah 600ns.

Gambar dibawah merupakan typical operasi rangkaian IC MAX232. Nilai C1,

C2, C3, C4, dan C5 yang dianjurkan sebesar 1µF.

Page 9: Laporan MID 2 Komunikasi Serial

9

Gambar 5. Typical Operasi Rangkaian IC MAX232

2.2.2 Pemrograman Port Serial Komputer

Port serial sering digunakan untuk interfacing komputer dan

mikrokontroler, karena kemampuan jarak pengiriman data dibandingkan port

paralel. Berikut contoh program assembly untuk komunikasi serial antara 2 PC.

Untuk komunikasi ini, anda cukup menghubungkan :

1. Pin TxD ke pin RxD computer lain

2. Pin RXD dihubungkan ke pin TxD komputer lain

3. RTS dan CTS dihubung singkat

4. DSR dan DTR dihubung singkat

5. GND dihubungkan ke GND komputer lain

Komunikasi serial ada dua macam, asynchronous serial dan synchronous

serial. Synchronous serial adalah komunikasi dimana hanya ada satu pihak

(pengirim atau penerima) yang menghasilkan clock dan mengirimkan clock

tersebut bersama-sama dengan data. Contoh pengunaan synchronous serial

terdapat pada transmisi data keyboard. Asynchronous serial adalah komunikasi

dimana kedua pihak (pengirim dan penerima) masing-masing menghasilkan clock

namun hanya data yang ditransmisikan, tanpa clock. Agar data yang dikirim sama

Page 10: Laporan MID 2 Komunikasi Serial

10

dengan data yang diterima, maka kedua frekuensi clock harus sama dan harus

terdapat sinkronisasi. Setelah adanya sinkronisasi, pengirim akan mengirimkan

datanya sesuai dengan frekuensi clock pengirim dan penerima akan membaca data

sesuai dengan frekuensi clock penerima. Contoh penggunaan asynchronous serial

adalah pada Universal Asynchronous Receiver Transmitter (UART) yang

digunakan pada serial port (COM) komputer.

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 (format 1-8-1).

Page 11: Laporan MID 2 Komunikasi Serial

11

Gambar 6. Proses Pengiriman 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 7. Penterjemahan Program

Page 12: Laporan MID 2 Komunikasi Serial

12

III. Langkah Percobaan

Dalam melakukan percobaan komunikasi serial dari Visual Basic Ke

Mikrokontroler adalah sebagai berikut:

1. Buat rangkaian Sistem Minimum AT89S52, rangkaian komunikasi serial

dan rangkaian LCD beserta ragkaian catu daya 5volt.

Gambar 8. Rangkaian Sistem Minimum AT89S52 dan Komunikasi

Serial

Gambar 9. Rangkaian LCD

Page 13: Laporan MID 2 Komunikasi Serial

13

Gambar 10. Rangkaian Catu Daya 5 Volt

2. Untuk dapat menjalankan percobaan tersebut, buatlah program pada

bascom 8051 yang sesuai dengan percobaan yang dilakukan.

(a)

(b)

Page 14: Laporan MID 2 Komunikasi Serial

14

(c)

Gambar 11. Kode Program Untuk Mikrokontroler AT89S52 pada

Bascom 8051

3. Setelah program selesai, program harus di download atau flash ke IC

AT89S52 dengan menggunakan downloader. Software yang digunakan

untuk mendownload adalah prog ISP.

Gambar 12. Tampilan Software Prog ISP

Kode program diambil dengan file yang berbentuk HEX.

Page 15: Laporan MID 2 Komunikasi Serial

15

Gambar 13. Pengambilan File Program dalam Bentuk Hex

4. Kemudian untuk dapat melakukan komunikasi serial antara PC ke

mikrokontroler, menggunakan sebuah software Microsoft Visual Basic

6.0. Pada software ini kita harus membuat kode program yang sinkron

dengan program pada mikrokontroler yang telah kita buat. Namun

sebelumnya kita harus membuat tampilan terlebih dahulu pada software

Microsoft Visual Basic 6.0.

Gambar 14. Form Pada Microsoft Visual Basic 6.0

Setelah itu kita juga harus membuat kode program pada microsoft visual

basic 6.0 agar program dapat berjalan dengan benar.

Page 16: Laporan MID 2 Komunikasi Serial

16

(a)

(b)

(c)

Page 17: Laporan MID 2 Komunikasi Serial

17

(d)

(e)

Gambar 15. Kode Program Pada Microsoft Visual Basic 6.0

5. Setelah selesai, maka selanjutnya akan dilakukan pengetesan agar program

berjalan sebagaimana mestinya.

Page 18: Laporan MID 2 Komunikasi Serial

18

IV. Hasil Percobaan

Gambar 16. Rangkaian Sistem Minimym dan Komunikasi Serial

Mikrokontroler AT89S52 dengan LCD

Pada percobaan yang dilakukan ini adalah pengujian rangkaian

komunikasi serial dari Mikrokontroler ke PC yaitu Penghitung Jumlah Orang

Masuk. Pada percobaan ini mikrokontroler at89s52 akan memerintah PC,

sehingga PC dapat menampilkan jumlah yang telah dihitung oleh Mikrokontroler.

Dengan menggunkan software Microsoft Visual Basic 6.0 yang akan

menampilkan apa yang di perintah oleh mikrokontroler AT89S52. Dalam hal ini

di perlukan kabel port usb to serial. Kabel disambungkan pada rangkaian dan di

hubungkan ke PC.

Adapun langkah pengujian pada rangkaian komunikasi serial adalah

sebagai berikut.

1. Masukkan program bascom 8051 yang telah di program sebelumnya

dalam bentuk .hex pada software prog isp

Page 19: Laporan MID 2 Komunikasi Serial

19

Gambar 17. Software Prog ISP

Gambar 18. Simulasi Mendownload Program pada Bascom 8051

2. Setelah program selesai di flash, sambungkan rangkaian LCD pada

rangkaian sistem minimum.

Gamabar 19. Rangakaian LCD

Page 20: Laporan MID 2 Komunikasi Serial

20

3. Sambungkan kabel serial pada rangkaian dan hubungkan pada PC.

Gambar 20. Pemasangan Kabel Serial Ke PC dan Rangkaian

Mikrokontroler

4. Sambungkan rangkaian pada sumber tegangan (seperti baterai atau

sebagainya) dan jalankan Mikrokontroler.

Gambar 21. Menjalankan Mikrokontroler

5. Tekan tombol reset pada mikrokontroler agar program dapat beroperasi

dengan baik

6. Buka software Microsoft Visual Basic 6.0 untuk menjalankan komunikasi

serial antara PC ke Mikrokontroler AT89S52.

7. Ambil file yang telah di program dan jalankan.

Page 21: Laporan MID 2 Komunikasi Serial

21

Gambar 22. Mengambil File yang Telah di Buat pada Microsoft

Visual Basic 6.0

8. Sebelumnya atur terlebih dahulu comport pada microsoft visual basic,

sesuai com yang telah digunakan sebelumnya.

Gambar 23. Pengaturan Comport

9. Jalankan program pada Microsoft Visual Basic 6.0

Page 22: Laporan MID 2 Komunikasi Serial

22

Gambar 24. Simulasi Program Pada Microsoft Visual Basic 6.0

Gambar 25. Tampilan LCD pada Rangkaian

Pada percobaan yang dilakukan, ketika Sensor Pertama yaitu pada P1.0

diberi data 1 atau berlogika “high” yang diibaratkan sebagai orang masuk

maka A akan sama dengan A+1 yaitu jumlah akan terus bertambah dari 1,

2, 3 dan sampai batas 255.

Page 23: Laporan MID 2 Komunikasi Serial

23

Gambar 26. Input Sensor Pada Rangkaian

Sedangkan ketika sensor 2 diberi data 1 atau berlogika “high” yaitu pada

P1.1 yang diibaratkan sebagai orang keluar, maka A akan sama dengan A-

1 yaitu jumlah akan terus berkurang dari 255, 254, 253 dan seterusnya

hingga sampai ke nilai 0 (nol).

Gambar 27. Input Sensor Pada Rangkaian

Data tersebut dikirim ke VB sebagai input dan hasilnya akan ditampilkan

pada Microsoft Visual Basic 6.0. Tampilan yang ada di LCD pada

rangkaian akan sama dengan tampilan yang ada pada Microsoft Visual

Basic 6.0.

Sensor 1 (Orang Masuk)

Sensor 2 (Orang Keluar)

Page 24: Laporan MID 2 Komunikasi Serial

24

10. Hasil tampilan pada rangkaian adalah sebagai berikut.

Gambar 28. Tampilan Pada Microsoft Visual Basic 6.0 dengan LCD

pada Rangkaian

V. Analisa

V.1 Rangkaian

Pada dasarnya pengendalian rangkaian komunikasi serial bergantung pada

program yang dimasukkan ke dalam mikrokontroler. Pada rangkaian yang kami

gunakan yaitu menggunakan rangkaian sistem minimum AT89S52. Dimana pada

port 1.0 berfungsi sebagai sensor 1 yang mengibaratkan orang masuk dan port 1.1

yang mengibaratkan orang keluar. Pada port 1.2 sampai port 1.7 merupakan port-

port yang dihubungkan pada rangkaian LCD yang akan menampilkan jumlah

yang masuk dan keluar selain pada tampilan di Microsoft Visual Basic 6.0.

Sedangkan pada port 2 sebagai indikator yang menunjukkan bilangan biner 8 bit

yang dihasilkan dari program penghitung jumlah. Dimana ketika jumlah yang

dihasilkan program adalah 3 maka led pada port 2 akan mengindikatorkan

00000011, led pada port 2.0 dan 2.1 menyala.

Pada rangkaian sistem minimum ini menggunakan kristal 11.0952 MHz

sebagai pembangkit clock dan kapasitor 33 pF agar kristal dapat bekerja. Kristal

yang digunakan sangat berpengaruh pada kecepatan eksekusi pada mikrokontroler

Page 25: Laporan MID 2 Komunikasi Serial

25

jika menggunakan kristal 11.0952 MHz maka setiap eksekusi memerlukan waktu

1 mikrodetik. Ketika Sensor mengalami perubahan data dari 0 ke 1 melalui pin

P1.0 atau P1.1 maka data tersebut kemudian akan di proses di IC mikrokontroler

dan akan menghasilkan output yang dikeluarkan melalui LCD rangkaian yang

kemudian akan di kirim sebagai input ke Microsoft Visual Basic 6.0.

V.2 Program Bascom 8051

$regfile = "8052.dat" “library yang digunakan”

$crystal = 11059200 “XTAL yang digunakan adalah 11,0592MHz”

$baud = 9600 “komunikasi serial dengan baudrate 9600”

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 Db7

dihubungkan kePort 1.7, Pin E dihubungkan ke Port1.3, Pin Rs dihubungkan ke

Port1.1”

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”

Sensor2 = 0 “Sensor2 berlogika 0 atau belum aktif”

A = 255 “Jumlah maksimal untuk 8 bit”

B = 0 “B sama dengan 0

Waitms 200 “Waktu delay selama 200 ms atau 0,2 s”

Page 26: Laporan MID 2 Komunikasi Serial

26

Cursor Off “Cursor pada LCD tidak aktif”

Locate 1 , 1 “Tampilan LCD pada baris pertama kolom

pertama”

Lcd "Penghitung" “LCD menampilkan tulisan Penghitung”

Lowerline “Tampilan LCD pada baris selanjutnya”

Locate 2 , 9 “Tampilan LCD pada baris kedua kolom sembilan”

Lcd "Jumlah" “LCD menampilkan tulisan Jumlah”

Wait 3 “Waktu delay selama 3 sekon”

Cls “Layar pada LCD terhapus”

Locate 1 , 1 “Tampilan LCD pada baris pertama kolom

pertama”

Lcd "by:Ninglagita J" “LCD menampilkan tulisan by:Ninglagita J”

Lowerline “Tampilan LCD pada baris selanjutnya”

Locate 2 , 2 “Tampilan LCD pada baris kedua kolom kedua”

Lcd "Kelas 5 EE B" “LCD menampilkan tulisan Kelas 5 EE B”

Wait 3 “Waktu delay selama 3 sekon”

Cls “Layar pada LCD terhapus”

Locate 1 , 3 “Tampilan LCD pada baris pertama kolom ketiga”

Lcd "(: Welcome :)" “LCD menampilkan tulisan (: Welcome :)"

Wait 3 “Waktu delay selama 3 sekon”

Do “Mulai melakukan perintah”

If Sensor1 = 1 Then “Jika sensor1 = 1, maka”

Do

Loop Until Sensor1 = 0 “Perintah akan dijalankan sampai kondisi sensor1

= 0”

A = A + 1 “Output akan ditambah 1”

Waitms 100 “Waktu delay selama 100 ms”

Locate 1 , 2 “Tampilan LCD pada baris pertama kolom kedua”

Page 27: Laporan MID 2 Komunikasi Serial

27

Lcd "Jumlah Orang:" “LCD menampilkan tulisan Jumlah Orang:"

Locate 2 , 8 “Tampilan LCD pada baris kedua kolom delapan”

Lcd A “LCD menampilkan output A"

Wait 1 “Waktu delay selama 1 sekon”

Cls “Layar pada LCD terhapus”

End If “Pengkondisian selesai”

If Sensor2 = 1 Then “Jika sensor2 = 1, maka”

Do

Loop Until Sensor2 = 0 “Perintah akan dijalankan sampai kondisi sensor2

= 0”

A = A – 1 “Output akan dikurang 1”

Waitms 200 “Waktu delay selama 200 ms”

Locate 1 , 2 “Tampilan LCD pada baris pertama kolom kedua”

Lcd "Jumlah Orang:" “LCD menampilkan tulisan Jumlah Orang:"

Locate 2 , 8 “Tampilan LCD pada baris kedua kolom delapan”

Lcd A “LCD menampilkan output A"

Wait 1 “Waktu delay selama 1 sekon”

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 100 “Waktu delay selama 100 ms”

Loop “Program akan di ulang dari awal”

Page 28: Laporan MID 2 Komunikasi Serial

28

V.3 Program Microsoft Visual Basic 6.0

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”

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

Page 29: Laporan MID 2 Komunikasi Serial

29

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

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 diatas akan dijalankan ketika button Connect diklik, yang berarti jika

pemilihan port yang digunakan benar maka port serial akan terbuka atau True,

dan jika salah maka akan tampil peringatan “Port Salah!”.

Page 30: Laporan MID 2 Komunikasi Serial

30

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

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

Page 31: Laporan MID 2 Komunikasi Serial

31

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"

.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

Page 32: Laporan MID 2 Komunikasi Serial

32

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”

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”

Page 33: Laporan MID 2 Komunikasi Serial

33

“Yang 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.”

Page 34: Laporan MID 2 Komunikasi Serial

34

VI. Kesimpulan

Kesimpulan dari percobaan ini adalah sebagai berikut.

Pada percobaan penghitung jumlah ini adalah komunikasi serial yang

dilakukan dari Mikrokontroler AT89S52 ke PC. Dimana terdapat 2

input sensor yang kemudian akan menghasilkan jumlah yang masuk

dan keluar.

Komunikasi serial dilakukan dengan menggunakan software Microsoft

Visual Basic 6.0 dimana VB sebagai output dan mikrokontroler sebagai

input. Microsoft Visual Basic 6.0 yang dapat diperintah oleh

mikrokontroler untuk menampilkan hasil dari penghitung jumlah pada

program bascom

Agar rangkaian dapat berkomunikasi dengan PC digunakan lah kabel

port USB to serial untuk dihubungkan pada PC.

Program yang dibuat di Bascom 8051 harus sesuai atau

berkesinambungan dengan program yang telah di buat pada Microsoft

Visual Basic 6.0 agar rangkaian dapat berjalan sebagaimana mestinya.

Page 35: Laporan MID 2 Komunikasi Serial

35

Daftar Pustaka

http://www.google.com/PENGKABELAN PORT SERIAL, PORT PARALEL,

USB, DAN PORT SERIAL RS-232 _ Sukawiryanto's Blog.htm (diakses

pada tanggal 25 September 2013)

http://www.google.com/ Pengenalan Komunikasi Serial.htm (diakses pada tanggal

25 September 2013)

http://ilmubawang.blogspot.com/2011/04/mengenal-mikrokontroller-at89s52.html

(diakses pada tanggal 23 September 2013)

http://onelka.wordpress.com/mikrokontroler-at89s52/ (diakses pada tanggal 23

September 2013)

Rojak, Abdul. 2011. Belajar Pemula Visual Basic. http://njak-iyek.blogspot.com

(diakses pada 6 Desember 2013)

Nalwan, Paulus Andi. 2003. Panduan Praktis Teknik Antarmuka dan

Pemograman Mikrokontroler AT89C51. Jakarta: PT.Elex Media

Komputindo Kelompok Gramedia.

Andiero.2010. INTERFACING SERIAL PORT (LED) Dengan Visual Basic(VB)

6.0. http://bocah-cakil.blogspot.com (diakses pada 7 Desember 2013)