Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .include"m16def.inc"
- .org 0x0
- rjmp main
- main:
- //Declaramos pila
- ldi r16, low(RAMEND)
- out spl, r16
- ldi r16, high(RAMEND)
- out sph, r16
- //Cargo un valor a la direccion r16 de SRAM
- ldi r16, 20
- sts 0x60, r16
- //Me pide leer un valor en el puerto a, primero debo cargarle el valor para la simulaciĆ³n
- ldi r16, 0xff
- out ddra, r16
- ldi r16, 10
- out porta, r16
- //Leo el valor ingresado al puerto y lo cargo a un registro
- ldi r16, 0
- out ddra, r16
- in r16, pina
- //Cargo el valor de dir 0x60 a un registro
- lds r17, 0x60
- //Preparo para salida los pines de los puertos a utilizar
- ldi r18, 0b00000011
- out ddrb, r18
- //Compar los valores del puerto a y dir 0x60
- cp r16, r17; r16 es porta, r17 es SRAM
- breq zero
- brcc ledpb0
- sbi portb, 1
- rjmp fin
- ledpb0: sbi portb, 0
- rjmp fin
- zero: ldi r20, 0xff
- out ddra, r20
- out portc, r16
- fin: rjmp fin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement