Sebagai contoh, jika kita ingin menampilkan huruf “B” pada baris kedua pada posisi kolom kesepuluh.maka sesuai dengan peta memory, posisi karakter
pada kolom 10 dari baris kedua mempunyai alamat 4Ah, sehingga sebelum kita menampilkan huruf “B” pada LCD, kita harus mengirim instruksi set posisi
kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h + 4Ah =0Cah. Sehingga dengan mengirim perintah 0Cah ke LCD, akan
menempatkan kursor pada baris kedua dan kolom ke 11.
3.2 Perancangan Program
Alat ini dirancang untuk membuka dan menutup palang kreta api secara otomatis. Diagram alir dari program yang akan dibuat adalah sebgai berikut:
Start
Sensor 1 terdeteksi ?
Tampilkan pesan
Sensor 2 terdeteksi ?
Hidupkan LED kuning
Tampilkan pesan
Hidupkan LED merah
Hidupkan Sirinai
Sensor 3 terdeteksi ?
Tampilkan pesan
Hidupkan LED hijau
Tutup Palang Buka Palang
Ya
Ya
Ya Tidak
Tidak
Tidak
Gambar.3.10 FlowChart Program
Universitas Sumatera Utara
Program diawali dengan start, kemudian program akan mengecek apakah sensor 1 terdeteksi artinya, kereta api sudah dekat dan hendak melewati batas
jalan diharapkan pengguna jalan berhati-hati jika ya, maka program akan menampilkan pesan hati-hati karena keret api hendak lewat pada LCD secara dan
menyalakan indikator led kuning yang bearti hati-hati. Jika tidak maka program akan mengecek apakah sensor 2 terdeteksiartinya, kereta api akan melewati batas
jalan pengguna jalan harus berhenti jika ya, maka program akan menampilkan pesan berhenti kepada pengguna jalan, menyalakan led indikator merah yang
berarti berhenti dan mengaktifkan sirinai agar pengguna jalan benar-benar mengetahui kereta api akan segera melewati batas jalan. Jika tidak program akan
kembali mengecek apakah sensor 3 terdeteksi artinya, kereta api telah melewati batas jalan pangguna jalan sudah boleh jalan kembali jika ya, maka program
akan menampilkan pesan silahkan jalan dan menyalakan lampu hijau yang artinya silahkan jalan. Jika tidak maka program akan kembali ke rutin pengecekan sensor.
Program akan bekerja secara terus-menerus mengikuti siklus rutin dari perancangan palang kereta api otomatis menggunakan sensor optocoupler berbasis
mikrokontroler AT89S52.
Program Simulasi Palang Kereta Api Menggunakan Sensor Optocoupler Berbasis Mikrokontroler:
lampu_k equ p3.6 lampu_m equ p3.5
lampu_i equ p3.7 sensor1 equ p2.3
sensor2 equ p2.2
Universitas Sumatera Utara
sensor3 equ p2.4 stepper equ p1
alarm equ p2.1
RS EQU P2.5 RW EQU P2.6
EN EQU P2.7 clr lampu_k
clr lampu_m clr lampu_i
clr alarm setb lampu_i
kelap_kelip: setb p3.0
acall utama acall delaymax
clr p3.0 setb p3.1
acall utama acall delaymax
clr p3.1 setb p3.2
acall utama
Universitas Sumatera Utara
acall delaymax clr p3.2
setb p3.3 acall utama
acall delaymax clr p3.3
setb p3.4 acall utama
acall delaymax clr p3.4
sjmp kelap_kelip
utama: jnb sensor1,lampu_kuning
jnb sensor2,tutup_gerbang jnb sensor3,lompat
ret lompat:
ajmp buka_gerbang
lampu_kuning: jb sensor1,kelap_kelip
clr alarm
Universitas Sumatera Utara
setb lampu_k clr lampu_m
clr lampu_i hati_hati:
mov 20h, mov 21h,
mov 22h, mov 23h,H
mov 24h,A mov 25h,T
mov 26h,I mov 27h,-
mov 28h,H mov 29h,A
mov 2ah,T mov 2bh,I
mov 2ch, mov 2dh,
mov 2eh, mov 2fh,
mov 30h,K mov 31h,E
mov 32h,R mov 33h,E
Universitas Sumatera Utara
mov 34h,T mov 35h,A
mov 36h, mov 37h,A
mov 38h,P mov 39h,I
mov 3ah, mov 3bh,L
mov 3ch,E mov 3dh,W
mov 3eh,A mov 3fh,T
acall lcd sjmp lampu_kuning
LEMOT: ajmp kelap_kelip
tutup_gerbang: jb sensor2,LEMOT
setb alarm clr lampu_k
setb lampu_m clr lampu_i
Universitas Sumatera Utara
kereta_lewat: mov 20h,
mov 21h, mov 22h,
mov 23h,D mov 24h,I
mov 25h,H mov 26h,A
mov 27h,R mov 28h,A
mov 29h,P mov 2ah,K
mov 2bh,A mov 2ch,N
mov 2dh, mov 2eh,
mov 2fh, mov 30h,
mov 31h, mov 32h,B
mov 33h,E mov 34h,R
mov 35h,H mov 36h,E
Universitas Sumatera Utara
mov 37h,N mov 38h,T
mov 39h,I mov 3ah,
mov 3bh, mov 3ch,
mov 3dh, mov 3eh,
mov 3fh, acall lcd
tutup: mov a,11h
mov r0,50 tarik:
mov stepper,a rr a
acall delay djnz r0,tarik
sjmp tutup_gerbang
lompat_lagi: ajmp kelap_kelip
Universitas Sumatera Utara
buka_gerbang: jb sensor3,lompat_lagi
clr lampu_k clr lampu_m
setb lampu_i
kereta_selesai: clr alarm
mov 20h, mov 21h,
mov 22h, mov 23h,
mov 24h,S mov 25h,I
mov 26h,L mov 27h,A
mov 28h,H mov 29h,K
mov 2ah,A mov 2bh,N
mov 2ch, mov 2dh,
mov 2eh,
Universitas Sumatera Utara
mov 2fh, mov 30h,
mov 31h, mov 32h,
mov 33h, mov 34h,L
mov 35h,E mov 36h,W
mov 37h,A mov 38h,T
mov 39h, mov 3ah,
mov 3bh, mov 3ch,
mov 3dh, mov 3eh,
mov 3fh, acall lcd
buka: mov a,11h
mov r0,50 naik:
mov stepper,a rl a
Universitas Sumatera Utara
acall delay djnz r0,naik
ajmp kelap_kelip
lcd: MOV A,038H LCALL SCAN
ACALL PENAMPIL ACALL SCAN
MOV A,20h ACALL KIRIM
MOV A,21h ACALL KIRIM
MOV A,22h ACALL KIRIM
MOV A,23h ACALL KIRIM
MOV A,24h ACALL KIRIM
MOV A,25h ACALL KIRIM
MOV A,26h ACALL KIRIM
Universitas Sumatera Utara
MOV A,27h ACALL KIRIM
MOV A,28h ACALL KIRIM
MOV A,29h ACALL KIRIM
MOV A,2ah ACALL KIRIM
MOV A,2bh ACALL KIRIM
MOV A,2ch ACALL KIRIM
MOV A,2dh ACALL KIRIM
MOV A,2eh ACALL KIRIM
MOV A,2fh ACALL KIRIM
MOV A,0c0H LCALL SCAN
MOV A,30h ACALL KIRIM
Universitas Sumatera Utara
MOV A,31h ACALL KIRIM
MOV A,32h ACALL KIRIM
MOV A,33h ACALL KIRIM
MOV A,34h ACALL KIRIM
MOV A,35h ACALL KIRIM
MOV A,36h ACALL KIRIM
MOV A,37h ACALL KIRIM
MOV A,38h ACALL KIRIM
MOV A,39h ACALL KIRIM
MOV A,3ah ACALL KIRIM
MOV A,3bh ACALL KIRIM
MOV A,3ch ACALL KIRIM
Universitas Sumatera Utara
MOV A,3dh ACALL KIRIM
MOV A,3eh ACALL KIRIM
MOV A,3fh ACALL KIRIM
ret
PENAMPIL: MOV A,00CH LCALL SCAN
MOV A,006H LCALL SCAN
MOV A,080H LCALL SCAN
RET
SCAN: MOV P0,A CLR RS
CLR RW SETB EN
CLR EN
Universitas Sumatera Utara
LCALL delay RET
KIRIM: MOV P0,A SETB RS
CLR RW SETB EN
CLR EN LCALL delay
RET DELAY: MOV R6,20
HERE2: MOV R7,255 HERE: DJNZ R7,
DJNZ R6,HERE2 RET
DELAYmax: MOV R6,60 HER: MOV R7,255
HEE: DJNZ R7, DJNZ R6,HEE
RET end
Universitas Sumatera Utara
BAB 4
PENGUJIAN RANGKAIAN DAN ANALISA
4.1 Pengujian Rangkaian