Está en la página 1de 3

.include "C:\VMLAB\include\m8def.

inc"
.org $00
rjmp start
start:
; Inicializacion de Stack
ldi r16,HIGH(RAMEND)
out SPH,r16
ldi r16, LOW(RAMEND)
out SPL,r16
; Fin inicializacion de Stack
; Inicio de programa
ldi r16,0x00 ; PORTB habilitacin de switch
out DDRB,r16 ; PB0
LDI R20,0XFF
OUT DDRD,R20
LDI R21,0B01000000
out PORTD,R21 ; PORTD salida a display
PULSADOR:
IN R22,PINB
ANDI R22,0B00000001
CPI R22,0
BREQ MENSAJE
RJMP CONTEO
CONTEO:
LDI R23,0B01111001;1
OUT PORTD,R23
RCALL delay_1S
LDI R23,0B00100100;2
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B00110000;3
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B00011001;4
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B00010010;5
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B00000010;6
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B01111000;7
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B00000000;8
OUT PORTD,R23
RCALL DELAY_1S
LDI R23,0B00011000;9
OUT PORTD,R23
RCALL DELAY_1S
RJMP PULSADOR
MENSAJE:
LDI R23,0B00001001;H
out PORTD,R23 ; PORTD salida a display
RCALL DELAY_1S
LDI R23,0B01000000;O

out PORTD,R23
RCALL DELAY_1S
LDI R23,0B01000111;L
out PORTD,R23
RCALL DELAY_1S
LDI R23,0B00001000;A
out PORTD,R23
RCALL DELAY_1S
RJMP PULSADOR
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
problema 4:
.include "C:\VMLAB\include\m8def.inc"
.org $00
rjmp start
start:
; Inicializacion de Stack
ldi r16,HIGH(RAMEND)
out SPH,r16
ldi r16, LOW(RAMEND)
out SPL,r16
; Fin inicializacion de Stack
; Inicio de programa
ldi r16,$0f
out ddrb,r16
led:
ldi r20,0
ldi r21,0
led1:
inc r20
ldi r16,0b00000001
out portb,r16
rcall retardo1
ldi r16,0b00000000
out portb,r16
rcall retardo1
cpi r20,10
breq led2
rjmp led1
led2:
;::::::::::::::::::::retardo de 1 segundo
ldi r16,0b00000001
out portb,r16
rcall retardo2
ldi r16,0b00000000
out portb,r16
rcall retardo2
;::::::::::::::::::::
led3:
inc r21
ldi r16,0b00000001
out portb,r16
rcall retardo3
ldi r16,0b00000000
out portb,r16
rcall retardo4
cpi r21,5
breq led

rjmp led3
rjmp led1
retardo1:
ZZ:
YY:
XX:

ldi R17, $12 ;300 ms


ldi R18, $41
ldi R19, $55
dec R19
brne XX
dec R18
brne YY
dec R17
brne ZZ
RET

retardo2:
AA:
BB:
CC:

ldi R17, $30 ;800 ms o 1 seg


ldi R18, $41
ldi R19, $55
dec R19
brne CC
dec R18
brne BB
dec R17
brne AA
RET

retardo3:
DD:
EE:
FF:

ldi R17, $20 ;500 ms


ldi R18, $43
ldi R19, $55
dec R19
brne FF
dec R18
brne EE
dec R17
brne DD
RET

retardo4:
GG:
HH:
II:

ldi R17, $10 ;200 ms


ldi R18, $39
ldi R19, $55
dec R19
brne II
dec R18
brne HH
dec R17
brne GG
RET

También podría gustarte