configuracion pic 12f629

estoy haciendo mis pequeños pasos por programar.en basic quiero saber que configuracion tengo que poner para un pic 12f629 .en los pic 16f877a al compilarlos y configurar en pickit2 pongo en la ventana el numero 2f42 y en el pic 16f628a el numero 2150 para despues seguir regrabandolos, pero no se que numero de configuracion corresponde al pic 12f629 ...
 

D@rkbytes

Moderador
Eso preferiblemente se define en la palabra de configuración, o sea en la cabecera del programa.
Ya con eso el compilador obtendrá los bits correspondientes para el registro CONFIG
Pero eso depende del tipo configuración que requieras, ya que son varias.

Como no mencionas el tipo de configuración que requieres, será imposible saber el "número" que necesitas para el PK2.
 
Exactamente, esos "números" no son aleatorios, se definen según las funciones que ocupas, cómo BOR, watch dog timer, si el pin de reset operara como pin de entrada, depende del compilador como declararlas, si quieres ir a lo manual está la hoja de datos.
 

D@rkbytes

Moderador
Yo creo que él piensa que esos "números" son únicos, o sea un número mágico para cada PIC.
Sin embargo, como se ha dicho, eso no es así.

Lo paso a explicar de una manera sencilla y con un ejemplo de configuración para el PIC en cuestión.
La configuración que usaré será la más común.

Empecemos por ver los bits del registro CONFIG
12F629 CONFIG Register.jpgEn la imagen de arriba podemos ver que el registro CONFIG para el PIC12F629 contiene 14 bits. (13-0)

Ahora vamos a ver para qué sirve cada FUSE y sus respectivos bits de configuración.
12F629 CONFIG Bits.jpg
Ya conociendo para qué sirve cada FUSE, podremos obtener el valor que tendrá la palabra de configuración.

Siempre debemos empezar desde el bit más significativo, o sea, el bit 13.
En éste caso los bits 13 y 12 corresponden a la calibración del Bandgap.
Usaré el Bandgap alto, así que pondré los bits 13 y 12 en 1.

Los bits 11 a 9 se menciona que no son implementados y serán leídos como 0.
Por lo tanto esos bits por defecto deberán quedar en 0.

Vamos por el bit 8 correspondiente a la protección de la memoria de datos.
Dejaré la memoria de datos sin protección, así que el bit 8 tendrá el valor 1.

El bit 7 corresponde a la protección del programa.
No protegeré el programa, así que el bit 7 tendrá el valor 1.

El bit 6 corresponde al Brown-out Detect (Reset por bajo voltaje)
La mayoría de veces siempre lo dejo activo, salvo ciertas circunstancias lo desactivo.
Así que en éste caso lo dejaré activo y el bit 6 tendrá el valor 1.

El bit 5 corresponde al Master Clear (Reset)
En éste PIC cuando se desactiva el MCLR, nos permite usar el pin de reset como entrada.
La hoja de datos dice que podrá ser digital I/O, no he verificado si también puede ser salida.
Yo lo quiero como reset, así que el bit 5 tendrá el valor 1.

El bit 4 corresponde al Power-up Timer.
Yo siempre recomiendo activarlo porque así se asegura que el programa se ejecute hasta que el voltaje de alimentación sea estable.
Así que el bit 4 tendrá el valor 0.

El bit 3 corresponde al Watchdog Timer (Perro Guardián)
Este bit es muy importante y bastante útil, pero su explicación es algo extensa.
Yo no lo usaré, así que el bit 3 tendrá el valor 0.

Los bits 2 al 0 corresponden al tipo de oscilador, que como se puede apreciar son varios.
Yo usaré el oscilador interno con posibilidad de usar los pines correspondientes como E/S.
Así que para los bits 2-0 se tendrá el valor 100.

Entonces, si concatenamos todos los bits, obtendremos el siguiente valor binario: 11000111100100
Si ese número binario lo convertimos a hexadecimal, será: 31E4 (Nuestro "Número mágico")
Que vendría siendo el valor que deberá tener el registro CONFIG.

Para confirmar lo anterior, lo podemos verificar con el Configuration Word Editor del PICkit.
Configurator Word Editor PK3.jpg

Bien, espero que esta información sea de utilidad y que me haya sabido explicar.
Sin embargo, como mencioné anteriormente, escribir la palabra de configuración en el programa, es más sencillo.

Saludos.
 
Última edición:
Arriba