3.2 Perancang Program
3.2.1 Flowchart Program
Start
Auto=0?
Sensor=0?
Nyalakan Alarm
Turunkan Benda
Naik manual=0?
Matikan Alarm
Naikkan Benda
Naik manual=0?
Turun manual=0?
Turunkan Benda
Naikkan Benda
Remote = 0?
Ya
Tidak Ya
Tidak
Tidak
Tidak Ya
Ya
Ya
Ya Tidak
Tidak
Gbr 3.9 Flowchart Program
Universitas Sumatera Utara
Program diawali dengan memeriksa keadaan pada tombol auto. Ketika tombol auto bernilai 1, maka benda dapat dinaikkan atau diturunkan secara manual dengan cara
menekan tombol untuk naik atau pun turun. Namun, ketika tombol auto bernilai 0, maka alat akan bekerja berdasarkan logika yang diperoleh dari sensor. Dengan demikian, untuk
menentukan fungsi automatis atau manual dari alat, tombol auto perlu di set terlebih dahulu sebelum alat dinyalakan.
Ketika alat berjalan dalam mode auto, maka alat akan bekerja berdasarkan logika yang diterimanya dari sensor. Ketika sensor bernilai 1 tidak ada yang mengganggu sensor,
maka alat tidak akan melakukan respon apa-apa. Dengan kata lain, alat menunggu adanya gangguan pada sensor. Ketika sensor bernilai 0 sensor dalam keadaan terganggu,
mikrokontroler akan segera menyalakan alarm, kemudian menurunkan alat. Setelah itu, alat akan menunggu adanya sinyal dari remote inframerah. Ketika pin dari remote inframerah
tersebut bernilai 0, selanjutnya alat akan menunggu adanya penekanan pada tombol naik manual untuk mematikan alarm dan menaikkan alat kembali.
Universitas Sumatera Utara
3.2.2 Program Sistem Pengamanan Ruangan
stepper1 bit p0.0 stepper2 bit p0.1
stepper3 bit p0.2 stepper4 bit p0.3
buzzer bit p0.4 limit_atas bit p3.0
limit_bawah bit p3.1 sensor_IR bit p1.0
remote bit p1.1 tact_angkat bit p1.5
tact_turun bit p1.6 auto bit p1.7
clr buzzer
Universitas Sumatera Utara
utama: jb auto,manual
jb sensor_IR, setb buzzer
acall turun jb remote,
jb tact_angkat, clr buzzer
acall angkat sjmp utama
manual: jb tact_angkat,cek_turun
acall angkat sjmp utama
cek_turun: jb tact_turun,utama
acall turun sjmp utama
Universitas Sumatera Utara
angkat: acall stop
cek_limit_atas: jb limit_atas,blm_angkat
ret blm_angkat:
setb stepper1 clr stepper2
clr stepper3 clr stepper4
acall tunda clr stepper1
setb stepper2 clr stepper3
clr stepper4 acall tunda
clr stepper1 clr stepper2
Universitas Sumatera Utara
setb stepper3 clr stepper4
acall tunda clr stepper1
clr stepper2 clr stepper3
setb stepper4 acall tunda
sjmp cek_limit_atas turun:
acall stop cek_limit_bawah:
jb limit_bawah,blm_turun ret
blm_turun: clr stepper1
clr stepper2 clr stepper3
Universitas Sumatera Utara
setb stepper4 acall tunda
clr stepper1 clr stepper2
setb stepper3 clr stepper4
acall tunda clr stepper1
setb stepper2 clr stepper3
clr stepper4 acall tunda
setb stepper1 clr stepper2
clr stepper3 clr stepper4
acall tunda sjmp cek_limit_bawah
Universitas Sumatera Utara
stop: clr stepper1
clr stepper2 clr stepper3
clr stepper4 ret
tunda: mov r7,40
tnd: mov r6,150
djnz r6, djnz r7,tnd
ret end
Universitas Sumatera Utara
BAB 4
PENGUJIAN RANGKAIAN DAN PEMBAHASAN SISTEM
4.1 Pengujian Rangkaian