Program Diagram Alir Flowchart dan Program 1. Diagram Alir Flowchart

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