Selasa, 26 April 2011

Microprosesor AVR Studio 4 - Contoh Program

.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.
  1. input dengan melihat keadaan PortA, apakah keadaannya high semua, low semua, atau tidak kedua duanya.
  2. jika PortA dalam keadaan High semua, maka kondisi di PortA akan disalin ke PortB
  3. jika PortA dalam keadaan Low semua, maka kondisi di PortA akan disalin ke PortC
  4. 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