Vous êtes sur la page 1sur 5

Uso de COMPARADOR en el PIC 12F675

Se desean probar tres casos: a) Como comparador con Vref externa; b) Idem con Vref
interna; c) Idem b) con histresis.
a) Para usarlo como comparador con Vref externa, deben usarse los pines 6 (CIN-),
7 (CIN+) y 5 (COUT). Las dos primeras son entradas analgicas; COUT es una salida
digital que depende de las entradas: si la tensin aplicada a CIN+ es mayor que la
tensin aplicada a CIN-, luego COUT = 1. Si CIN+ < CIN-, COUT = 0.
Debido a que hay ocho formas distintas de usar el comparador, es necesario
configurarlo segn la forma que se desee usar. Para ello, es necesario estudiar el SFR
dedicado al comparador, que se llama CMCON y que se encuentra en la direccin 19h
de los SFR. Si bien la funcin de comparacin es parecida en todos los PICs que la
poseen, es necesario consultar la hoja de datos especfica del 12F675 para no cometer
algn error que luego se traduce en un mal funcionamiento del comparador. El registro
CMCON para el 12F675 tiene los siguientes bits de configuracin:

De este sencillo cuadro extrado de la hoja de datos de desprende que la mayor atencin
se debe prestar a los bits de modos de comparacin, es decir los bits 2, 1 y 0, indicados
como CM2:CM0 en la figura anterior.
Con estos tres
bits se pueden
configurar 8 modos de comparacin, algunos para referencia externa de tensin
y otros para referencia
interna.
Por ejemplo, usando una referencia externa de
tensin, se colocan estos tres bits
en 001, lo que da
el Comparador
con salida, uno
de los casos ms
simples para probar el comparador.
Para poder comprobar este caso,
se arma el circuito de la figura:
En este esquema se ve que la Vref se logra
con el divisor de tensin formado por R1 y
R2, de 10 K cada una, por lo que la Vref ser
de 2,5 V. Luego, si la tensin aplicada con
RV1 es mayor a 2,5 V, el led enciende, dado
que COUT=1; si por el contrario es menor, el
led se mantiene apagado.

El programa usado (lenguaje PBP) para la simulacin en Proteus es el de la siguiente


figura:

b) Para usarlo como comparador con Vref interna


Una de las pocas desventajas que tiene el 12F675, es que slo dispone de 6 pines I/O
para las mltiples funciones que puede realizar, luego si no se desea perder un pin para
ingresar un Vref externa, lo ideal es utilizar la excelente posibilidad de dar esta
referencia por software. Para ello, se debe comprender bien el uso del registro VRCON,
que se encuentra en la direccin 99h de los SFR (ver hoja de datos del 12F675) y que se
puede apreciar en la siguiente figura:

Para facilitar los clculos, es interesante tener presente esta tabla, que es vlida
obviamente si se alimenta todo con 5 V regulados:
De todo lo anterior
entonces, si se desea
usar una referencia
interna de tensin
para un circuito
similar al planteado
en el punto a), se
debern configurar
los Registros de la
siguiente manera:
CMCON=00000011
lo que significa:
bits 7 y 5: no configurables (quedan
en cero).
bit 6 (es slo lectura)
bit 4: si se deja en
cero, como la nica posibilidad de ingreso de Vref interna es por Vin+ (en el caso a) la
podamos ingresar tambin en Vin-), entonces ahora ser COUT = 1 si Vin- < Vref
int=Vin+ y COUT = 0 si Vin- > Vref int=Vin+.
bit 3: Se adopta el caso ms sencillo, no multiplexar luego =0.
bits 2,1 y 0= 011 se adopta el modo del cuadro N 5 de la figura de modos del
comparador, o sea Comparador con salida y referencia interna. El otro registro debe
ser :
VRCON = 10101100, lo que significa:
bit 7 = 1: => se usa referencia interna (VREN=1).
bits 6 y 4: no configurables (quedan en cero)
bit 5 =1: => se usa rango bajo (VRR=1)
bits 3,2,1 y 0: => 1100, que corresp. segn la tabla a 2,5V para rango bajo y Vdd=5V
El circuito de prueba usado en proteus mas el programa en PBP son los de las figuras
siguientes.

c) Para usarlo como comparador con Vref interna e histresis