Junaidi Sinurat : Program Assembly Untuk Mengendalikan Pintu Gerbang Dengan Menggunakan DTMF IC Mt8870 Berbasis Mikrokontroller AT89S51, 2009.
USU Repository © 2009
tombol, maka program akan memerintahkan motor untuk berputar membuka pintu gerbang, kemudian program akan menunggu sejenak, sampai kendaraan masuk ke
dalam gerbang.Selanjutnya program akan memerintahkan motor untuk berputar menutup gerbang, kemudian kembali ke rutin awal untuk menunggu penekanan
tombol dan sinyal DTMF berikutnya.
Jika ada sinyal DTMF yang datang, yang berarti ada orang yang menghubungi Handphone yang ada pada alat penerima, maka program akan mengambil nilai
password yang dimasukkan.Jika nilainya salah, maka program akan kembali ke rutin awal untuk menunggu penekanan tombol dan menunggu sinyal DTMF berikutnya
. Jika password yang diberikan benar, maka progran akan memerintahkan motor
untuk berputar membuka pintu gerbang, kemudian program akan menunggu sejenak, sampai kendaraan masuk ke dalam gerbang.Selanjutnya program akan memerintahkan
motor untuk berputar menutup gerbang, kemudian kembali ke rutin awal untuk menunggu penekanan tombol dan sinyal DTMF berikutnya.
4.10.2. Program
; = = initialisasi port = = ; batas_tutup
bit p3.0
batas_buka bit
p3.1 buzzer
bit p3.3
Junaidi Sinurat : Program Assembly Untuk Mengendalikan Pintu Gerbang Dengan Menggunakan DTMF IC Mt8870 Berbasis Mikrokontroller AT89S51, 2009.
USU Repository © 2009
utama: clr buzzer
mov p0,0h call tunda
call tunda call tunda
; = = cek buka pintu = = ; buka:
mov a,p2 anl a,0fh
cjne a,11,tutup clr buzzer
ljmp run_buka ; = = cek tutup pintu = = ;
tutup: mov a,p2
anl a,0fh cjne a,10,status
clr buzzer ljmp run_tutup
; = = cek status pintu = = ;
status: mov a,p2
anl a,0fh cjne a,12,buka
clr buzzer ljmp run_status
; = = routine buka pintu = = ; run_buka:
call tunda call tunda
call tunda call tunda
call tunda call tunda
buka_pintu: mov a,p2
Junaidi Sinurat : Program Assembly Untuk Mengendalikan Pintu Gerbang Dengan Menggunakan DTMF IC Mt8870 Berbasis Mikrokontroller AT89S51, 2009.
USU Repository © 2009
anl a,0fh cjne a,1,buka_pintu
call open_door call tunda
sjmp buka ; = = routine tutup pintu = = ;
run_tutup:
call tunda call tunda
call tunda call tunda
call tunda call tunda
tutup_pintu: mov a,p2
anl a,0fh cjne a,1,tutup_pintu
call close_door call tunda
sjmp tutup ; = = rotine cek status = = ;
run_status:
mov a,p2 anl a,0fh
cjne a,1,run_status jnb batas_tutup,low1
call hidup_buzzer call hidup_buzzer
ljmp buka low1:
call hidup_buzzer ljmp buka
; = = routine extensi = = ; Hidup_Buzzer:
Junaidi Sinurat : Program Assembly Untuk Mengendalikan Pintu Gerbang Dengan Menggunakan DTMF IC Mt8870 Berbasis Mikrokontroller AT89S51, 2009.
USU Repository © 2009
setb buzzer acall tunda_Buzzer
clr Buzzer acall tunda_Buzzer
Ret close_door:
mov a,11h loop_close_door:
mov p0,a rl a
call tunda_stepper jb batas_tutup,loop_close_door
mov p0,0h ret
open_door: mov a,11h
loop_open_door: mov p0,a
rr a call tunda_stepper
jb batas_buka,loop_open_door mov p0,0h
ret
; = = all routine delay = = ; tunda_Buzzer:
mov r7,5 tnd_Buzzer:
mov r6,255 td_Buzzer:
mov r5,255 djnz r5,
djnz r6,td_Buzzer djnz r7,tnd_Buzzer
ret tunda_stepper:
mov r7,100 tnd_stp:
mov r6,60 djnz r6,
djnz r7,tnd_stp ret
Junaidi Sinurat : Program Assembly Untuk Mengendalikan Pintu Gerbang Dengan Menggunakan DTMF IC Mt8870 Berbasis Mikrokontroller AT89S51, 2009.
USU Repository © 2009
tunda: mov r7,255
tnd: mov r6,255
djnz r6, djnz r7,tnd
ret end
Junaidi Sinurat : Program Assembly Untuk Mengendalikan Pintu Gerbang Dengan Menggunakan DTMF IC Mt8870 Berbasis Mikrokontroller AT89S51, 2009.
USU Repository © 2009
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan