ESTIMADOS AMIGOS PUES LES CUENTO YA TERMINE DE PROGRAMAR UN PIC12F675 CON EL CCS Y AHORA ESTOY POR PROGRAMAR CON EL MPLAB, PUES TENGO EL ICD2 DE MICROCHIP, LA CUESTION AHORA ES QUE YA TENGO ABILITADO EN MPLAB, PROGRAMAR CON EL CCS Y TODO ESTA BIEN, GEMERA EL .HEX ASI QUE BUENO ME DISPONGO HA GRABAR Y RECONOCE LA TARGETA Y TODO, LO MAND HA GRABAR Y ME DICE EL SIGUIENTE ERROR
MPLAB ICD 2 Ready
Programming Target...
...Validating configuration fields
ICDWarn0033: MPLAB ICD 2 does not support programming this device if both the internal oscillator and internal MCLR are selected. You may continue programming, but you are encouraged to cancel, reconfigure your device, and try again.
ICD0200: Operation Aborted (Warning 32).
ICD0275: Programming failed.
MPLAB ICD 2 Ready
OK BUENO LO QUE HAGO ES MODIFICAR LOS FUSES ASI;
OSCILLATOR INTERNAL RC CLOCKOUT
WATCHDOG TIMER OFF
POWER UP TIMER ON
MASTER CLEAR ENABLE EXTERNAL
BROW OUT DETECT ON
CODE PROTECTET OFF
DATA EE READ PROTECTET OFF
ASI QUE ME PROGRAMA BIEN, SEGUN PERO ALA HORA DE COLOCAR EL CHIP SOLO NO HACE NADA SE QUEDA SIN VIDA, NOSE SI ME PUEDAN AYUDAR EL PIC ES EL 12F675, Y PRETENDO USAR EL OSCILADOR INTERNO LES MANDO EL CODIGO HABER QUE ME DICEN OK GRACIAS DE ANTEMANO.
#include <12F675.h> /// libreria para el manejo del pic12f675
#use delay(clock=4000000) /// declara la frecuencia del cristal
#USE I2C(SLAVE, SDA=PIN_A0, SCL=PIN_A1, address=0xA0, FORCE_HW)
#fuses INTRC_IO,NOWDT,NOCPD,NOPROTECT,NOMCLR,PUT,BROWNOUT,INTRC
#byte TRISIO = 0x85
#byte GPIO = 0x05
#bit PULSADOR1 = GPIO.3 //asigna nombre a un pin fisico
#bit LECTURA = GPIO.4
int incoming;
int lectura1;
void main(void)
{
TRISIO=0b00011100; //Configuracion del puerto. '0' salida. '1' entrada.
lectura = 0;
while(true)
{
output_high(PIN_A2); //ESTE CODIGO ES PARA PROBAR SI ESTABA GRABADO, ES UN BIT QUE OSCILA CADA SEGUNDO
delay_ms(1000);
output_low(PIN_A2);
delay_ms(1000);
if(LECTURA==1){
i2c_write(0xA0);
incoming = i2c_read(0xA0);//lectura del bus i2c
i2c_stop();
lectura1 = incoming;
}
if(incoming<=0){incoming=0;}
if (PULSADOR1 == 1){
if(lectura1 == 5){
output_high(PIN_A2);
//delay_ms(100);
delay_us(415);
output_low(PIN_A2);
//delay_ms(100);
}
else if(lectura1 == 10){
output_high(PIN_A2);
delay_us(830);
output_low(PIN_A2);}
else if(lectura1 == 15){
output_high(PIN_A2);
delay_us(1245);
output_low(PIN_A2);}
else if(lectura1 == 20){
output_high(PIN_A2);
delay_us(1660);
output_low(PIN_A2);}
else if(lectura1 == 25){
output_high(PIN_A2);
delay_us(2075);
output_low(PIN_A2);}
else if(lectura1 == 30){
output_high(PIN_A2);
delay_us(2490);
output_low(PIN_A2);}
else if(lectura1 == 35){
output_high(PIN_A2);
delay_us(2905);
output_low(PIN_A2);}
else if(lectura1 == 40){
output_high(PIN_A2);
delay_us(3320);
output_low(PIN_A2);}
else if(lectura1 == 45){
output_high(PIN_A2);
delay_us(3735);
output_low(PIN_A2);}
else if(lectura1 == 50){
output_high(PIN_A2);
delay_us(4150);
output_low(PIN_A2);}
else if(lectura1 == 55){
output_high(PIN_A2);
delay_us(4565);
output_low(PIN_A2);}
else if(lectura1 == 60){
output_high(PIN_A2);
delay_us(4980);
output_low(PIN_A2);}
else if(lectura1 == 65){
output_high(PIN_A2);
delay_us(5395);
output_low(PIN_A2);}
else if(lectura1 == 70){
output_high(PIN_A2);
delay_us(5810);
output_low(PIN_A2);}
else if(lectura1 == 75){
output_high(PIN_A2);
delay_us(6225);
output_low(PIN_A2);}
else if(lectura1 == 80){
output_high(PIN_A2);
delay_us(6640);
output_low(PIN_A2);}
else if(lectura1 == 85){
output_high(PIN_A2);
delay_us(7055);
output_low(PIN_A2);}
else if(lectura1 == 90){
output_high(PIN_A2);
delay_us(7470);
output_low(PIN_A2);}
else if(lectura1 == 95){
output_high(PIN_A2);
delay_us(7885);
output_low(PIN_A2);}
else if(lectura1 == 100){
output_high(PIN_A2);
delay_us(8300);
output_low(PIN_A2);}
}//fin de cruce por cero
}//fin de while infinito
}//fin de main