Sabtu, 07 Mei 2011

Microprosesor AVR Studio 4 - Contoh Program 3

Operasi Logika dan Pergeseran



.include"8535def.inc"
.org 0x0000
rjmp utama

utama:

ldi r16,low(RAMEND)
out spl,r16
ldi r16,high(RAMEND)
out sph,r16

ldi r16,0xff
out ddra,r16
ldi r16,0x00
out ddrc,r16

ulang:
    in r16,pinc

    mov r17,r16
    swap r17
    lsl r17
    lsl r17
    lsl r17
    andi r17,0b10000000

    mov r18,r16
    swap r18
    lsl r18
    andi r18,0b01000000

    mov r19,r16
    swap r19
    lsr r19
    andi r19,0b00100000

    mov r20,r16
    lsl r20
    andi r20,0b00010000

    mov r21,r16
    lsr r21
    andi r21,0b00001000

    mov r22,r16
    swap r22
    lsl r22
    andi r22,0b00000100

    mov r23,r16
    swap r23
    lsr r23
    andi r23,0b00000010

    mov r24,r16
    swap r24
    lsr r24
    lsr r24
    lsr r24
    andi r24,0b00000001

    or r17,r18
    or r17,r19
    or r17,r20
    or r17,r21
    or r17,r22
    or r17,r23
    or r17,r24
    out porta,r17

rjmp ulang



KETERANGAN
Jika Saklar PinC0 ditekan maka Led di PortA7 menyala
Jika Saklar PinC1 ditekan maka Led di PortA6 menyala
Jika Saklar PinC2 ditekan maka Led di PortA5 menyala
Jika Saklar PinC3 ditekan maka Led di PortA4 menyala
Jika Saklar PinC4 ditekan maka Led di PortA3 menyala
Jika Saklar PinC5 ditekan maka Led di PortA2 menyala
Jika Saklar PinC6 ditekan maka Led di PortA1 menyala
Jika Saklar PinC7 ditekan maka Led di PortA0 menyala

Tidak ada komentar:

Posting Komentar