Académique Documents
Professionnel Documents
Culture Documents
REGISTRO OPTION
El registro OPTION controla el modo de funcionamiento del TMR0.
REGISTRO OPTION
RBPU
INTDEG
T0CS
T0SE
PSA
PS2
PS1
DESCRIPCION DE BITS:
Bit7:
Bit6:
INTEDG Flanco/Interrupuccin.
1 = RB0/INT Flanco ascendente
0 = RB0/INT Flanco descendente
Bit 5:
Bit 4:
Bit 3:
PS0
frecuencia)
Divisin del
TMR0
Divisin
del WDT
1/1
1/2
1/8
1/4
1/16
1/8
1/32
1/16
1/64
1/32
1/128
1/64
1/256
1/128
REGISTRO INTCON
Los bits de este registro controlan las interrupciones internas del
TMR0.
REGISTRO INTCON
GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
R/W Reset
Bit 7: GIE
Habilitacin
R/W
General de
interrupciones.
Descripcin
1 = Todas las Interrupciones
activadas
0 = Todas las Interrupciones
desactivadas
Bit 6: EEIE
Int. de
Perifricos
R/W
1 = Activada
0 = Desactivada
Bit 5: T0IE
Interrupcin
del TMR0
R/W
1 = Activada
0 = Desactivada
Bit 4: INTE
Int. Externa
RBO
R/W
1 = Activada
0 = Desactivada
Bit 3: RBIE
Int. por PORTB R/W
RB4:RB7
1 = Activada
0 = Desactivada
Bit 2: T0IF
Bandera del
TMR0.
1 = TMR0 desbordado.
0 = No se ha desbordado
Bit 1: INTF
Bandera RB0/INT
Bit 0: RBIF
Bandera RB4:RB7
R/W
R/W
R/W
Temporizaciones
Algunas de las cosas que debemos tener en cuenta.
Se puede utilizar el oscilador interno del PIC o utilizar un externo de
hasta
20
Mhz.
El
registro
llamado
TMR0,
es
un
Temporizador/Contador de 8 bits, que como es lgico cuenta en
binario y en forma ascendente es decir... de 0x00 a 0xFF, lo
interesante de este registro es que cuando ocurre un
desbordamiento, o sea, pasa de 0xFF a 0x00, el registro INTCON la
bandera T0IF se pone en 1, y produce una interrupcin.
Los Bit's que estn escritos con T0SE, T0CS, PSA, PS2, PS1, PS0 son
configurables en el Registro OPTION, el Bit T0IF es el Bit2 del
registro INTCON (la bandera que se altera cuando el TMR0 se
desborda).
El registro TMR0 puede trabajar de dos modos distintos, ya sea como
temporizador o bien como contador el cual se selecciona en T0CS
(Bit5 del registro OPTION).
En modo Temporizador: El TMR0 se incrementa con cada Ciclo de
Instruccin (Fosc/4) y cuando el registro se desborde provocar
una interrupcin.
En modo Contador: El TMR0 se incrementar con cada pulso que
ingrese por el pin RA4/T0CKI, y por supuesto, cuando se desborde
producir la interrupcin. T0SE es el Bit4 del Registro OPTION, en l
se selecciona el flanco con el cual se incrementar el TMR0 cuando
haya un pulso por RA4. Este pin debe definirse como entrada.
EJERCICIOS PREVIOS
Ejercicio 1. Calcular la mayor temporizacin que se puede obtener
haciendo uso del registro TMR0.
Ejercicio 2. Calcular los
temporizacin de 50 ms?.
valores
del
TMR0
para
tener
una
TRABAJO DE LABORATORIO:
Puntos 1, 2 y 3 solo en el simulador.
Punto 4 en el protoboard.
1. Implemente el programa 1 y la figura 1. Mediante el osciloscopio virtual
observe la seal generada. Mida el periodo. Es el esperado? Cules
pueden ser las razones para no obtener los valores calculados?
2. Analizar detenidamente el cdigo del programa 1, comentar la finalidad
de las variables M, K. Comprobar que los valores de los registros
INTCON y OPTION sean los correctos para que mdulo TMR0 acte
como temporizador.
3. El Timer TMR0 como contador. Modifique el progrma 1, los
valores de los registros INTCON y OPTION con un preescalar
de para el TMR0, para que el timer TMR0 acte como
contador, segn el ejericio 3. Simule en Proteus utilizando el
circuito de la figura 2. Accione y cuente el nmero de veces que
acciona S1 hasta que se prenda el LED o se apague el LED.
Cuntos pulsos necesito?.
Si el TMR0 en el programa est fijado en 254 y el registro TMR0
se desborada al pasar de 255 a 0, es decir necesita 2 pulsos y
ocurre la interrupcin (y el LED debe cambiar de estado), est
cumpliendo con lo indicado?. Explique.