3.7. Program yang diisi pada Mikrokontroler AT89S51 pada alat
;= = = = = = = = = = = = = = = = = = = = =; ; program pengendali peralat an elekt ronik ;
; author : m ayang c.s ;
; DII Fisika ;
;= = = = = = = = = = = = = = = = = = = = =;
Ut ama: mov p0,0ffh
; isikan ke nilai 0ffh ke p0 call tunda
; panggil tunda ;== cek hidup lampu ==;
Nyala: mov a,p3
; isikan ke alamat a nilai yang m asuk ke p3 anl a,0fh
; kalikan nilai a dengan nilai 0fh cjne a,9,M ati
; bandingkan nilai a dengan nilai 9 jika ya, maka lompat
ke rout ine run nyala sjmp Run_Nyala
;== cek mat i lampu ==; M at i:
mov a,p3 ; isikan ke alamat a nilai yang m asuk ke p3
anl a,0fh ; kalikan nilai a dengan nilai 0fh
cjne a,11,Nyala ; bandingkan nilai a dengan nilai 11 jika ya, m aka
lom pat ke rout ine run mat i ljmp Run_M at i
;== hidup lampu ==; run_Nyala:
call t unda call t unda
call t unda call t unda
call t unda call t unda
call t unda
Nyala_Nilai1: mov a,p3
anl a,0fh
Universitas Sumatera Utara
cjne a,1,Nyala_Nilai2 Set b P0.0
call t unda sjmp Nyala
Nyala_Nilai2: mov a,p3
anl a,0fh cjne a,2,Nyala_Nilai3
Set b P0.1 call t unda
sjmp Nyala Nyala_Nilai3:
mov a,p3 anl a,0fh
cjne a,3,Nyala_Nilai4 Set b P0.2
call t unda sjmp Nyala
Nyala_Nilai4: mov a,p3
anl a,0fh cjne a,4,Nyala_Nilai5
Set b P0.3 call t unda
sjmp Nyala Nyala_Nilai5:
mov a,p3 anl a,0fh
cjne a,5,Nyala_Nilai6 Set b P0.4
call t unda ljmp Nyala
Nyala_Nilai6: mov a,p3
anl a,0fh cjne a,6,Nyala_Nilai7
Set b P0.5 call t unda
ljmp Nyala Nyala_Nilai7:
mov a,p3 anl a,0fh
cjne a,7,Nyala_Nilai8 Set b P0.6
call t unda ljmp Nyala
Nyala_Nilai8:
Universitas Sumatera Utara
mov a,p3 anl a,0fh
cjne a,8,Nyala_Nilai9 call buka_pintu
call t unda ljmp Nyala
Nyala_Nilai9: mov a,p3
anl a,0fh cjne a,10,Nyala_Nilai1
mov p0,0ffh call t unda
ljmp Nyala
;== mat i lampu ==; run_M at i:
call t unda call t unda
call t unda call t unda
call t unda call t unda
call t unda call t unda
call t unda call t unda
M at i_Nilai1: mov a,p3
anl a,0fh cjne a,1,M ati_Nilai2
Clr P0.0 call t unda
ljmp Nyala M at i_Nilai2:
mov a,p3 anl a,0fh
cjne a,2,M ati_Nilai3 Clr P0.1
call t unda ljmp Nyala
M at i_Nilai3: mov a,p3
anl a,0fh cjne a,3,M ati_Nilai4
Universitas Sumatera Utara
Clr P0.2 call t unda
ljmp Nyala M at i_Nilai4:
mov a,p3 anl a,0fh
cjne a,4,M ati_Nilai5 Clr P0.3
call t unda ljmp Nyala
M at i_Nilai5: mov a,p3
anl a,0fh cjne a,5,M ati_Nilai6
Clr P0.4 call t unda
ljmp Nyala M at i_Nilai6:
mov a,p3 anl a,0fh
cjne a,6,M ati_Nilai7 Clr P0.5
call t unda ljmp Nyala
M at i_Nilai7: mov a,p3
anl a,0fh cjne a,7,M ati_Nilai8
Clr P0.6 call t unda
ljmp Nyala M at i_Nilai8:
mov a,p3 anl a,0fh
cjne a,8,M ati_Nilai9 call t utup_pintu
call t unda ljmp Nyala
M at i_Nilai9: mov a,p3
anl a,0fh cjne a,10,M ati_Nilai1
mov p0,80h call t unda
ljmp Nyala ; = = = rout ine t unda = = = ;
Universitas Sumatera Utara
t unda: mov r7,255
t nd: mov r6,255
djnz r6, djnz r7,tnd
ret
Universitas Sumatera Utara
3.8. FLOWCHART