9
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA CARRERA DE INGENIERÍA MECATRÓNICA. ASIGNATURA: MICROPROCESADORES - MICROCONTROLADORES NRC: 3477 INFORME DE LABORATORIO No.3.2 PROFESOR: Ing Marcelo Urbina INTEGRANTES 1.ALVARO MOYA 2. MANUEL RUILOVA

INFORME 3.2

Embed Size (px)

Citation preview

Page 1: INFORME 3.2

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

CARRERA DE INGENIERÍA MECATRÓNICA.

ASIGNATURA: MICROPROCESADORES - MICROCONTROLADORES

NRC: 3477

INFORME DE LABORATORIO No.3.2

PROFESOR:

Ing Marcelo Urbina

INTEGRANTES

1. ALVARO MOYA2. MANUEL RUILOVA

16 DE ENERO DEL 2013 – SANGOLQUI

Page 2: INFORME 3.2

PRACTICA 3.2

En la presente práctica se llevara a cabo aprender el manejo del Timer0 como temporizador y como contador, donde se procederá armar el circuito en el protoboard, el cual tendrá dos etapas una de configuración y programación del pic, donde en la primera se procederá compilar en el pic un temporizador de cada 50 ms y el segundo se compilara un contador el cual se deberá visualizar en un display en el puerto C, para poderlo apreciar se procederá a poner un osciloscopio en su salida para divisar el ancho de pulso requerido al tiempo de manejo del pic.

Uno vez realizados los dos pedidos se lleva a cabo la toma de resultados donde se visualiza claramente que los dos procesos han sido alcanzados con facilidad y se ha solventado toda duda acerca del timer0 y sus dos usos principales.

Page 3: INFORME 3.2

1. Tema:

Temporizadores - Timer 0

2. Objetivo.

Aprender el manejo del Timer0 como temporizador y como contador.

3. Marco Teórico

TEMPORIZADORES Y CONTADORES

Son circuitos sincrónicos para el conteo de los pulsos que llegan a su poder para conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador interno del microcontrolador es común que no tengan un pin asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo contador.

Los temporizadores son uno de los periféricos más habituales en los microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medición de frecuencia, implementación de relojes, para el trabajo de conjunto con otros periféricos que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que un microcontrolador típico incorpore más de un temporizador/contador e incluso algunos tienen arreglos de contadores. Como veremos más adelante este periférico es un elemento casi imprescindible y es habitual que tengan asociada alguna interrupción. Los tamaños típicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de un tamaño o con más frecuencia con ambos tipos de registro de conteo.

TIMER O

El módulo TimerO consta básicamente de un pre divisor y un contador ascendente de 8 bits. El pre divisor es un contador asincrónico ascendente con factor de división programable cuyo conteo no es visible para el programador. El contador ascendente de 8 bits se puede leer o escribir a través del registro de funciones especiales TMRO.

Ilustración 1 Diagrama de bloques del TimerO puede trabajar como contador ciclos de maquina o como contador de pulsos externos.

Page 4: INFORME 3.2

4. Materiales y Equipos.

Materiales.* Pic16f877a* Led's, DIP Switch, Resistencias.

Equipos:* MPLAB* Programador de PIC's.* Fuente de alimentación.* Protoboard.* Osciloscopio

5. Procedimiento de la practica

a. Arme el siguiente circuito.

b. Escribir un programa en MPLAB compilador C que complemente el estado del puerto B cada 50ms utilizando el Timer0 como temporizador.

c. Arme el siguiente circuito.

d. Escribir un programa en MPLAB compilador C que configure al Timer0 como contador y que el valor de visualice en un Display conectado en el Puerto C.

Page 5: INFORME 3.2

6. Análisis de Resultados

Se procede a detallar la configuración de cada uno de los programas requeridos en el presente informe.

Programación del Temporizador a 50ms usando un prescaler de la tabla a 111 osea a 256.

# include <htc.h># define _XTAL_FREQ 4000000 __CONFIG (0x3F71);

void main(void){

TRISB = 0X00;T0CS=0; // Con valor de cero actúa como temporizadorPSA=0; // prescaler asignado al timer 0

// bits configuración prescaler como indica la tabla 111 = 256

PS0=1;PS1=1;PS2=1;T0IF=0;TMR0=60;//50msPORTB=0X00;

while(1){

if (T0IF==1){T0IF=0;PORTB=~ PORTB;TMR0=60;}}}

Programación del contador usando timer0, usando como salida de muestro del display el puerto D.

#include <htc.h>#define _XTAL_FREQ 4000000__CONFIG(0X3F71);const charnumeros[10]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10};

void main(void){T0CS=1;TRISD=0x00;

Page 6: INFORME 3.2

T0SE=0;PSA=1;TMR0=0x00;while(1){PORTD=numeros[TMR0];if (TMR0>9) {

TMR0=0;}

}}

7. Conclusiones y Recomendaciones

El manejo del timer0 en sus dos configuraciones tanto como temporizador a 50ms y contador han sido posibles llevarlas a cabo controlando cada uno de los parámetros y comandos necesarios para tales órdenes.

Tomar muy en cuenta la configuración de la programación del prescalador ya que de esto depende que funcione de manera eficiente el timer0.

Si no se ha tenido un manejo previo de los displays se debe consultar, la configuración de sus patillas para la conexión.

8. Bibliografía.

Datasheet PIC16F877A. An Introduction to Programming The Microchip PIC in C, N. Gardner,

1994, Bluebird Electronics. http://books.google.com.ec/books?

id=ODenKGOHMRkC&pg=PA189&lpg=PA189&dq=temporizadores+microcontroladores&source=bl&ots=uktTXg6a4v&sig=Po6HJ7Fobs95jSFcw5i6NYN3Ans&hl=es&sa=X&ei=0hzyUNa3DYH28gSIjgE&ved=0CCoQ6AEwAA#v=onepage&q=temporizadores%20microcontroladores&f=false

9. Anexos

Page 7: INFORME 3.2

TEMPORIZADOR

Ilustración 2 Implementación del temporizador a 50 ms

Ilustración 3 Muestra de osciloscopio del tiempo de 50ms

Page 8: INFORME 3.2

CONTADOR

Ilustración 4 Muestro de la simulacion del contador con timer0