.include"8535def.inc"
.org 0x0000
rjmp pertama
pertama:
ldi r16,0xff
ldi r17,0x00
out portb,r17
out portc,r16
out portd,r17
in r18,porta
cp r18,r16
breq set1
cp r18,r17
breq set2
set3:
in r19,porta
cp r19,r16
breq set1
cp r19, r17
breq set2
in r18,porta
out portd, r18
rjmp set3
set1:
out portd,r17
out portb,r18
in r18,porta
cp r18,r16
brne pertama
rjmp set1
set2:
out portd,r17
out portc,r18
in r18,porta
cp r18,r17
brne pertama
rjmp set2
akhir:
rjmp akhir
Penjelasan.
- input dengan melihat keadaan PortA, apakah keadaannya high semua, low semua, atau tidak kedua duanya.
- jika PortA dalam keadaan High semua, maka kondisi di PortA akan disalin ke PortB
- jika PortA dalam keadaan Low semua, maka kondisi di PortA akan disalin ke PortC
- jika keadaan pada no.2 dan no.3 tidak terpenuhi, maka kondisi di PortA akan disalin ke PortD
- karena PortB akan diberikan nilai PortA yang berlogika High, maka sebelumnya kondisi default untuk PortB adalah Low
- karena PortC akan diberikan nilai PortA yang berlogika Low, maka sebelumnya kondisi default untuk PortC adalah High
- untuk PortD, diberikan kondisi default Low.
Tidak ada komentar:
Posting Komentar