Advertisement
OscarAHB

Untitled

Sep 11th, 2016
87
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