Autor Tema: Simulación MPLAB  (Leído 2725 veces)

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

Desconectado Kibur

  • PIC10
  • *
  • Mensajes: 6
Simulación MPLAB
« en: 18 de Agosto de 2011, 08:39:15 »
Hola que tal, estoy realizando mi primer proyecto con un PIC y hasta ahora he ido resolviendo la mayoría de mis problemas a través de este foro y lo que he podido encontrar por internet, a ver si alguien me puede ayudar ni que sea aportando una pequeña idea, porque estoy bastante ilusionado con esto y al final me gustaria que funcionara  :mrgreen:

Se trata generalmente de un termómetro digital con un pic 16F84A, un sensor de temperatura DS1820, 2 matrices de leds de 5x7, y un registro serie paralelo 74HC164. Tengo unas dudas a cerca del esquema electrónico que quiero preguntar más adelante si al final no consigo resolver mis dudas, pero primero quiero resolver un problemas con el mplab.

La estructura del programa consta de un archivo principal Termometro.asm que se encuentra en Source Files en el Workspace y dos archivos *.inc que están en Header Files, cuando hago la simulación con el mplab (y el proteus), empieza siempre con el archivo DS1820.inc, y no tengo ni idea de porque... ¿en principio no tendría que empezar la simulación con el archivo Termometro.asm? tengo algún código que simular en el archivo Termometro.asm antes de llamar algunas rutinas en el archivo DS1820.inc, es decir el archivo Termometro.asm lo ignora por completo.

Además si en el archivo Termometro.asm elimino la linea #INCLUDE <DS1820.inc>, en la simulación log me aparece Stack underflow executing RETLW instruction si la compilación es en relocatable, si es en absloute no me aparece este error pero solo aparece esto en la simulación: OP=3FF (ADDLW 0x1FF)
En la compilación del archivo no me sale ningún Error ni ningún Warrning, solo un mensaje que dice: Superseding current maximum RAM and RAM map. lo he buscado por el foro pero no he conseguido resolver el problema

En definitiva, que me gustaría que empezara la simulación por el archivo asm y no se porque empieza por el archivo inc, no se si se va a entender lo que he escrito pero si hace falta que suba el código y el esquema en proteus, me lo decís lo arreglo un poco y lo subo al foro.


Desconectado alogic.on

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 772
Re: Simulación MPLAB
« Respuesta #1 en: 20 de Agosto de 2011, 04:25:02 »
hola y bienvenido ;-)
 el simulador no es que empieze por un archivo u otro, si no que utiliza el .hex compilado por mplab.
 tienes la ventana View/program memory en esta ves como se ha compilado el programa.

un saludo

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Simulación MPLAB
« Respuesta #2 en: 20 de Agosto de 2011, 13:52:31 »
.


¿Podrías poner el código para verlo? Creo que así podríamos ayudarte mejor.

Saludos.

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado Kibur

  • PIC10
  • *
  • Mensajes: 6
Re: Simulación MPLAB
« Respuesta #3 en: 24 de Agosto de 2011, 12:27:41 »
Gracias alogic.on no sabia lo de esta ventana

Al final más o menos he resuelto el problema, he estado repasando las directivas del ensamblador MPLAB y me encontré con __MAXRAM y me pregunté si tenia alguna relación con el error Superseding current maximum RAM and RAM map, busqué por internet y encontré esto:http://es.scribd.com/doc/50678994/115/ASSEMBLER-MESSAGES Pàgina 174 error 310, dice que si sale este error __MAXRAM tiene que ser definido previamente, así que lo hice, pero no resolví el problema, porque este error iba dirigido al archivo p16F84A.INC que ahí sí que estaba definido. Al final resulto ser que en los archivos *.inc tenia esta linea #INCLUDE   <p16F84A.inc>, la borré y solucioné el problema, pero aparecieron otros. Al no tener incluido el archivo p16F84A.inc en los archivos *.inc no reconocía los símbolos como PORTA, PORTB, STATUS,C etc etc

Al final he puesto todo el código en archivo *.asm y he resuelto todos los problemas, una lástima porque ahora está todo un poco lioso, antes quedaba todo más limpio, pero bueno, tendré que buscar como se utilizan los archivos .inc