Se llama comparador a un amplificador operacional en lazo abierto (sin re alimentación entre su salida y su entrada) y suele usarse para comparar una tensión variable con otra tensión fija que se utiliza como referencia.
En los microcontroladores se utilizan los registros CMCON y VRCON para la programación de los comparadores, a continuación se mostrara ambos registros (los registros que se mostraran pertenecen al PIC16F648A).
CMCON
Como podemos ver el registro CMCON utiliza 8 bits en total (7 - 0) cada uno cuenta con una función que veremos a continuación.
Bits 7 y 6 (C2OUT y C1OUT):
En estos dos bits del registro es donde se mostraran ya sea un 0 o un 1 dependiendo de si el voltaje de entrada y referencia que hallamos configurado. Si por ejemplo nuestro voltaje de referencia es mayor al de entrada entonces se pondrá un 1 en el bit, pero si por el contrario el voltaje de referencia es menor que el de entrada entonces se pondrá un 0.
Bits 5 y 4 (C2INV y C1INV):
Estos dos bits permiten invertir los bits 7 y 6, si se activan poniéndolos en 1 invertirán el resultado de los bits antes mencionados, si se ponen en 0 no se invertirá nada.
Bit 3 (CIS):
Este bit nos permite especificar que pines funcionaran como voltaje de referencia y cuales como voltaje de entrada (voltaje a comparar), esto dependerá de la configuración que elijamos, a continuación se especifica:
Bits 2, 1 y 0 (CM2 : CM0):
Estos bits son los encargados de configurar el modo de comparación que se utilizara, a continuación las combinaciones posibles con sus respectivos diagramas:
VRCON
Este registro se utiliza para configurar el voltaje de referencia en caos de que vallamos a utilizarlo internamente por el PIC.
Bit 7 ( VREN):
Este bit nos permite activar el voltaje de referencia interno, al ponerlo en 1 lo activamos y en 0 se encuentra desactivado.
Bit 6 (VROE):
Si activamos este bit podremos visualizar el voltaje de referencia interno también en el pin RA2.
Bit 5 (VRR):
Este bit nos permite elegir la formula que utilizaremos para calcular el voltaje de referencia que utilizaremos.
Bit 4:
Este bit no esta habilitado.
Bits 3, 2, 1 y 0 (VR 3:0):
Estos son los bits que utilizaremos para configurar el valor de el voltaje de referencia, el numero en binario que se ponga en estos cuatro bits debe ser convertido a decimal para utilizarlo en la formula.
Para calcular el voltaje de referencia interno utilizaremos una de las siguientes formulas, la que utilicemos dependerá de si colocamos un 1 o un 0 en el bit 5 (VRR) del registro VRCON.