Autor Tema: Pic 18F4620: que hay de malo en esto?  (Leído 1893 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jimmyto

  • PIC10
  • *
  • Mensajes: 5
Pic 18F4620: que hay de malo en esto?
« en: 16 de Junio de 2006, 00:55:52 »
Hola amigos, agradezco la ayudar que me brindan.
estoy aprendiendo a utilizar el Pic 18f4620 y necesito saber si debo configurar algo antes de ejecutar las siguientes rutina o no se debe hacer así:

org 0X3500   
llamada
   movlw .4
   addwf   PCL,f,0                   ;PCL=+4
   retlw   .5      ; ancho del esspacio
   retlw   .5      ; ancho de la "a"      
   retlw   .5      ; ancho de la "b"


lo hago como está en el ejemplo del datasheet y hago la llamada a la rutina pero cuando se está ejecutando el PCL se salta a otra dirección y no entiendo el porqué.
Porfavor espero sus respuesta. Gracias.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Pic 18F4620: que hay de malo en esto?
« Respuesta #1 en: 16 de Junio de 2006, 01:56:43 »
Hola.

Deberia saltar aqui:

org 0X3500   
llamada
   movlw .4
   addwf   PCL,f,0                   ;PCL=+4
   retlw   .5      ; ancho del esspacio
   retlw   .5      ; ancho de la "a"     
   retlw   .5      ; ancho de la "b"
   retlw   .5      ; ancho de la "c"
   retlw   .5      ; ancho de la "d" <-- aca deberia saltar.

Creo que en la familia 18F, la complicacion de las tablas con el PCLATH ya viene mejorado, si no es asi, entonces deberas cargar el valor correcto del PCLATH antes de llamar a esta funcion.

Ej:

;codigo aqui

PAGESELW llamada
movwf  PCLATH
call llamada
movwf  miregistro

;mas codigo aqui....


Ya apareceran personas que conozcan mejor los 18F, saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Pic 18F4620: que hay de malo en esto?
« Respuesta #2 en: 16 de Junio de 2006, 17:31:36 »
jimmyto lo que dice bruno está bien y agregaré algo más de luz sobre el tema del PCLATH .

Creo que en la familia 18F, la complicacion de las tablas con el PCLATH ya viene mejorado, si no es asi, entonces deberas cargar el valor correcto del PCLATH antes de llamar a esta funcion.

En los 18F hay 3 registros: PCLATU, PCLATH y PCL.  Entre los 3 forman el registro de 24 bits de program counter.

No existe la necesidad de paginar pero esta mejora se ve al usar un call o en un goto, pero no en un incremento del Program Counter.  Es decir, sumar algo al PCL no incrementará automáticamente el PCLATH y/o el PCLATU.  Por lo tanto hay que tener en cuenta esto al llamar a una tabla que responderá con un retlw.

De todas formas, estos pics tienen las instrucciones Table Read (TBLRD) y Table Write (TBLWT).  Se usan para leer y escribir en la memoria de programa.  La opción Table Read nos permitirá leer una posición de memoria cualquiera con lo cual podríamos usarlo para leer tablas de datos de una manera simple.




Saludos


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything