Anda di halaman 1dari 8

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA

CARRERA DE INGENIERA MECATRNICA.

ASIGNATURA: MICROPROCESADORES - MICROCONTROLADORES NRC: 3477

INFORME DE LABORATORIO No.3.2


PROFESOR: Ing Marcelo Urbina INTEGRANTES 1. ALVARO MOYA 2. MANUEL RUILOVA

16 DE ENERO DEL 2013 SANGOLQUI

PRACTICA 3.2

En la presente prctica 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 configuracin y programacin 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.

1. Tema: Temporizadores - Timer 0 2. Objetivo. Aprender el manejo del Timer0 como temporizador y como contador. 3. Marco Terico

TEMPORIZADORES Y CONTADORES Son circuitos sincrnicos 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 comn 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 perifricos ms habituales en los microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medicin de frecuencia, implementacin de relojes, para el trabajo de conjunto con otros perifricos que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que un microcontrolador tpico incorpore ms de un temporizador/contador e incluso algunos tienen arreglos de contadores. Como veremos ms adelante este perifrico es un elemento casi imprescindible y es habitual que tengan asociada alguna interrupcin. Los tamaos tpicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de un tamao o con ms frecuencia con ambos tipos de registro de conteo. TIMER O El mdulo TimerO consta bsicamente de un pre divisor y un contador ascendente de 8 bits. El pre divisor es un contador asincrnico ascendente con factor de divisin programable cuyo conteo no es visible para el programador. El contador ascendente de 8 bits se puede leer o escribir a travs del registro de funciones especiales TMRO.

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

4. Materiales y Equipos. Materiales. * Pic16f877a * Led's, DIP Switch, Resistencias. Equipos: * MPLAB * Programador de PIC's. * Fuente de alimentacin. * 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.

6. Anlisis de Resultados Se procede a detallar la configuracin de cada uno de los programas requeridos en el presente informe. Programacin 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 acta como temporizador PSA=0; // prescaler asignado al timer 0 // bits configuracin prescaler como indica la tabla 111 = 256 PS0=1; PS1=1; PS2=1; T0IF=0; TMR0=60;//50ms PORTB=0X00; while(1){ if (T0IF==1) { T0IF=0; PORTB=~ PORTB; TMR0=60; } } }

Programacin del contador usando timer0, usando como salida de muestro del display el puerto D.

#include <htc.h> #define _XTAL_FREQ 4000000 __CONFIG(0X3F71); const char numeros[10]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10}; void main(void){ T0CS=1; TRISD=0x00;

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 parmetros y comandos necesarios para tales rdenes. Tomar muy en cuenta la configuracin de la programacin 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 configuracin de sus patillas para la conexin.

8. Bibliografa. 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&lp g=PA189&dq=temporizadores+microcontroladores&source=bl&ots=uktT Xg6a4v&sig=Po6HJ7Fobs95jSFcw5i6NYN3Ans&hl=es&sa=X&ei=0hzyU Na3DYH28gSIjgE&ved=0CCoQ6AEwAA#v=onepage&q=temporizadores %20microcontroladores&f=false

9. Anexos

TEMPORIZADOR

Ilustracin 2 Implementacin del temporizador a 50 ms

Ilustracin 3 Muestra de osciloscopio del tiempo de 50ms

CONTADOR

Ilustracin 4 Muestro de la simulacion del contador con timer0

Anda mungkin juga menyukai