Perancangan Program Perancangan Palang Kereta Api Otomatis Berbasis Mikrokontroller AT89S51 Menggunakan Sensor Inframerah Sebagai Sensor Halangan

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