TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: marcos en 26 de Enero de 2007, 13:37:51

Título: Asm no Mplab e no Proteus
Publicado por: marcos en 26 de Enero de 2007, 13:37:51
Sou usuario novo neste forum espetacular, e tenho uma duvida quanto a compilações feitas no Mplab e no Proteus.

Bom minha dúvida é a seguinte:


Por que no MPlab um codigo em ASM sem a diretiva list=p16fxx ou qualquer um outro roda sem problemas e no Proteus da erro.


Aguardo respostas.


Obrigado


Marcos
Título: Re: Asm no Mplab e no Proteus
Publicado por: maunix en 27 de Enero de 2007, 14:49:05
marcos, en el MPLAB está un archivo .inc que se llama así como mencionas p16fxxx.inc

El MPLAB define una variable de entorno de acuerdo al pic que hayas seleccionado.

El PIC se selecciona en CONFIGURE, SELECT DEVICE.

Si por ejemplo, elegiste el 16F874A, el MPLAB genera la variable   __16F874A

Al ejecutar el MPASM, esa variable quedó definida y al llegar al include P16Fxxx.inc, si tomamos una parte del código de P16Fxxx.inc

Código: ASM
  1. IFDEF __16F874A
  2.      INCLUDE <P16F874A.INC>
  3.   ENDIF

Ahi se puede ver que si está definido __16F874A , se incluye P16F874A.inc


La ventaja de este método es que uno puede usar solamente el P16Fxxx.inc en sus códigos y luego con SELECT DEVICE, se recompilará para el pic que uno elija sin necesidad de cambiar el P16Fxxx.inc

Evidentemente proteus no te está entendiendo esto, y lo que debes hacer es cambiar la línea P16Fxxx.inc por la del pic que hayas elegido.

Saludos