Está en la página 1de 3

Significado y Selección de Fuses

Selección del oscilador

Sirve para adaptar el circuito interno del oscilador según el componente externo que se
usará como fuente del reloj del sistema.

 _LP_OSC = Oscilador LP. Se usa cuando el PIC va a trabajar con un cristal de


baja potencia.
 _XT_OSC = Oscilador XT. Se usa cuando el PIC trabajará con un cristal o
resonador de frecuencias iguales o menores que 4 MHz. Es la opción que
usaremos a lo largo del curso.
 _HS_OSC = Oscilador HS. Se usa cuando el PIC operará con un cristal o
resonador de alta frecuencia, iguales o mayores que 4 MHz.
 _RC_OSC = Oscilador RC. Se usa cuando el PIC va a operar con un circuito
RC. Es útil para sistemas de bajo costo aunque con frecuencias bajas y de menor
nivel de estabilidad. Es la opción por defecto.

El Watchdog

El Watchdog o WDT es un temporizador que una vez alcanzado su tiempo límite puede
provocar un reset en el pic. El watchdog es un simple contador, que se puede reiniciar
para que no llegue a desbordarse de modo que no se produzca el reset.

El watchdog está habilitado por defecto y se debe reiniciar con la instrucción de


ensamblador clrwdt. En el programa el watchdog se inhabilita poniendo la máscara
_WDT_OFF.

 _WDT_ON = WDT habilitado. Opción por defecto.


 _WDT_OFF = WDT inhabilitado.

Power Up Timer

Cuando el circuito Power-up está habilitado temporizará cerca de 72 ms después de


conectada la alimentación del PIC, manteniéndolo en estado de reset. Luego de este
tiempo el PIC empezará a ejecutar el programa. Es útil para esperar a que la tensión de
alimentación se estabilice.

 _PWRTE_ON = El temporizador Power-up está habilitado.


 _PWRTE_OFF = El temporizador Power-up está inhabilitado. Opción por
defecto.

Protección de Código

Se representa por el bit CP. Este fuse pone protección a la memoria de programa. Como
sabemos, es posible leer el programa contenido en el PICmicro mediante el dispositivo
programador (JDM por ejemplo). Si activamos este fuse, dicha lectura será impedida.
También implica renunciar a la característica de verificación del programa; así que si lo
vas a activar, no olvides reconfigurar el software de programación.

 _CP_OFF = Protección de código inhabilitada. Es la opción por defecto.


 _CP_ON = Protección de código habilitada (PIC16F84A).
 _CP_ALL = Protección de código habilitada (PIC16F87xA).

Escritura en memoria de programa

Se representa con los bits WRT1 y WRT0. Los PIC16F87xA ofrecen la posibilidad de
escribir en su memoria de programa Flash en tiempo de ejecución. Sin embargo, esto
algunas veces puede resultar riesgoso. Así que para dotarle se seguridad adicional al
programa este fuse permite configurar qué área de memoria quedará protegida y qué
área no. El efecto no es siempre el mismo en los PIC16F877A/876A que en los
PIC16F874A/F873A: no es lo mismo la mitad de la memoria del PIC16F876A que la
mitad de memoria del PIC16F873A.

 _WRT_OFF = No hay protección de la memoria de programa. Opción por


defecto.
 _WRT_256 = Se protegen las primeras 256 palabras de la memoria de programa.
 _WRT_1FOURTH = Se protege el primer cuarto de la memoria de programa.
 _WRT_HALF = Se protege la primera mitad de la memoria de programa.

Modo ICD

Se representa con el bit DEBUG. Con el módulo ICD (In Circuit Debugger) habilitado,
los PIC16F87xA monitorizan el estado de todos sus elementos hardware internos. Los
resultados serán almacenados en un área reservada de la memoria RAM y luego
enviados a una computadora a través de los pines RB6 y RB7. La computadora recibirá
los datos mediante algún programa que soporte el modo ICD

Al habilitar el modo ICD se debe renunciar a los pines RB6 y RB7 como puertos de E/S
convencionales, a un nivel de pila y a algo de memoria RAM.

 _DEBUG_OFF = ICD inhabilitado. Opción por defecto.


 _DEBUG_ON = ICD habilitado, RB6 y RB7 se destinan al debugger.

Protección de la EEPROM interna

Se representa con el bit CPD. Sirve para proteger la memoria EEPROM interna de los
PIC16F87xA contra accesos mediante un dispositivo externo. Funciona similar a la
protección de la memoria de programa, esto es, podrá ser accedida normalmente por el
CPU en tiempo de ejecución, mas no, por ejemplo, por un programador de PICs.

 _CPD_OFF = EEPROM interna desprotegida. Opción por defecto.


 _CPD_ON = EEPROM interna protegida.

Programación en bajo voltaje


Se representa con el bit LVP. Los PIC16F87xA también ofrecen la posibilidad de ser
programados con una tensión igual a Vdd en el pin MCLR, en vez de los 12 V
acostumbrados. Éste es el modo de programación ICSP (In Circuit Serial Programming)
de bajo voltaje. Los pines RB6 y RB7 también deben ser sacrificados para uso exclusivo
del programador y además se les suma la presencia del pin RB3 como señal del modo
de programación. Dada esta interface, no debe sorprender que esta característica puede
ir muy de la mano con el depurador ICD. Sin embargo, para la programación en bajo
voltaje no se requiere de herramientas especializadas.

Habilitado este fuse, los pines RB7, RB6 y RB3 no responderán como puertos de E/S
típicos.

 _LVP_ON = Programación en bajo voltaje habilitado. Opción por defecto.


 _LVP_OFF = Programación en bajo voltaje inhabilitado.

Brown Out Reset

El circuito Brown Out del PIC detecta las caídas en la tensión de alimentación y puede
generar un reset ante tal evento para evitar que el PIC siga trabajando con alimentación
insuficiente. En los PIC16F el valor umbral típico del circuito Brown out es de 4V. De
hecho, a tensiones aceptablemente por debajo de este nivel de tensión el PIC todavía
puede tener una operación correcta pero no garantizada.

Si no se quiere correr el riesgo y se prefiere optar por que el PIC reinicie todo, se puede
activar este fuse mediante su bit de configuración BOREN o mediante su máscara
respectiva.

 _BODEN_ON = Brown out reset habilitado. Opción por defecto.


 _BODEN_OFF = Brown out reset inhabilitado.

También podría gustarte