Você está na página 1de 1

.include<m88def.

inc>
.cseg
.org 0
; ATRIBUIÇÂO DE VARIÁVEIS AOS REGISTOS
.def temp = r19
.def temp2 = r20
.def mask = r18
.def temp3 = r17
.def mask2 = r16
inic:
ldi mask2,0b11111111 ;carregar de forma imediata mask com o valor escrito
out DDRC,mask2 ; DEFINIÇÃO DO PORTOC COMO SAÌDA
L7: ldi mask2,0b00100000 ;carrega de forma imediata mask com o valor
out PORTC,mask2 ; ACTIVAÇÂO DO PINO5 DO PORTOC (LED LIGADO)
ldi temp3,15 ; nestes 3 seguintes carrega os contadores
L3: ldi temp2,255
L2: ldi temp,255
L1: dec temp ;decrementa o registo temp uma unidade
brne L1 ;enquanto nao for igual a zero continua a decrementar
dec temp2 ;decrementar temp2 uma unidade
brne L2 ;enquanto nao for igual a zero continua a decrementar
dec temp3 ;decrementa o tempo3 uma unidade
brne L3 ;quando for 0 chegamos ao fim dos contadores e apaga s o led
ldi temp3,0
out PORTC,temp3 ; MUDANÇA DO ESTADO DO PINO5 (ON/OFF)
ldi temp3,15 ;carrega s novamente os 3 contadores
L6: ldi temp2,255
L5: ldi temp,255
L4: dec temp ;decrementa o registo temp uma unidade
brne L4 ;enquanto nao for igual a zero continua a decrementar
dec temp2 ;decrementar temp2 uma unidade
brne L5 ;enquanto nao for igual a zero continua a decrementar
dec temp3
brne L6 ;quando for 0 chegamos ao fim dos 3 contadores, liga s o led
rjmp L7

Você também pode gostar