You are on page 1of 7

.include "m324pdef.

inc"
ldi r16, 0b0011111
ldi r17, 0b0111111
ldi r18, 0b0111111
ldi r19, 0b0111111
out ddrb,r16
out ddra,r17
out ddrc,r18
out ddrd,r19

loop:

//Menampilkan tampilan awal 1 pegmen dan 2 makanan


ldi r20,35
data0:
ldi r16, 0b0010000 // Kolom 1
ldi r17, 0b1111111 // Data 1 LED 1
ldi r18, 0b1111111 // Data 1 LED 2
ldi r19, 0b1011101 // Data 1 LED 3
out portb, r16
out porta, r17
out portc, r18
out portd, r19
call delay

ldi r16, 0b0001000 // Kolom 2


ldi r17, 0b1111111 // Data 2 LED 1
ldi r18, 0b1111111 // Data 2 LED 2
ldi r19, 0b0101010 // Data 2 LED 3
out portb, r16
out porta, r17
out portc, r18
out portd, r19
call delay

ldi r16, 0b0000100 // Kolom 3


ldi r17, 0b1110011 // Data 3 LED 1
ldi r18, 0b1110011 // Data 3 LED 2
ldi r19, 0b0110010 // Data 3 LED 3
out portb, r16
out porta, r17
out portc, r18
out portd, r19
call delay

ldi r16, 0b0000010 // Kolom 4


ldi r17, 0b1110011 // Data 4 LED 1
ldi r18, 0b1110011 // Data 4 LED 2
ldi r19, 0b1011101 // Data 4 LED 3
out portb, r16
out porta, r17
out portc, r18
out portd, r19
call delay

ldi r16, 0b0000001 // Kolom 5


ldi r17, 0b1111111 // Data 5 LED 1
ldi r18, 0b1111111 // Data 5 LED 2
ldi r19, 0b1100011 // Data 5 LED 3
out portb, r16
out porta, r17
out portc, r18
out portd, r19
call delay

dec r20
brne data0

//Menampilkan Pegmen sudah mulai geser ke kiri untuk makan


ldi r20, 35
data1:
ldi r16,0b0010000
ldi r17,0b1111111
ldi r18,0b1100011
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0001000
ldi r17,0b1111111
ldi r18,0b1010101
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000100
ldi r17,0b1110011
ldi r18,0b0110110
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000010
ldi r17,0b1110011
ldi r18,0b0111110
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000001
ldi r17,0b1111111
ldi r18,0b1000001
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

dec r20
brne data1

//Pegmen melebarkan mulut bersiap memulai makan lagi


ldi r20, 35
data2:
ldi r16,0b0010000
ldi r17,0b1111111
ldi r18,0b1011101
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0001000
ldi r17,0b1111111
ldi r18,0b0101010
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000100
ldi r17,0b1110011
ldi r18,0b0110010
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000010
ldi r17,0b1110011
ldi r18,0b1011101
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000001
ldi r17,0b1111111
ldi r18,0b1100011
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

dec r20
brne data2

//Pegmen sudah mulai geser ke kiri untuk makan lagi


ldi r20, 35
data3:
ldi r16,0b0010000
ldi r17,0b1100011
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0001000
ldi r17,0b1010101
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000100
ldi r17,0b0110110
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000010
ldi r17,0b0111110
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000001
ldi r17,0b1000001
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

dec r20
brne data3

//Pegmen melebarkan mulut lagi


ldi r20, 35
data4:
ldi r16,0b0010000
ldi r17,0b1011101
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0001000
ldi r17,0b0101010
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000100
ldi r17,0b0110010
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000010
ldi r17,0b1011101
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000001
ldi r17,0b1100011
ldi r18,0b1111111
ldi r19,0b1111111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

dec r20
brne data4

//Menampilkan tulisan "WOW"


ldi r20, 35
data5:
ldi r16,0b0010000
ldi r17,0b0000000
ldi r18,0b1000001
ldi r19,0b0000000
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0001000
ldi r17,0b1011111
ldi r18,0b0111110
ldi r19,0b1011111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000100
ldi r17,0b1101111
ldi r18,0b0111110
ldi r19,0b1101111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000010
ldi r17,0b1011111
ldi r18,0b0111110
ldi r19,0b1011111
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

ldi r16,0b0000001
ldi r17,0b0000000
ldi r18,0b1000001
ldi r19,0b0000000
out portb,r16
out porta,r17
out portc,r18
out portd,r19
call delay

dec r20
brne data5

jmp loop

//delay
// 1000= 25x40

delay:
ldi r22,40
again2:
ldi r21,25
again:
nop
nop
dec r21
brne again
dec r22
brne again2
ret

You might also like