Funciones Especiales; Registro De Configuración; Oscilador; Power On Reset Por - EDUPIC 16F628 Manual Del Usuario

Tabla de contenido

Publicidad

12. Funciones especiales:

12.1REGISTRO DE CONFIGURACION:
El 16F628 cuenta con un registro de configuración de 14 bits, que solamente puede configurarse durante el ciclo de
programación del chip. Su dirección es la 2007H. El valor de los bits del registro de configuración controlan la operación de diversas
funciones especiales: la frecuencia del oscilador, el WATCH DOG, el POWER ON TIMER, el MASTER CLEAR, el BROWN OUT
RESET, la programación en LOW VOLTAGE PROGRAMMING y la función CODE PROTECT para memoria de datos (EEPROM)
y para memoria de código. La línea estándar que usualmente se usa como header en los archivos fuente para programar el registro es:
_config _XT_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF &_MCLRE_ON
REGISTRO CONFIGURACION (DIRECCION 2007H)
CP
Bit 13
12.2 POWER ON TIMER
Al seleccionar en el registro de configuración la opción power up timer, y con el objeto de permitir la estabilización del
voltaje de alimentación, se mantiene el pulso de reset activo hasta después de 72 ms después de haber conectado la energía. En el
caso que se esté usando un oscilador de cristal, se genera automáticamente un retraso adicional de 2048 pulsos de reloj, antes de que
el pulso de reset termine. Estos retrasos permiten la estabilización del cristal antes de que el microcontrolador inicie su operación.
12.3 BROWN OUT RESET
El 16F628 integra un novedoso circuito de protección automático, el cual genera un RESET al detectar picos de
voltaje en la fuente de alimentación Vdd de 5v. Estos picos son generalmente inducidos a través del eliminador de baterías, por efecto
de variaciones bruscas del voltaje de alimentación 127 VCA ó bien por ruido inducido a través de los cables que conectan las
entradas y salidas digitales del microcontrolador, (cuando éstas no se encuentran adecuadamente aisladas) ó sensores o actuadores
remotos. La función es especialmente útil en ambientes industriales y garantiza la operación continua del microcontrolador. Para
activar esta función especial se usa el comando _BOREN_ON_. El bit 0 (BOR) del registro especial PCON es una bandera que
indica: 0=ocurrió un reset BROWN OUT RESET y, 1=no ocurrió un BOR.
12.4 WATCH DOG TIMER
El WDT, es un circuito de vigilancia que permite generar un pulso de reset automático en caso de que el 16F628 se
salga de operación por alguna inestabilidad en el voltaje de alimentación en su fuente de poder ó alguna falla en la ejecución del
programa. La función es sumamente importante para evitar que el sistema necesite intervención manual externa para dar reset al
procesador. El WDT funciona como un contador de eventos cada 18 ms, el cual genera un reset al sistema cuando la cuenta llega a un
máximo y genere un TIMEOUT.
La activación del WDT, debe de hacerse desde el registro de configuración,. Debe recordarse que el registro de
configuración no puede accesarse desde el programa ejecutable del microcontrolador, sino directamente debe programarse en el
programa fuente. (ver ejemplo en 13.1)
Además, para completar la configuración de la función WATCH DOG, desde el programa ejecutable, el bit 3 del
registro OPTION, debe de programarse como PSA=1, para asignar el valor del preescalador al WDT. Adicionalmente, en los bits
PS0, PS1, PS2 del registro OPTION debe escribirse, desde el programa, un valor entero del 0 al 7. Cualquier valor diferente a 0,
eleva el período de activación del WDT a 18 milisegundos, multiplicado por 2 elevado a ese valor, de acuerdo a la tabla mostrada en
la figura. Por ejemplo, si el valor de los bits PS0, PS1 y PS2 es de 5, el período de TIMEOUT será de 18ms x 32 = 576 ms. El
TIMEOUT máximo para el WDT es de 2.3 segundos.
Una vez que el WDT está activado, a través de la instrucción CLRWDT, se reinicia desde 0 su período de activación.
Entonces dicha instrucción debe de ejecutarse regularmente dentro de la malla principal en el programa, con un período que debe de
ser MENOR al TIMEOUT programado para el WDT. Cuando por alguna causa de malfuncionamiento del 16F628 el programa se
sale de su operación normal y por consecuencia la instrucción CLRWDT no se ejecuta, entonces, al llegar a un máximo la cuenta en
el WDT (TIMEOUT), el circuito genera automáticamente un RESET que reinicia la operación del 16F628.
12
CPD
LVP BOREN MCLRE FOSC2 PWRTE WDTE F0SC1 FOSC0
EDUPIC 16F628 Punto Flotante, S.A. 2010
Bit 0

Publicidad

Tabla de contenido
loading

Tabla de contenido