Programación PIC16F723A

2

Estoy trabajando con un chip PIC16F723A e intento programarlo para activar y desactivar un pin (RA1). Estoy bastante seguro de que tengo la configuración del circuito correcta (a continuación está la configuración que tengo), pero por alguna razón me sale un error al intentar programarlo ...

Por lo tanto, estoy usando MPLAB X IDE v1.70 en OS X versión 10.8.2. La configuración del proyecto en MPLAB X se configura con el dispositivo de PIC16F723A, las herramientas de hardware de ICD 3 y la cadena de herramientas del compilador como XC8 (Ubicación: /Applications/microchip/xc8/v1.12/bin). No hay un tablero de complementos compatible. NO está configurado para alimentar el circuito objetivo desde el ICD 3.

El error que estoy recibiendo es "Error de conexión. Si el problema persiste, desconecte y vuelva a conectar el ICD 3 al cable USB. Si esto no soluciona el problema, verifique que se hayan instalado los controladores MPLAB X USB correctos".

La advertencia que recibo es "PRECAUCIÓN: verifique que el dispositivo seleccionado en MPLAB IDE (PIC16F723A) sea el mismo que está conectado físicamente a la herramienta de depuración. La selección de un dispositivo de 5V cuando se conecta un dispositivo de 3.3V puede resultar en daño al dispositivo cuando el depurador verifica la identificación del dispositivo. ¿Desea continuar? "

Así es como tengo la configuración del circuito ...
PIC16F723A PIN 1 está conectado a ICD3 MCLR PIC16F723A PIN 28 está conectado a ICD3 ICSPDAT PIC16F723A PIN 27 está conectado a ICD3 ICSPCLK PIC16F723A PIN 1 / ICD3 MCLR está conectado a un VDD externo (+ 3.3V) a través de una resistencia de 10K (también probé una 4.7K) PIC16F723A PIN 8 está conectado a PIC16F723A PIN 19 PIC16F723A PIN 19 está conectado a GND PIC16F723A PIN 20 está conectado a VDD (+ 3.3V)

Estoy comprobando el chip con un osciloscopio Tektronix y cuando continúo en el mensaje de advertencia, veo datos que se transfieren en el pin ICSPDAT, pero nada ha cambiado para el pin RA1.

Aquí está el código que estoy usando:

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

void main(void){
     int i = 0;
     TRISAbits.TRISA1 = 0; // RA1 to output
     ANSELAbits.ANSA1 = 0; // RA1 to Digital I/O

     while(1){
         PORTAbits.RA1 = 1;
         for(i = 0; i < 1000; i++);
         PORTAbits.RA1 = 0;
         for(i = 0; i < 1000; i++);
     }
}

He comprobado el diseño del circuito varias veces, he comprobado que el chip es correcto (la pantalla de la serigrafía dice PIC16F723A-I / SP 1142D3V). También he intentado programarlo suministrando + 3.3V desde una fuente externa y un + 5.0V desde una fuente externa.

Aquí está el esquema:

Donde he conectado un osciloscopio a SCOPE

He probado la placa de interfaz de prueba ICD3 y regresó diciendo que todo está funcionando correctamente:

Test interface PGC clock line write succeeded.

Test interface PGD data line write succeeded.

Test interface PGC clock line read succeeded.

Test interface PGD data line read succeeded.

Test interface LVP control line test succeeded.

Test interface MCLR level test succeeded.

ICD3 is functioning properly. If you are still having problems with your target circuit  please check the Target Board Considerations section of the online help.

He podido programar exitosamente un chip PIC16F1824 con este programador y computadora. Estoy usando un PIC16F723A porque necesitaba más pines de E / S que los que tiene el PIC16F1824. También he usado esta computadora para programar con éxito un Cerebot MX4cK. Por alguna razón, el PIC16F723A no quiere trabajar. Si no lo he mencionado antes, he intentado múltiples chips.

    
pregunta mightymouse3062

2 respuestas

2
  

NO está configurado para alimentar el circuito objetivo desde el ICD 3.

AN910 es una buena referencia para programar un PIC. Vale la pena leerlo, especialmente si tiene problemas.

Dicho esto, la forma más confiable que conozco para programar los PIC es apagar (es decir, desconectar la fuente de alimentación) y permitir que el programador suministre energía al dispositivo.

No debería haber ningún problema para alimentar su circuito desde el ICD3. Si hay (es decir, hay otra carga en el riel que el ICD3 no puede manejar), entonces es posible que necesite algunos circuitos para aislar el resto del riel VDD del encabezado de programación (diodo Schottky o algo similar) para facilitar la programación.

    
respondido por el Adam Lawrence
0
  

La advertencia que estoy recibiendo es "PRECAUCIÓN: compruebe que el dispositivo seleccionado   en MPLAB IDE (PIC16F723A) es el mismo que está conectado físicamente   a la herramienta de depuración. Seleccionando un dispositivo de 5V cuando un dispositivo de 3.3V es   conectado puede dañar el dispositivo cuando el depurador realiza las comprobaciones.   el ID del dispositivo. ¿Desea continuar? "

Este mensaje se muestra cada vez que se conecta si la parte seleccionada es un dispositivo de 5V. Si solo utiliza dispositivos de 5 V, no es importante.

  

"Falló la conexión. Si el problema persiste, desconecte y   vuelva a conectar el ICD 3 al cable USB. Si esto no soluciona el problema.   verifique que se hayan instalado los controladores USB MPLAB X correctos. "

Es común tener que desconectar y volver a conectar el ICD 3 de vez en cuando. No creo que eso indique ningún problema específico.

No importa tu código o tu tablero por el momento. ¿Puede incluso conectarse al módulo de interfaz de prueba que vino con su ICD 3?

En Programador > Configuración ... > El estado es un botón "Ejecutar ICD 3 Interfaz de prueba".

Si eso no funciona, hay algo mal con el IDC 3, su conexión USB o el controlador ICD 3. ¿Está utilizando un concentrador USB? Intenta conectarte directamente a la computadora.

    
respondido por el Jeanne Pindar

Lea otras preguntas en las etiquetas