Estimados, he adquirido un ICD2 LE (via USB), por cierto es una versión no muy conocida por lo que me comentó Norberto, la gané en un seminario de microchip, aqui una foto:
La historia y el problema es así:
-Instalé el ICD2 como dice el manual sin problemas
-Configuré el MPLAB vers 7.6 para el ICD2 (Programmer->Select Prgrammer->MPLAB ICD 2)
-Armé un proyecto sencillo en C (con el compilador CCS, cabe aclarar que instale el PLUG-IN para integrar CCS a MPLAB)
-Compilo mi proyecto
-Progamo
-Hago verificaciones (MPLAB dice estar todo OK)
-Pero mi PIC no hace lo que yo puse en el código que es muy sencillo, solo se trata de prender y apagar unos leds!!!
Aqui el codigo:
#include <16F877a.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Resistor/Capacitor Osc with CLKOUT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=10000000)
#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A2,bits=8)
void main()
{
setup_adc(ADC_CLOCK_DIV_32);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
do{
OUTPUT_B(0xf0);
output_high(PIN_D2);
delay_ms(800);
output_low(PIN_D2);
OUTPUT_B(0x0f);
delay_ms(2000);
}while(true);
}
Por cierto es bastante sencillo el código.
La conexion del ICD2 al protoboard la hago como dice el datasheet, de la siguiente manera (segun manual de ICD2):
Parece ser todo bastante sencillo pero no logro que el pic responda a mi codigo. El PIC funciona porque grabe el mismo .hex con mi viejo programador de PABLIN y sí funciona todo de maravilla.
Si alguien sabe algo al respecto por favor me ayude!!!...Tengo este nuevo juguete y no lo puedo usar!!!
Algunas preguntas:
¿Los FUSES tendrán algo que ver?
¿Hay que agregar algún codigo especial?
¿El firmware del ICD2 es único para todos los PIC`s, o debo cargar uno exclusivamente para el que estoy usando (16F877A)?
Gracias amigos!!!!