Está en la página 1de 17

ELECTRÓNICA Y AUTOMATIZACIÓN

INDUSTRIAL

LABORATORIO N°12

“Programación con TIMER0, TIMER1 y TIMER2”

CURSO: MICROCONTROLADORES

DOCENTE: ROMERO MORANTE, Julio

INTEGRANTES:
CCENTE HUAMAN, Gedion
MORALES SALVATIERRA, Early A.
ZORRILLA ALVARADO, Joel

Fecha de realización: 25 de mayo


Fecha de entrega: 1 de mayo

“AÑO DE LA CONSOLIDACIÓN DEL MAR DE


GRAU”

2017-1
Programación con TIMER0, TIMER1 Y TIMER2
1. Introducción......................................................................................................................3
2. Objetivos...........................................................................................................................4
3. Fundamento teórico........................................................................................................4
4. Desarrollo..........................................................................................................................6
4.1 Timer 0.............................................................................................................................6
4.2 Timer 1.............................................................................................................................9
4.3 Timer 2...........................................................................................................................13
5. Observaciones...............................................................................................................17
6. Conclusiones..................................................................................................................17
7. Bibliografías....................................................................................................................17
1. Introducción
Un temporizador contador PIC es un registro que aumenta su valor en una unidad con
cada 4 ciclos de reloj al cual se encuentre funcionando el microcontrolador PIC, si por
ejemplo la frecuencia del oscilador es de 4MHz, entonces el ciclo de trabajo del
microcontrolador PIC será de 1us, por lo que el temporizador contador PIC aumentará
su valor de uno en uno en cada microsegundo; por ejemplo cuando el temporizador
aumenta su valor en 10 unidades habrán transcurrido 10us.
El temporizador contador PIC es utilizado para obtener medidas de tiempos muy
precisas, de ahí que se le da el nombre de temporizador, en este caso el temporizador
contador PIC funciona con el reloj del sistema; pero también puede ser utilizado para
realizar conteos, por lo que también se le llama contador, en este caso el temporizador
contador PIC ya no aumenta su valor de uno en uno en cada ciclo de trabajo, sino que
lo hará mediante el flanco de subida o el flanco de bajada de alguna señal que llegue a
un pin del PIC, estos pines son identificados como TxCKI donde x es el número
temporizador contador PIC que será usado como contador.
2. Objetivos
 Comprender la operación y configuración de los TIMERS del
microcontrolador PIC 16F877A.
 Aplicar el set de instrucciones de un microcontrolador PIC de gama media.
 Usar las herramientas de MPLAB para verificar el funcionamiento de las
aplicaciones planteadas.

3. Fundamento teórico
Los microcontroladores son circuitos electrónicos integrados, que tienen la capacidad
de ser programables y ejecutar las órdenes grabadas en su memoria.

Figura 1. Distribución del microcontrolador


La memoria RAM del microcontrolador está dividida en 4 bancos:

- Banco 0
- Banco 1
- Banco 2
- Banco 3

Para poder configurar el microcontrolador, se disponen de registros especiales, los


cuales tienen asignados las primeras 32 direcciones de cada banco, para ello la tabla
de distribución de bancos del microcontrolador (figura 2).

Figura 2. Distribución de bancos del microcontrolador


MPLAB es un ambiente de desarrollo integrado (IDE), creado por la compañía
Microchip Technology. Este entorno ayuda al usuario a desarrollar proyectos basados
en microcontroladores PIC.
Con MPLAB se pueden realizar las siguientes tareas: edición, programación y
ensamblaje.

4. Desarrollo
4.1 Timer 0
4.1.1 Timer0 como temporizador sin preescalamiento.
Figura N°3 Timer0 como temporizador sin preescalamiento.

4.1.2Timer0 como contador sin preescalamiento.


Figura N°4 Timer0 como contador sin preescalamiento.
4.1.3 Timer0 como contador con preescalamiento.
Figura N°5 Timer0 como contador con preescalamiento.

4.2 Timer 1
4.2.1 Timer1 como temporizador sin preescalamiento.
Figura N°6 Timer1 como temporizador sin preescalamiento
4.2.2 Timer1 como temporizador con preescalamiento.
Figura N°3 Timer1 como temporizador con preescalamiento.
4.2.3 Timer1 como contador sin preescalamiento.
Figura N°3 Timer1 como contador sin preescalamiento.
4.2.4 Timer1 como contador con preescalamiento.

Figura N°3 Timer1 como contador con preescalamiento.


4.3 Timer 2
4.3.1 Timer2 sin preescalamiento y sin post - escalamiento.

Figura N°3 Timer2 sin preescalamiento y sin post - escalamiento.


4.3.2 Timer2 con preescalamiento y sin post - escalamiento.

Figura N°3 Timer2 con preescalamiento y sin post - escalamiento.


4.3.3 Timer2 sin preescalamiento y con post - escalamiento.
Figura N°3 Timer2 sin preescalamiento y con post - escalamiento.
4.3.4 Timer2 con preescalamiento y con post - escalamiento.
Figura N°3 Timer2 con preescalamiento y con post - escalamiento.
5. Observaciones

 Se observó que la lógica para configurar algunos aspectos del contaje y


temporización tienen una lógica inversa por ejemplo si quiere activar el pre
escalamiento el bit PSA debe de estar en 0 y si se quiere desactivarlo se pone a 1 o si
se quiere considera el flanco de bajada y el flanco de subida se considera 1 y 0
respectivamente en el bit T0SE.

 Para obtener pulsos de una determinada frecuencia lo recomendable es hacer un


cálculo de los valores más aproximados que deben de tomar el pre escalamiento y el
almacenamiento que se le da a TMR0.

6. Conclusiones

 Es posible realizar retardos sin necesidad de hacer códigos de anidamiento, esto


haciendo uso de los registros que permiten hacer temporizaciones.

 Se puede obtener la temporización que deseemos siempre y cuando este en el rango


que es el conteo máximo del timer0 cuando se activa el pre escalamiento por 255
que es el número máximo que puede almacenar el TMR0 por 200ns que es la
equivalencia de un ciclo de instrucción.

 Existen varios registros que permiten temporizar y contar, cada uno de ellos requiere
una configuración adecuada para ser usado en el código, de igual forma existe bits de
configuración en cada registro, por ejemplo si se quiere considerar la habilitación del
pre escalamiento, la selección de la forma de operación como conteo o
temporización, por el tipo de flanco (subida o bajada) se tiene que definir a 1 o 0
cada bit.

 Se logró observar la variación de los periodos y frecuencias de los pulsos generados


por la temporización y contaje esto nos permite ir probando y demostrando la
validez del código y sobre todo desarrollar más el código de acuerdo a nuestras
necesidades.

7. Bibliografías
- Palacios, Enrique - Remiro, Fernando y López, Lucas. Microcontrolador
PIC16F84: Desarrollo de proyectos. Segunda edición. Coedición Alfaomega RA-
MA.

También podría gustarte