EL OSCILADOR EXTERNO
Todo microcontrolador requiere de un oscilador el cual es el encargado de definir la velocidad con la que se procesaràn las instrucciones. El PIC 16F84A tiene cuatro posibles configuraciones de oscilador:
LP: Cristal usado para bajo consumo de potencia
XT: Cristal de cuarzo estándar
HS: Cristal de alta velocidad
RC: Resistor/capacitor, ofrece menor precisión en el oscilador
En el capìtulo 4 ya vimos cómo conectar un cristal de cuarzo, a continuación se muestran los parámetros de configuración para cristales:
Donde C1 y C2 son los valores de capacitor que podemos usar en el circuito oscilador.
Si la aplicación que vamos a hacer no es exigente con la precisión ni la estabilidad de la frecuencia, podemos optar por usar una red RC como circuito oscilador, para ello usaremos el siguiente esquema:
Los valores de REXT recomendados por Microchip son desde 5kΩ hasta 100 kΩ; para CEXT se recomienda mayor a 20 pF. Como se puede apreciar, el pin 15 del PIC queda libre, este pin entrega en su salida oscilaciones con frecuencia igual a 1/4 de la frecuencia del oscilador RC.
Velocidad de ejecuciòn de un programa
Un microcontrolador ejecuta sus programas paso por paso, la unidad que mide el paso más básico es denominada ciclo de máquina y la velocidad con que se ejecuta está directamente relacionada con el oscilador de la siguiente manera:
Fo = F / 4,
Donde Fo es la frecuencia con la que trabaja el microcontrolador y F es la frecuencia del oscilador. Esto significa que por cada 4 oscilaciones ocurre un ciclo de máquina. Algunas instrucciones requieren de solo un ciclo de máquina para ejecutarsen pero otras pueden requerir más.
Otro parámetro importante derivado de la frecuencia es el tiempo que dura un ciclo de máquina, el cual está dado por la fórmula:
To= 1 / Fo
Ejemplo: Supongamos que un microcontrolador tiene un cristal de 4MHz, el programa se ejecutaría con una velocidad de Fo = 4MHz / 4 = 1MHz. Ahora, calculando el tiempo que duraría su ciclo de máquina se tiene To = 1 / 1MHz = 1us. En conclusión, con un cristal de 4MHz una instrucción básica tardará en ejecutarse un microsegundo.
LOS FUSIBLES
Son configuraciones de la forma de funcionamiento del microcontrolador, se transfieren al PIC cada vez que se graba un programa. El PIC 16F84A posee cuatro fusibles que son:
1. Oscilador (OSC): Le indica al PIC el tipo de oscilador que usará.
2. Perro Guardián (WDT): Permite autorresetear al PIC en caso de que quede en un bucle infinito.
3. Temporizador de encendido (PWRT): Se encarga de retardar la inicialización del PIC cuando se conecta a la fuente de alimentación, esto con el fin de garantizar que cuando el programa inicie el voltaje ya sea estable.
4. Protección de código (CD): Al habilitar esta función se impide que el programa grabado en el microcontrolador sea leído posteriormente.
Para indicarle al PIC qué fusibles usar, a través del lenguaje de programación se escribe una línea de código llamada palabra de configuración.
Ejemplo: __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
La anterior línea es una palabra de configuración escrita en lenguaje ensamblador y configura los fusibles así:
Tipo de oscilador que se usará: XT
Perro guardián: deshabilitado
Temporizador de encendido: habilitado
Protección de código: deshabilitada