MIcrocontroladores
Enviado por sk8diegovil • 18 de Septiembre de 2015 • Trabajo • 1.773 Palabras (8 Páginas) • 141 Visitas
.include "m8def.inc" COMPARADOR
.cseg
.org $0
rjmp inicio
inicio:
ldi r16,0xF0
out DDRB,r16 ;Configura puerto b 11110000
ldi r17,0xF0
out DDRD,r17 ;Configura puerto d 11110000
ldi r18,0x0F
out DDRC,r18 ;Configura puerto c 00001111
lazo:
in r16,PINB ;Lee el pin B y guarda en r16
in r17,PIND ;Lee el pin D y guarda en r17
cp r17,r16 ;Compara r17 con r16
breq Iguales ;Brinca si son Iguales
brne NoIguales ;Brinca si no son iguales
Iguales:
ldi r19, 0x01
out PORTC,r19 ; Prende el led 00000001
rjmp lazo
NoIguales:
cp r17,r16 ;Compara r17 con r16
brlt menor ;Si r17
ldi r19, 0x04
out PORTC,r19 ;Prende el led 00000100 si r17>r16
rjmp lazo
Menor:
ldi r19, 0x02
out PORTC,r19 ;Prende el led 000000010 si r17
rjmp lazo
.include "m8def.inc" DELAY
.cseg
.org 0x0000
RJMP INICIO
INICIO:
ldi r17,$24
ZZ: ldi r18,$BC
YY: ldi r19,$04
XX: dec r19
brne xx
dec r18
brne yy
dec r17
brne zz
ret
.include "m8def.inc" CONTADOR ASD. 1
.cseg
.org $0
rjmp inicio
inicio:
ldi r16,0xFF
out ddrb,r16
out ddrd,r16
ldi r16,0x00
ldi r17,0x00
lazo:
rcall prender
rcall retardo1
inc r16 //Incremente r16=r16+1
cpi r16,0x0A//Compara r16 con 10
brne lazo //Si no es equivalente salta a lazo
clr r16 //Borra r16
inc r17 //Incrementa r17=R17+1
cpi r17,0x0A //Compara r17 con 10
brne lazo //Brinca si no es equivalente
clr r17 //Borra r17
rjmp lazo //Salta a lazo
prender:
caso0: cpi r16,0x00
brne caso1
...