Autor Tema: Problemas de salto con el pic 16f876  (Leído 1881 veces)

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

Desconectado pharmakon

  • PIC10
  • *
  • Mensajes: 3
Problemas de salto con el pic 16f876
« en: 01 de Febrero de 2007, 12:19:59 »
Buenas. estoy usando un pic16f876 y el software tiene una longitud de 6kb. Estoy tratando de saltar de la pagina 0 a la pagina 4, pero el apuntador del programa se pierde, ademas estoy usando la pseudointruccion pagesel pero aun asi se pierde ojo el software funciona correctamente en el MPLAB pero al programar el micro este no funciona. ya he cambiado el micro. alguien me podria escribr como resolver este problema. gracias

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problemas de salto con el pic 16f876
« Respuesta #1 en: 01 de Febrero de 2007, 12:29:53 »
Buenas. estoy usando un pic16f876 y el software tiene una longitud de 6kb. Estoy tratando de saltar de la pagina 0 a la pagina 4, pero el apuntador del programa se pierde, ademas estoy usando la pseudointruccion pagesel pero aun asi se pierde ojo el software funciona correctamente en el MPLAB pero al programar el micro este no funciona. ya he cambiado el micro. alguien me podria escribr como resolver este problema. gracias

Realmente falta información para que expliques qué es lo que te está sucediendo.

Fíjate qué haces porque no hay página 4.  En realidad las páginas van de la 0 a la 3.  Son 4 páginas pero su número no es el mismo.

pagesel es un macro que seteará los bits del PCLATH en función de donde esté ubicada la rutina que deseas apuntar.

Si subes el código que te genera problemas ( si sin 6 kb te sugiero lo hagas en formato .zip) podré revisar a ver de qué se trata tu problema.

Utilizas interrupciones? guardas bien el contexto? esto podría explicar porqué en el pic anda mal (ya que en un 1 segundo pasan millones de instrucciones que te llevaría mucho tiempo simular en el MPLAB).

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)

Desconectado pharmakon

  • PIC10
  • *
  • Mensajes: 3
Re: Problemas de salto con el pic 16f876
« Respuesta #2 en: 01 de Febrero de 2007, 12:46:32 »
Buenas. estoy usando un pic16f876 y el software tiene una longitud de 6kb. Estoy tratando de saltar de la pagina 0 a la pagina 4, pero el apuntador del programa se pierde, ademas estoy usando la pseudointruccion pagesel pero aun asi se pierde ojo el software funciona correctamente en el MPLAB pero al programar el micro este no funciona. ya he cambiado el micro. alguien me podria escribr como resolver este problema. gracias

Realmente falta información para que expliques qué es lo que te está sucediendo.

Fíjate qué haces porque no hay página 4.  En realidad las páginas van de la 0 a la 3.  Son 4 páginas pero su número no es el mismo.

pagesel es un macro que seteará los bits del PCLATH en función de donde esté ubicada la rutina que deseas apuntar.

Si subes el código que te genera problemas ( si sin 6 kb te sugiero lo hagas en formato .zip) podré revisar a ver de qué se trata tu problema.

Utilizas interrupciones? guardas bien el contexto? esto podría explicar porqué en el pic anda mal (ya que en un 1 segundo pasan millones de instrucciones que te llevaría mucho tiempo simular en el MPLAB).

Saludos

ok. estoy usando interrupciones por comunicacion serial. pero no he tenido problemas con ello. dejame darte un ejemplo del problema.

el micro arraca y apunta a la direccion 00h y va a la etiqueta inicio y llamo al la subrutina de confuguracion general del software. y llamo a la etiqueta ULTRASALTO. en el MPLAB si realiza el salto pero en realidad no lo hacer ejecuta otras intrucciones que deben estar a mitad del camino.

                                   ORG     00H
                                   GOTO   INICIO

INICIO:
             CALL    CONFIGURACION
             PAGESEL    ULTRASALTO
             GOTO         ULTRASALTO

imaginate que ultrasalto se encuantre 6mil lineas mas abajo, en la pagina 3( disculpa lo de la pagina4)
ULTRASALTO:
                      BSF     PORTB,0
                      GOTO   $-1
                                   
muchisimas gracias. de verdad nesecito resolver esta problema para poder terminar el proyecto que tengo asignado en mi empleo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problemas de salto con el pic 16f876
« Respuesta #3 en: 01 de Febrero de 2007, 13:37:47 »
pharmakon ten cuidado cuando haces una cita del texto de otra persona, ya que no debes escribir dentro de la cita o aparecerá como que es algo que yo escribí y por ende no queda claro.

En cuanto a lo del salto debiera funcionar, tampoco me dijiste si usas interrupciones.

Este código debiera funcionar y se pondrá en 1 el PORTB<0>  siempre y cuando en CONFIGURACION setees dicho pin como salida.

Código: ASM
  1. org 0x0000
  2. INICIO:
  3.      CALL       CONFIGURACION
  4.      PAGESEL    ULTRASALTO
  5.      GOTO       ULTRASALTO
  6.  
  7.  
  8.     org 0x1770   // posición 6000
  9.  
  10. ULTRASALTO:
  11.     bsf PORTB,0
  12.     goto $-1



Tu código no es muy ejemplificador pero así como está debiera funcionar.  Tampoco aclaras donde está CONFIGURACION y qué se hace ahí.

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)