Beruflich Dokumente
Kultur Dokumente
TEMPORIZADORES (TMRs) 1
Índice:
Introducción
TMR0
TMR1. Registro T1CON
TMR2. Registro T2CON
Ejercicios
Temporizadores/Contadores:
• TMR0
- registro T1CON -
LECCIÓN 9: MICROCONTROLADORES PIC. TEMPORIZADORES (TMRs) 3
- 8 bits
- Admite dos divisores de frecuencia: prescaler y postscaler
- Puede emplearse como base de tiempos para el modo PWM de los módulos CCP
- registro T2CON -
índice
LECCIÓN 9: MICROCONTROLADORES PIC. TEMPORIZADORES (TMRs) 4
EJERCICIOS
EJERCICIO 9.1
EJERCICIO 9.2
Debido a un accidente de circulación se han colocado cuatro señales luminosas a cada lado de la
calzada para que sirvan de advertencia a los conductores que circulan por esa ruta (ver figura).
El control del encendido/apagado se realiza mediante un microcontrolador PIC 16F877A y unos
drivers conectados a los terminales del puerto D, como indica la figura.
El sistema debe arrancar con todas las lámparas apagadas. Al apretar el pulsador conectado a
RA4, debe comenzar la siguiente secuencia de luces: L0, L2, L4, L6, L1, L3, L5 y L7, es decir,
primero las de la derecha y luego las de la izquierda. Al finalizar la secuencia, el ciclo debe
repetirse indefinidamente. El oscilador es XT de 4 MHz y el ciclo completo debe durar
(aproximadamente) 1 segundo.
EJERCICIO 9.3
Una variedad del ejercicio anterior consiste en hacer que las luces se enciendan por parejas y en
secuencia, es decir, L0 y L1, después L2 y L3 apagándose L0 y L1, después L4 y L5
apagándose L2 y L3, y finalmente L6 y L7 apagándose L4 y L5, para posteriormente repetirse
el ciclo. Para dar tiempo a ser observadas, el ciclo de encendido desde que se enciende la pareja
L0 - L1 hasta que vuelve a encenderse debe ser de (aproximadamente) 0,5 seg.
LECCIÓN 9: MICROCONTROLADORES PIC. TEMPORIZADORES (TMRs) 5
Escribir un programa en ensamblador que realice dicho control sabiendo que el oscilador es XT
de 4 Mhz.
EJERCICIO 9.4.-
Una variedad del ejercicio 9.3 es la siguiente: que cuando cada pareja de lámparas se encienda
no se apague la anterior. Cuando finalice la temporización de L6/L7 (con las otras 6 lámparas
también encendidas), deben apagarse todas un tiempo y comenzar de nuevo el ciclo.
EJERCICIO 9.5
- Cuando la parte inferior del portabrocas activa el sensor conectado al terminal RA2
(pone RA2 a "0"), se activa un relé que hace que la broca gire. Simultáneamente el
descenso del taladro debe ser lento.
- Cuando la parte inferior del portabrocas activa el sensor conectado al terminal RA3
(pone RA3 a "0"), se considera que la pieza está taladrada y el taladro debe subir con
rapidez manteniendo el giro de la broca.
relé del giro de la broca. Además, debe activarse una señal acústica que avise del fin de
la operación.
EJERCICIO 9.6
Para una determinada aplicación se necesita que los 8 segmentos de un display conectado al
puerto D de un microcontrolador PIC 16F877A parpadeen simultáneamente con una frecuencia
de 1 Hz (aproximadamente), es decir, 0,5 segundos encendidos y 0,5 segundos apagados. El
display debe iniciarse apagado y el parpadeo debe comenzar al apretar un pulsador conectado al
terminal RA4, como indica la figura. El parpadeo debe detenerse al apretar otro pulsador
conectado al terminal RB0 (ver figura). La inicialización del sistema se consigue mediante otro
pulsador conectado a la patilla MCLR (que no se analizará).
Escribir un programa en ensamblador que cumpla las especificaciones sabiendo que el oscilador
es de tipo XT de frecuencia 4 MHz y que los dos pulsadores no pueden apretarse a la vez. No es
necesario refrescar el perro guardián y, si se utilizan interrupciones, no es necesario salvar
registros mientras se atienden.
EJERCICIO 9.7
decir, 0,1 seg encendido y 0,1 seg apagado. El parpadeo debe detenerse al apretar otro pulsador
conectado a RA4. El oscilador es de cristal de cuarzo de 4 MHz.
EJERCICIO 9.8
Para una determinada aplicación se necesita un cronómetro que debe medir 3 segundos y que
debe operar de la siguiente forma: inicialmente, en el display debe verse el número "3". Al
apretar el pulsador conectado a RA4, y transcurrido 1 segundo, debe aparecer el número "2".
Transcurrido otro segundo, debe aparecer el número "1" y transcurrido otro segundo el número
"0". Cuando debería verse un hipotético "-1", el display debe apagarse y quedar dispuesto para
un nuevo ciclo.
EJERCICIO 9.9
EJERCICIO 9.10
Se desea gobernar con un microcontrolador PIC 16F877A las luces situadas sobre el techo de
una UVI móvil (L0, L1, ... L7). Estas luces están conectadas a través de sendos drivers a los
terminales del PORTD de forma que L0 está conectada a RD0, L1 está conectada a RD1 y así
sucesivamente hasta L7 que está conectada a RD7, como indica la figura. Se pretende que al
accionar el pulsador conectado a la patilla RA4 del microcontrolador (ver figura), las luces se
activen iluminándose en primer lugar L0 y L4 y una vez transcurridos aproximadamente 0,2
segundos L0 y L4 se apaguen y se iluminen L1 y L5 para que, transcurridos otros 0,2 seg, se
apague L1 y L5 y se enciendan L2 y L6. Tras otros 0,2 seg. deben apagarse L2 y L6 y
encenderse L3 y L7 de forma que, tras estar otros 0,2 seg. encendidas, el ciclo finaliza y deben
encenderse de nuevo L0 y L4. De esa forma se obtiene, mirando desde encima, un efecto visual
de movimiento de luz de izquierda a derecha en las luces delanteras y de derecha a izquierda en
las traseras. El oscilador es de cristal de cuarzo de 4 MHz.
EJERCICIO 9.11
EJERCICIO 9.12
LECCIÓN 9: MICROCONTROLADORES PIC. TEMPORIZADORES (TMRs) 9
Se desean controlar con un microcontrolador PIC 16F877A las luces de avería de un automóvil
(los cuatro intermitentes parpadeando simultáneamente) de forma que el ciclo completo dure 1
seg., es decir, aproximadamente 0,5 seg encendidos y 0,5 seg apagados. El parpadeo debe
comenzar cuando se apriete un determinado pulsador. El oscilador es de cristal de cuarzo de 4
MHz.
EJERCICIO 9.13
Para una determinada aplicación es necesario generar un parpadeo de aproximadamente 0,5 seg.
(es decir, 0,25 seg. encendido y 0,25 seg. apagado) en un diodo LED conectado al terminal RB3
de un microcontrolador PIC 16F877A, como se puede observar en la figura.
Dicho parpadeo debe comenzar al apretar el pulsador conectado al terminal RA4. Una vez
comenzado, el pulsador no tiene ningún efecto. El parpadeo se detiene mediante otro pulsador
externo conectado al terminal de reset (MCLR) del PIC (no se analizará). La frecuencia del
oscilador es de 1 MHz.
EJERCICIO 9.14
Se desea que cuando se apriete el pulsador conectado a RA4 (ver figura), los LEDs conectados a
PORTD, inicialmente apagados, realicen el barrido indicado, es decir, primero enciende el
conectado a RD7, tras 20 ms enciende también el conectado a RD6, y así sucesivamente hasta
encender los 8. Una vez transcurridos otros 20 ms (con todos encendidos) deben comenzar a
apagarse sucesivamente, es decir, en primer lugar se apaga el conectado a RD7, tras 20 ms se
apaga también el conectado a RD6 y así sucesivamente hasta apagarse todos. Transcurridos
otros 20 ms, el sistema debe repetir el ciclo si se aprieta de nuevo el pulsador. El oscilador es de
4 MHz.
EJERCICIO 9.15
Se desea que, cuando se apriete el pulsador conectado a RA4, en los LEDs conectados a
PORTD se realice un barrido de izquierda a derecha seguido de otro de derecha a izquierda,
como indica la figura, estando en cada situación durante 30 ms. Una vez finalizadas las dos
secuencias, el sistema debe quedar listo para repetirlas si se vuelve a apretar el pulsador. El
oscilador es de 4 MHz. Inicialmente las luces deben estar apagadas.
EJERCICIO 9.16
Transcurrida una décima de segundo, debe verse en el display el "9". Transcurrida otra décima
de segundo, el "8" y así sucesivamente. Cuando en el display aparezca el "0", debe permanecer
encendido y simultáneamente activarse una bocina (indicadora del final del partido) conectada
al terminal RD7 durante 1 segundo, transcurrido el cual, el sistema debe quedar listo para un
nuevo ciclo.
LECCIÓN 9: MICROCONTROLADORES PIC. TEMPORIZADORES (TMRs) 11
EJERCICIO 9.17
Para aumentar el nivel de ventas, un comerciante presenta una oferta que anuncia mediante un
rótulo rectangular de 1m x 0,8 m situado en el escaparate de su tienda. Para atraer la atención,
coloca en el perímetro del rótulo 8 bombillas cuyo encendido/apagado se controla (a través de
drivers) con los terminales del PORTD de un MCU PIC 16F877A, como indica la figura.
Se desea que inicialmente las 8 bombillas estén apagadas y que, al apretar el pulsador conectado
a RA4, se enciendan en secuencia y en el sentido de las agujas del reloj durante 0,5 seg.
aproximadamente (deben llegar a encenderse las 8 bombillas). Una vez finalizado este ciclo,
deben parpadear las 8 simultáneamente durante unos 4 seg. aproximadamente, transcurridos los
cuales volverán a la secuencia y así indefinidamente. El oscilador es de cristal de 4 MHz.
EJERCICIO 9.18
Se desea realizar un pequeño juego electrónico basado en un MCU PIC 16F877A. Se trata de
acertar qué LED, de entre los cuatro conectados a los terminales RB3 - RB0, permanecerá
encendido tras apretar el pulsador conectado al terminal RA4. En cada momento debe de estar
encendido solamente uno de esos cuatro LEDs, pero el jugador no debe de saber cuál es. Al
apretar dicho pulsador, quedará encendido uno de ellos. La frecuencia del oscilador es de 4
MHz.
LECCIÓN 9: MICROCONTROLADORES PIC. TEMPORIZADORES (TMRs) 12
EJERCICIO 9.19
EJERCICIO 9.20
Se desea que cuando se apriete el pulsador conectado a RA4 se realice un barrido de izquierda a
derecha seguido de otro de derecha a izquierda, como indica la figura, estando en cada situación
durante 30 ms. Una vez finalizadas las dos secuencias, el sistema debe quedar listo para
repetirlas si se vuelve a apretar el pulsador. El oscilador es de 4 MHz. Inicialmente las luces
deben estar apagadas.