50% encontró este documento útil (2 votos)
2K vistas11 páginas

Reloj y Cronómetro con PIC16F877A

Este documento presenta los objetivos, equipos, procedimientos y cálculos necesarios para diseñar y programar un reloj, cronómetro y contador utilizando un PIC16F877A. El objetivo es analizar cómo funcionan los temporizadores internos y programarlos en ensamblador para controlar un contador ascendente/descendente, cronómetro y reloj. Se explican los componentes del circuito como el microcontrolador, display y transitores, además de detallar la configuración y cálculo de los temporizadores internos requeridos.

Cargado por

Cristian Granda
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
50% encontró este documento útil (2 votos)
2K vistas11 páginas

Reloj y Cronómetro con PIC16F877A

Este documento presenta los objetivos, equipos, procedimientos y cálculos necesarios para diseñar y programar un reloj, cronómetro y contador utilizando un PIC16F877A. El objetivo es analizar cómo funcionan los temporizadores internos y programarlos en ensamblador para controlar un contador ascendente/descendente, cronómetro y reloj. Se explican los componentes del circuito como el microcontrolador, display y transitores, además de detallar la configuración y cálculo de los temporizadores internos requeridos.

Cargado por

Cristian Granda
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

MANUAL DE PROCEDIMIENTO

CARRERA: INGENIERIA ELECTRICA PRCTICA: 1 RELOJ, CRONOMETRO, CONTADOR CTEDRA O RELACIONADA MATERIA REVISIN N: 1 EDICIN: 1

EQUIPO: Laboratorio de micro procesados I Responsable /Equipo. CRISTIAN GRANDA

sistemas

SISTEMA MICROPROCESADOS I

Accesorios: Software Mplab. Software pick2. Display BCD7 segmentos. Modulo Fuente de alimentacin PIC16F877A Pulsantes, resistencias, condensadores. Transitores PNP 2N3906 DOCENTE: Ing. Italo Mogrovejo. NMERO DE ESTUDIANTES POR EQUIPO O PRCTICA: 3 estudiantes por mdulo Tema: RELOJ, CRONOMETRO, CONTADOR Objetivo General: Disear y Programar un reloj de tiempo real, cronometro y contador a travs del lenguaje ensamblador y posteriormente grabado en el PIC16F877A. Objetivos Especficos: Analizar cmo funciona el Timer0, Timer1, Timer2. Programar en ensamblador para poder controlar un contador ascendente y descendente, un cronometro y un reloj. Disear el hardware de la prctica. Calcular tiempos de retardo. Sustento terico Elementos Presentes en el Esquema Fecha: 9 de julio 2013

MICROCONTROLADOR PIC16F877A

Es un micro controlador de Microchip Technology fabricado en tec- nologa CMOS, su consumo de potencia es muy bajo y adems es completamente esttico, esto quiere decir que el reloj puede detenerse y los datos de

la memoria no se pierden. Es un micro controlador con memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser borrado con anterioridad. El encapsulado ms comn para este micro controlador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo en experimentacin. La referencia completa es PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta 4 MHz, PIC16F877-20 para el dispositivo que utiliza cristal oscilador de hasta 20 MHz o PIC16F877A-I para el dispositivo tipo industrial que puede trabajar hasta a 20 MHz. Sin embargo, hay otros tipos de encapsulado que se pueden utilizar segn el diseo y la aplicacin que se quiere realizar. Por ejemplo, el encapsulado tipo surface mount (montaje superficial) tiene un reducido tamao y bajo costo, que lo hace propio para producciones en serie o para utilizarlo en lugares de espacio muy reducido. Vase mas informacin en la referencia [1]

Figura [1] PIC16F877A

Caractersticas delPIC16F877A

En siguiente tabla I se pueden observar las caractersticas del micro controlador PIC16F77A, para ms informacin vase mas en [1]

Descripcin de pines PIC16F877A

Tabla[1] Caractersticas del PIC16F877A

TIMER 0 El Timer 0 es un mdulo temporizador /contador de 8 bits que cuenta con un preescalador programable tambin de 8 bits. Puede funcionar como temporizador o como contador. En modo temporizador el valor del registro TMR0 se incrementa con cada ciclo de instruccin (o cada X ciclos dependiendo del preescalador). En modo contador el valor del registro TMR0 se incrementa en cada flanco (ascendente o descendente) del pin RA4/T0CKI. En ambos casos al desbordarse (pasar de 0xFF a 00) el registro TMR0 la bandera de interrupcin del timer 0 (bit T0IF del registro INTCON) se pone a 1. El modo temporizador se selecciona poniendo a cero el bit T0CS del registro OPTION. [3].

TIMER 1 Similar al temporizador Timer0, estos registros se pueden leer o se puede escribir en ellos en cualquier momento. En caso de que ocurra un desbordamiento, se genera una interrupcin si est habilitada. El mdulo del temporizador Timer1 puede funcionar en uno o dos modos bsicos, eso es como un temporizador o como un contador. A diferencia del temporizador Timer0, cada uno de estos dos modos tiene funciones adicionales.
El temporizador Timer1 tiene las siguientes caractersticas: Temporizador/contador de 16 bits compuesto por un par de registros; Fuente de reloj interna o externa programable; Pre-escalador de 3 bits; Oscilador LP opcional; Funcionamiento sncrono o asncrono; Compuerta para controlar el temporizador Timer1 (conteo habilitado) por medio del comparador o por el pin T1G; Interrupcin por desbordamiento; Despierta al microcontrolador (salida del modo de reposo) por desbordamiento (reloj externo); y Fuente de reloj para la funcin de Captura/Comparacin. [2]

El Timer 2 Es de 8 bit, tiene un Prescaler y un Postscaler, puede ser usado como base de tiempo del mdulo PWM. El registro de conteo TMR2 es leble y escribible, y es limpiado por cualquier Reset. El Timer 2 tiene un registro de Periodo PR2 que a diferencia de los anteriores que terminaban en FFh o FFFFh utiliza este registro el cual le indica al Timer 2 cuando reiniciarse utilizando un comparador interno. PR2 tiene un FFh al Reset.

Transitores Tipos: Transistor NPN: tiene un cristal P situado entre dos cristales N [3]. Transistor PNP: tiene un cristal N situado entre dos cristales P [3].

Display

Se llama visualizador, desplaye en ingls, a un dispositivo de ciertos aparatos electrnicos que permite mostrar informacin al usuario de manera visual. Un visualizador de una seal de video se lo llama ms comnmente pantalla; los dos ejemplos ms comunes son el televisor y el Monitor de computadora. Un visualizador es un tipo de dispositivo de salida. Los primeros visualizadores, similares a los de los ascensores, se construan con lmparas que iluminaban las leyendas. Un ejemplo son los ascensores, que para cada piso exista una luz detrs de una silueta con forma de nmero. A partir de la aparicin de calculadoras, cajas registradoras e instrumentos de medida electrnicos que muestran distintas informaciones, ya se puede hablar con propiedad de visualizadores.

Figure 4. Display 7 segmentos[4]

Procedimiento: Para el desarrollo de esta prctica se consider los siguientes puntos.

Diseo del esquema.

Para cumplir con el objetivo de la prctica se realiz el siguiente diseo de hardware obsrvese en la figura, en donde existe un dipswich para la seleccin del modo contador-reloj o cronometro.

TABLA DE COMBINACIONES PARA EL FUNCIONAMIENTO DEL CIRCUITO.

SW7 SW6 FUNCIN


0 0 1 0 1 0 OFF ALL RELOJ CRONOMETRO

CONTADOR

CALCULOS

Si tomamos cada segmento del display como un led la formula a aplicar sera la siguiente

TMR0 es un temporizador-contador de 8 bits configurado como contador, al recibir pulsos de incremento por el pin RBO.

RETARDO -T0 = 4 _ TOSC _ TMR0 RETARDO - T0 - PRE = 4 *TOSC * TMR0 * PREESCALER TMR1 el cual est formado por dos timers de 8 btis cada uno configuramos el timer 1 (TMR1) habilitndolo, seleccionndolo como temporizador y eligiendo un prescaler de 8 para esto tenemos que cargar el registro T1CON con H30. Seguido de esto realizamos el clculo correspondiente para poder temporizar al timer 1 con un valor de 0.1 segundo el cual ser nuestra base de tiempo.

TMR2 es un temporizador de 8 bits cuenta con un postcaler 1 hasta 16, para poder configurar el timer 2 debemos cargar el registro T2CON con H0FF0con el cual habilitamos el timer y adems seleccionamos el valor del prescaler y del postcaler que son de 16. Para poder tener una base de 0.01 segundo es decir una centsima de segundo, tiempo del cronometro.

Los valores de x,y,z son valores propuesto de acuerdo al tiempo que se desea sabiendo que deben estar dentro de los parmetros. DESARROLLO De la realizacin de este proyecto se pretende modelar el funcionamiento de un reloj, contador, cronometro. Mediante el uso de los conocimientos de los micro controladores tales como su programacin que es uno de los factores fundamentales que analizaremos. Primero armamos el circuito en el proto boart con las especificaciones que deberamos tomar, luego pasamos al programa para realizar el debido manejo de los puerto y la debida utilizacin del tmr0 y tmr1 ,tmr2 ya desarrollado el programa pasamos a cargar en el pic para hacer funcionar el programa. Ya en la configuracin de todos los perifricos debemos adems de configurar los puertos, tambin habilitar los pullups, fallin en INT0. Adems del prescaler. Luego en la configuracin de los perifricos mismo habilitar tambin el TMR0,TMR1,TMR2 y INT0, siempre borrando la respectiva bandera y habilitando la interrupcin enseguida. Para mayor seguridad al final siempre hacer una habilitacin global de las interrupciones. Para la configuracin del TMR0 como temporizador con un prescalar de 1:256, hacemos al TMR0=D39 esto para el TMR0. Cargamos TMR1H=H80, TMR1L= H80 y configuramos los registros cargando en T1CON=H0B, con esto ya podemos generar un tiempo base para nuestro reloj de 1 segundo, como en la habilitacin del T1CON incluye tambin al T1OSEN, armamos la configuracin externa del oscilador con un cuarzo de 32 kHz, esta ser la configuracin que nos Facilitar la generacin del tiempo para el reloj. De la misma manera se realizara la configuracin del TMR2 cargndolo con un valor de D128 y el T2CON=H49 que sera habilitar TOUTPS3, TOUTPS0, que se refiere a una configuracin de postcale de 1:8 y T2CKPS0 para un prescale de 4 yaqu que T2CKPS1 no est habilitado. Una vez que ya hayamos configurado todos los perifricos comenzamos a realizar las subrutinas de atencin a interrupciones, de los diagramas de flujo nos guiaremos para Realizar esta subrutina. No debemos olvidar que para cada interrupcin debemos mediante lneas de programa revisar si a existido una interrupcin y luego borrar la bandera y proceder a preguntar nuevamente si es el caso de que no existi ninguna Interrupcin. Para el programa ya sea del conteo ascendente, descendente solo cargaremos el valor deseado y luego se lo decrementara mediante el pulsante designado para esta accin, no ayudaremos con el cambio de estado del registro STATUS, Z para realizar las comparaciones. Para el reloj tambin nos ayudaremos del cambio de

estado del registro STATUS,Z, cargando un valor previamente dependiendo de si es el minutero, horero o segundero y luego Comparando o realizando una resta. Siempre revisando el desbordamiento del flag del TMR1 que ya habamos configurado previamente para ser utilizado exclusivamente en las lneas de programa del Reloj. Para el cronometro tambin nos ayudaremos del cambio de estado del registro STATUS,Z, cargando un valor previamente dependiendo de si son las unidades, decenas, centenas, unidades de mil, decenas de mil o centenas de mil para luego incrementar el valor del mismo.

RECOMENDACIONES Tener en muy en cuenta al cargar los valores para los TIMER que se utilizan en el relojcronometro. Ser muy aproximados en el clculo para los TIMER. Verificar que el hardware este en bien armado caso contrario puede producirse un corto el cual puede afectar al micro controlador. CONCLUSIONES Y En la presente practica se analiz el funcionamiento de los Timer0-1-2, quien fueron utilizados como bases para el funcionamiento de un reloj a tiempo real, cronometro y contador de forma ascendente y descendente Bibliografa:

[1] http://www.utp.edu.co/~eduque/arquitec/PIC16F877.pdf [2] Datasheet del PIC 16F877A [3] http://micropic.wordpress.com/2007/06/24/temporizador-timer-0 [4] http://micropic.wordpress.com/2007/06/24/temporizador-timer-1 [5] http://micropic.wordpress.com/2007/06/24/temporizador-timer-2 [6] http://aprenderlyx.com/objetivos-especificos-de-un-proyecto/

También podría gustarte