Autor Tema: Calibrar oscilador para 10F206  (Leído 2288 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado simon365

  • PIC10
  • *
  • Mensajes: 16
Calibrar oscilador para 10F206
« en: 20 de Marzo de 2010, 14:37:50 »
Tengo el siguiente inconveniente, al quere cargar el programa al pic 10F206 por el Pickit2 me da error de configuracion del oscilador (OSCCAL no valido).

#include <10F206.h>            //pic a utilizar          
#fuses MCLR,NOWDT,NOPROTECT       //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz

#byte port_b=0x06 
#byte estado=0x03
#byte osccal=0x05
#use standard_io(B)


#define set_options(value) {#ASM \
MOVLW value \
OPTION \
#ENDASM}

#define set_osccal(value)

#define senal PIN_B3       //port_b,0   // Pin 5  GP0 entrada
#define rele PIN_B2       //port_b,1    // Pin 4  GP1 salida
#define dip2 PIN_B1       //port_b,2      // Pin 3   GP2
#define dip1 PIN_B0      //port_b,3     // Pin 8   GP3

 
             
 
void main(void)
{  int a,b,c;
 
  set_osccal(0b00000001);
  set_options(0b00000000);       // habil pull up y pin change GP0,1,3
  set_tris_b (0b00001000);      //portb GP0 entrada demas todos salida
  bit_clear(port_b,rele);                 //pongo a cero el rele
  b=0;
delay_ms(2000);
if(bit_test(estado,7)== 1){
                bit_clear(estado,7);
                a= port_b;
                c = a*4;
                b=a*3;
                if (b==0){
                    output_high(rele);
                    delay_ms(1000);
                    output_low(rele);           
                   }
                else if(b==1){         
                 output_high(rele);
                 delay_ms(2000);
                 output_low(rele);
                              }
                else if(b==2){         
                 output_high(rele);
                 delay_ms(3000);
                 output_low(rele);
                              }
                 else if (b==3){         
                 output_high(rele);
                 delay_ms(4000);
                 output_low(rele);
                              }
              }

else  {
sleep();
bit_clear(port_b,rele);
}
 }
He quitado las lineas de calibracion de oscal en el programa y nada.Si alguien paso por esto le agradeceria la ayuda.



Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Calibrar oscilador para 10F206
« Respuesta #1 en: 20 de Marzo de 2010, 15:15:31 »
hola, desconociendo el pic, diria yo q te hace falta especificar el fuse del oscilador a utilizar, que si es externo y a 4Mhz lo normal serial el fuse XT.
Saludos
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Calibrar oscilador para 10F206
« Respuesta #2 en: 20 de Marzo de 2010, 15:36:26 »
El #fuse es el INTRC

Creo que el PicKit2 debe tener la opción de leer el OSCCAL, al igual que el ICD2  :huh: Has buscado la opción?

Saludos
El papel lo aguanta todo

Desconectado simon365

  • PIC10
  • *
  • Mensajes: 16
Re: Calibrar oscilador para 10F206
« Respuesta #3 en: 23 de Marzo de 2010, 21:54:20 »
El 10F206 tiene un osc interno, lo que veo es en el registro OSCCAL es la calibracion del clock interno de 4Mhz y si quieres la salida por GP2.
Con el Pickit2 leo el clock, lo reconfigura con el nuevo valor pero no me carga el programa la memo del pic queda vacia.Poner manualmente el valor de 0 no lo toma.
En el Mplab todo anda ok con la simulacion pero no lo carga.