You are on page 1of 14

S.E.I.T. S.E.P.

D.G.I.T

INSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

ASIGNATURA:
APLICACIONES DE MICROCONTROLADORES

PRÁCTICA 12:
TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.

PRESENTAN:
Castro Hernández Cesar Gerardo – 07560051.
López López Juan Ramiro - 07560553.
Rosas Villa Esmeralda - 07560419.

MC. Julio Cesar Gallo Sánchez.

OCTAVO SEMESTRE DE ING. ELECTRÓNICA

CD. LÁZARO CÁRDENAS MICH, A 19 DE MAYO DEL 2011.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

EXPLICACIÓN.

La Figura 1se muestra la conexión del microcontrolador con los botones y el LED los cuales
servirán para seleccionar la frecuencia y en el LED se observara.
Este circuito sencillo el cual fue implementado en la práctica, en el cual se encuentran dos
botones (Botón UP y Botón DOWN) conectados en serie a una resistencia de 4.7
Ω ca
K da
uno, los cuales a su vez se encuentran conectados a PTA0 y PTA1 respectivamente. De esta
manera el microcontrolador MC68HC908QB8 tiene configurado el Puerto A como entrada y
PTB 5 como salida conectado a un LED que hace la función inversa.
Se realizar un programa que genere una señal cuadrada de frecuencia variable de 1 Hz, 10
Hz,25 Hz,50 Hz,100 Hz,200 Hz,500 Hz,800 Hz,1 kHz.
Los botones de UP y DOWN seleccionan una frecuencia mayor e inferior respectivamente. La
frecuencia con la que trabaja el microcontrolador está un poco descalibrado, se desarrolló el
calibrado de la frecuencia con la que trabaja el bus del microcontrolador con el registro
llamado OSCTRIM.

+5v
+5v
+5v
4.7 k 4.7 k M LED
330
C
PTA 1 6 PTA 5
8
H
C
PTA 0 9
0
UP 8
DOWN Q
B
8

Figura 1. Conexiones de la práctica.

2 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

LISTA DE MATERIAL: EQUIPO:

• 1 - MC68HC908QB8. • Fuente De Alimentación 5V.


• 2 - Resistencias de 4.7 KΩ. • 1 - Protoboard.
• 1 - Resistencia de 330Ω. • Cable para Protoboard.
• 2- botones. • Tarjeta Programadora (BUNKER).
• 1 - LED. • Computadora.
• Multímetro.
• Pinzas.

DESARROLLO.

Configuraremos el registro del timer dependiendo para lo que se vaya a utilizar (en este caso
lo configuramos como generador de señales cuadradas) y así sacar su valor correspondiente
en hexadecimal. Una vez teniendo conocimientos previos, llevar a cabo el calibrado del
microcontrolador con el registro OSCTRIM.Realizaremos un programa que genere señales de
frecuencia variable.
Interfaz del módulo temporizador (TIM): En esta sección se describe la interfaz del módulo
de temporizador (TIM). El módulo TIM es un contador de 4-canales que proporciona una
referencia de la sincronización con la captura de entrada, salida a comparar, y las funciones
de modulación de ancho de pulso. Las cuotas de módulo TIM con sus pines de uso general de
entrada / salida (I / O) pines del puerto.

Los siguientes registros de control y operación de monitoreo del TIM son los siguientes:

TIM estados y registro de control (TSC).


TIM registros de control (TCNTH: TCNTL).

3 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

TIM registros del módulo contador (TMODH: TMODL)


TIM estado del canal y los registros de control (a través TSC0 TSC3)
TIM registros canal (TCH0H: TCH0L través TCH3H: TCH3L)

El estado de TIM y registro de control (TSC) hace lo siguiente:

Permite el desbordamiento de TIM interrupciones.


Banderas rebosa TIM.
Detiene el contador.
Restablece el contador.
Prescales contra el reloj.

Estos bits de lectura / escritura seleccionan una de las siete salidas prescala como la entrada
al contador como lo muestra la Tabla 1.

Tabla 1. Selección de prescala.

En esta parte se explicaran todos los pasos que se llevaron a cabo la práctica como desde el
armado del circuito en protoboard, la elaboración del programa a cargar y su comprobación
del buen funcionamiento.

2 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

1. Como primer paso se armó en protoboard el circuito de la práctica en la Figura 2 se


muestra la vista real, que servirá para observar los resultados en la programación y así
ir corrigiendo errores que vayan surgiendo y también para presentar su buen
funcionamiento de la programación.

Figura 2. Circuito armado en vista real.

Partes del cicuito armado en protoboard.

Los botones UP - DOWN: El boton UP esta conectado el PTA 0 este boton realizara el
aumento de frecuencia con los rango ya establecidos el maximo sera 1khz. El boton DOWN
conectado a PTA1 realizara el decremento de la frecuencia asta un minimo de 1hz. Se
muestran en la Figura 3.

Figura 3. Botones UP y DOWN.

3 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

LED:El LED servirá como indicador para observar los cambios de frecuencia solo nuestra vista
alcanza a ver una determinada frecuencia y en mayores observaremos que esta prendido
aunque si oscile.

Figura 4. LED indicador.

2. Enseguida se elaboró el código de programación en lenguaje C, para que funcionara


según las especificaciones.

#include <hidef.h> /* for EnableInterrupts macro */


#include "derivative.h" /* include peripheral declarations */

unsigned char dato, cont;

unsigned int tiempo[9] = {50000,20000,8160,4080,2040,1020, 408, 510, 50};


// 1 Hz, 10 , 25, 50, 100, 200, 500, 800, 1K

unsigned char mult[9] = {0x75,0x73,0x73,0x73,0x73,0x73, 0x73,0x72,0x75};

Se declararon las variables que contenían los valores de los TMOD así
como el multiplicador usado. Haciendo notar que se ajusto la frecuencia
a 1 KHz.

4 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

void delay(int stop){


unsigned int tiempo;
for(tiempo=0;tiempo<=stop;tiempo++);
}

Cada vez que se llega a la cuenta del TMOD


interrupt 6 void TIM_OVF (void){ brinca a esta interrupción para que haga la
operación lógica NOT en lo que se encuentre en
PTA_PTA5 =! PTA_PTA5;
PTA5, y lo volvemos a poner en 0 para que haga
TSC_TOF = 0;
otra cuenta nuevamente.
}

void main(void) {
EnableInterrupts;
OSCSC = 0x20;
CONFIG2 = 0x80; Configuración incial del uC, sin perro guardián, y
CONFIG1 = 0x31; con los puertos configurados correctamente.
DDRA_DDRA5 = 1;

cont = 8;
OSCTRIM = 0x8D; Se inicia en cont = 8, ya que en esta posición del
vector se encuentra el multiplicador elegido y el
TSC = mult[cont];
TMOD correcto para la frecuencia de 1KHz. En
TMOD = tiempo[cont];
nuestro caso el uC estaba pasado en 2.6% en
TSC_TSTOP = 0;
frecuencia y se le bajo con 0x8D.

for(;;) {

dato = (PTA & 0x03);


5 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.
Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

if(dato == 2){ // si UP
if(cont == 8) Aquí se manda leer el puerto A, si fue un Up
el que presiono, ya no incrementa el
cont = 8;
contador si fue 8, de lo contrario lo
else
aumenta. Y para cambiar correctamente el
cont++; multiplicador en cada frecuencia, detuvimos
el registro, se cargo el multiplicador, el
TSC_TSTOP = 1; TMOD, y lo echamos a andar con su
TSC = mult[cont]; respectivo retardo de pulsado.
TMOD = tiempo[cont];
TSC_TSTOP = 0;
delay(35000);
}

else if(dato == 1){ //si dwn


if(cont == 0)
cont = 0;
Si fue un Down el push button presionado, si
else
el contador es cero lo deja con ese valor, de
cont--;
lo contrario lo decremento. Igual de la
misma manera paramos el registro,
TSC_TSTOP = 1; cargamos el multiplicador, el TMOD, y lo
TSC = mult[cont]; echamos a andar con su respectivo retardo
TMOD = tiempo[cont]; de pulsado.
TSC_TSTOP = 0;
delay(35000);
}

}// $ for infinito


} // $ main

6 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

3. En este paso se cargó el código del programa como se muestra en la Figura 5,


elaborado en lenguaje C, por medio de la tarjeta BUNKER para el MC68HC908QB8 y
una computadora con sus respectivas alimentaciones.

Figura 5. Cargando el código de programación al MC68HC908QB8.

Con la ayuda de la tarjeta Bunker y el puerto serial – USB como se muestra en la Figura 6, se
pudo cargo el programa al MC68HC908QB8.

Figura 6. Conexiones necesarias para la programación.

7 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

4. Pruebas:

En el circuito armado se realizaron diferentes pruebas tales como, cada subrutina hecha para
comprobar su buen funcionamiento y así ir avanzando hasta no tener ningún detalle en la
programación y este código funcione como se quiere.

• La primera prueba que se realizo fue la presionar el botón DOWN estando en una
frecuencia de 1 KHz, luego paso a 800Hz y a 500Hz, como se muestra en la Figura 7.

Figura 7. Decremento de frecuencia con el botón DOWN.

8 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

• La siguiente prueba que se realizo fue la presionar el botón UP estando en una frecuencia
de 25Hz, 50 Hz, luego paso a 100 Hz y a 200 Hz, como se muestra en la Figura 8.

Figura 8. Decremento de frecuencia con el botón UP.


9 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.
Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

• Al medir frecuencia s de 10Hzo menos el osciloscopio ya no mostraba el valor puesto


que solo mide frecuencia s mayores a 10 Hz esto se observa en la Figura 8.

Figura 8. Frecuencias menores a 10 Hz.

• En la Figura 9 se muestra el LED indicador de frecuencia aunque como es foto y a altas


frecuencia no se observa el cambio el LED parece que esta encendido
permanentemente.

Figura 9. Frecuencia en el LED.


10 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.
Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

CONCLUSIONES

Cesar Gerardo Castro Hernández.


Esta práctica fue de gran utilidad ya que se trabajo con el reloj interno de nuestro
microcontrolador, así como ajustarlo (una acción realmente importante) para que su
comunicación sea de lo más eficiente cuando se trata de comunicaciones con otros
dispositivos. También pudimos desarrollar un generador de frecuencias básico pero muy
exacto, el cual generaba una señal cuadrada de diversas frecuencias. Y digo que exacto ya
que calibramos el microcontrolador a 1 KHz. En nuestro caso le reducimos la frecuencia al
reloj interno ya que sobrepasa por +2.6 %. Para esto se envió el dato al OSCTRIM de 0x8D.
Antes de echar a andar una frecuencia seleccionaba debimos de haber parado el registro,
cargarlo nuevamente y echarlo a andar.

López López Juan Ramiro.


En esta práctica se utilizó el Timer que contiene el microcontrolador para generar frecuencias
diversas y así darle una aplicación diversa que se le puede aplicar a cualquier dispositivo que
para sus funcionamiento necesita una señal variante en el tiempo o que se necesite realiza
operaciones con el microcontrolador. En esta práctica funciono de esta forma se colocaron
dos push-botton para realizar las variaciones de frecuencias para realizar el buen
funcionamiento del timer un push- botton era para incrementar la frecuencia generada hacia
un punto limite y el otro push-botton para decremento de la frecuencia hasta un punto límite
inferior. El manejo del timer es de manera fácil solo en esta práctica modificamos tres
registros, el registro de estado y control (TSC), el registro de comparación (TMOD) y el
registro de encendido y apagado del Timer. Para ajustar la frecuencia generada ya
establecida en los rangos tuvimos que calibrar el microcontrolador para cada frecuencia y asi
obtener un margen de error de generación menor y asi ser aceptable en el momento de
alimentar un dispositivo en frecuencia.

11 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.


Instituto Tecnológico De Lázaro Cárdenas APLICACIONES DE
MICROCONTROLADORES

En Se le conecto un indicador como lo es un LED en el PTA5 para observar la frecuencia a


través de encendido y apagado del LED pero como conocemos que existen frecuencias no
visibles por el ojo humano se utilizó un osciloscopio para observar su funcionamiento así
como se mostró en la imágenes del desarrollo de la práctica.

Rosas Villa Esmeralda.


El Timer es un sistema que contiene el microcontrolador que sirve para contar y generar
frecuencia para alimentar otros dispositivos. En esta práctica se realizó generación de
frecuencia de diferentes magnitudes de frecuencia de una menor a una mayor de manera
ascendente y de manera descendente, estos incrementos oi decrementos se ejecutaban de
manera externa a través de unos botones que incidían en la magnitud mayor o menor. En el
desarrollo de la práctica se tuvieron varios problemas en el sentido de la perfección de cada
frecuencia a generar exacta en magnitud por lo cual se decidió a realizar una calibración del
microcontrolador para cada frecuencia esto se realizó por medio del registro OSCTRIM el cual
contenía una valor decimal proporcional al valor de frecuencia que se debía aumentar o
disminuir en porcentaje, si la frecuencia estaba por debajo de la que se había generado el
valor de OSCTRIM debía contener un valor menor y asi de manera viceversa para las
frecuencia superadas.

12 TIMER Y GENERACIÓN DE SEÑALES CUADRADAS.

You might also like