Advertisement
OscarAHB

Untitled

Sep 11th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .include"m16def.inc"
  2. .org 0x0
  3. rjmp main
  4.  
  5. main:
  6. //Declaramos pila
  7. ldi r16, low(RAMEND)
  8. out spl, r16
  9. ldi r16, high(RAMEND)
  10. out sph, r16
  11.  
  12. //Cargo un valor a la direccion r16 de SRAM
  13. ldi r16, 20
  14. sts 0x60, r16
  15.  
  16. //Me pide leer un valor en el puerto a, primero debo cargarle el valor para la simulaciĆ³n
  17. ldi r16, 0xff
  18. out ddra, r16
  19. ldi r16, 10
  20. out porta, r16
  21.  
  22. //Leo el valor ingresado al puerto y lo cargo a un registro
  23. ldi r16, 0
  24. out ddra, r16
  25. in r16, pina
  26.  
  27. //Cargo el valor de dir 0x60 a un registro
  28. lds r17, 0x60
  29.  
  30. //Preparo para salida los pines de los puertos a utilizar
  31. ldi r18, 0b00000011
  32. out ddrb, r18
  33.  
  34. //Compar los valores del puerto a y dir 0x60
  35. cp r16, r17; r16 es porta, r17 es SRAM
  36. breq zero
  37. brcc ledpb0
  38. sbi portb, 1
  39. rjmp fin
  40. ledpb0: sbi portb, 0
  41. rjmp fin
  42. zero: ldi r20, 0xff
  43. out ddra, r20
  44. out portc, r16
  45.  
  46. fin: rjmp fin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement