TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: pic16f88A en 14 de Noviembre de 2013, 11:01:44

Título: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 14 de Noviembre de 2013, 11:01:44
HOLA TENGO UN PROGRAMA:

#include <stdio.h>
#include <stdlib.h>
#include <xc.h>

int main(int argc, char** argv) {

    TRISB = 255;
    TRISD = 0;
    while (1) {
   LATD = PORTB;
    }
    return (EXIT_SUCCESS);
}


Y RESULTA QUE CUANDO LO PRETENDO SIMULAR EN PROTEUS, ME OCURRE ESTO....

Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: Miquel_S en 14 de Noviembre de 2013, 15:41:10
Hola pic 16f88A, ¿tienes el pin de reset conectado a VDD con su resistencia? ya que parece decirte que nunca sale del reset.

Saludos!
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: AngelGris en 14 de Noviembre de 2013, 20:53:39
  Y también faltan los bits de configuración
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 15 de Noviembre de 2013, 10:29:19
Si que le conceto a VCC, la patilla que me comentabas, pero esa no es la solucion.
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 15 de Noviembre de 2013, 10:30:06
Si eres tan amable, de escribirme los bits de configuracion..... :)
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: AngelGris en 15 de Noviembre de 2013, 10:56:30
Si eres tan amable, de escribirme los bits de configuracion..... :)

  Los bits de configuración dependerán de tus necesidades... si utilizas cristal para el oscilador, poweruptimer y otras cosas que son puntuales a cada microcontrolador.  Te recomiendo tener a mano siempre el datasheet del PIC que estés utilizando. Luego puedes consultar este hilo http://www.todopic.com.ar/foros/index.php?topic=40649.60 , jukinch nos muestra una forma muy cómoda de generar los bits de configuración.
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 16 de Noviembre de 2013, 07:32:34
HE INTENTADO CONFIGURAR LOS BITS COMO COMENTAS Y NO ME DA RESULTADO...
SI ME SUGIERES ALGUNA CONFIGURACIÓN EN PARTICULAR TE LO AGRADEZCO.
UN SALUDO
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: Miquel_S en 16 de Noviembre de 2013, 08:37:18
Hola de nuevo, tienes en cuenta que el PORTB lo mismo puede ser analogico que digital, y al no configurarlo como digital por defecto es analogico.
Debes configurarlo con el registro ADCON1, de todos modos en el datasheet en el apartado 10.01 pag.105 empieza la configuracion de los puertos.

On a Power-on Reset, RB<4:0> are
configured as analog inputs by default and
read as ‘0’; RB<7:5> are configured as
digital inputs.
By programming the Configuration bit,
PBADEN, RB<4:0> will alternatively be
configured as digital inputs on POR.
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 16 de Noviembre de 2013, 14:31:28
ME PARECE UN BUEN APORTE EL ANTERIOR COMENTARIO, Y TE DOY LA RAZON; PERO ESE NO ES EL FALLO......

ESTE SERIA NUEVO CODIGO:

#include <stdio.h>
#include <stdlib.h>
#include <xc.h> // Librería XC8
int main(int argc, char** argv) {

    ADCON1bits.PCFG=0b1111;                //ENTRADAS DIGITALES PAG 226 DATASHEET.
    TRISB = 255;
    TRISD = 0;
    while (1) {
   LATD = PORTB;
    }
    return (EXIT_SUCCESS);
}
LO CARGO AL PROTEUS Y EL MENSAJE ES EL MISMO:
LA CUESTION ES NO CARGAR EL .HEX EN EL PIC SI NO HACERLO DIRECTAMENTE DESDE MPLAB X, DANDOLE AL PLAY COMO SE MUESTRA EN LA 1ª
IMAGEN DEL TEMA.

Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: Miquel_S en 16 de Noviembre de 2013, 14:49:03
Has cambiado la primera imagen de la simulación ¿Porque?
La primera imagen de daba fallo de reset.
ME PARECE UN BUEN APORTE EL ANTERIOR COMENTARIO, Y TE DOY LA RAZON; PERO ESE NO ES EL FALLO......

ESTE SERIA NUEVO CODIGO:

#include <stdio.h>
#include <stdlib.h>
#include <xc.h> // Librería XC8
int main(int argc, char** argv) {

    ADCON1bits.PCFG=0b1111;                //ENTRADAS DIGITALES PAG 226 DATASHEET.
    TRISB = 255;
    TRISD = 0;
    while (1) {
   LATD = PORTB;
    }
    return (EXIT_SUCCESS);
}
LO CARGO AL PROTEUS Y EL MENSAJE ES EL MISMO:
LA CUESTION ES NO CARGAR EL .HEX EN EL PIC SI NO HACERLO DIRECTAMENTE DESDE MPLAB X, DANDOLE AL PLAY COMO SE MUESTRA EN LA 1ª
IMAGEN DEL TEMA.


Estas diciendo Lo cargo en el proteus y el mensaje es el mismo  y la primera imagen no decia esto.
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 16 de Noviembre de 2013, 15:16:54
LA HE CAMBIADO PORQUE LO ANTERIOR IMAGEN ERA PARA CUANDO LE CARGABA EL FICHERO .HEX
FUE CULPA MIA.
PERO AHORA YA ESTA BIEN.
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: AngelGris en 16 de Noviembre de 2013, 15:31:12
  Para mí sigue siendo un problema relacionado con los bits de configuración
Título: Re: PIC 18F 4520 PROTEUS 8 MPLAB X PROGRAMACION XC8
Publicado por: pic16f88A en 16 de Noviembre de 2013, 15:59:35
TEMA ZANJADO.

CODIGO:
#include <stdio.h>
#include <stdlib.h>
#include <xc.h> // Librería XC8
int main(int argc, char** argv) {

    ADCON1bits.PCFG=0b1111;                //ENTRADAS DIGITALES PAG 226 DATASHEET.
    TRISB = 255;
    TRISD = 0;
    while (1) {
   LATD = PORTB;
    }
    return (EXIT_SUCCESS);
}

SOLUCION: CONFIGURAR ENTRADAS COMO DIGITALES, Y CARGAR EL .HEX EN EL PIC DE PROTEUS.
SIN DUDA ALGUNA LO MEJOR