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.