Download 98075531 Cronometro en PIC16F874A Assembler...
Description
CIRCUITOS DIGITALES Cronometro con PIC16F874A Lipuma Daniel F.
RESUMEN
En este practico estudiamos la implementación de un cronometro mediante programación realizada en lenguaje Assembler sobre el PIC 16!"A# compilado en MP$A% !&1# mediante " displa's de siete segmentos (nodo com)n con pulsador de stop*reset&
Cronometro P(gina
+ ,igitales III
-
INTRODUCCION
A continuación se mostrara como se realizara el cronometro con pulsador de stop*reset# para ello se emplear(n " displa's de siete segmentos para cent.simas# d.cimas# unidades ' decenas de segundos respecti/amente El problema planteado es ue al encender el cronometro se /isualicen los displa's en cero# luego al presionar por primera /ez ue comience a contar# al presionar por segunda /ez se detenga la cuenta mostrando est(ticamente la misma lle/ada a cabo# ' ue al pulsar nue/amente se /uel/a a cero ' arranue El programa se logra bajo la utilización b(sicamente de interrupciones para realizar el mismo# la programación en MP$A% !&1# en lenguaje Assembler # la grabación del programa mediante Picit- ' la implementación del mismo sobre el PIC 16!"A&
Cronometro P(gina
+ ,igitales III
2
DIAGRAMA EN BLOQUE Inicio
Inicialización de /ariables
,e3ino Puertos Con3iguro 4PTI45RE e I5TC45 %orro %andera de Control de 1ms
En un principio# se muestran todos los displa's en cero# al presionar el botón por primera /ez comienza a contar# al presionar por segunda /ez se detiene uedando el numero al ue se llego# luego se presiona ' se pone en cero ' cuenta# as: continua sucesi/amente# para ello el programa se basa en las interrupciones ' el botón se logra con interrupción por R%4& $a multiple8ación de los " displa's se ;ar( por puerto A ue tiene < pines# con3igurado con todos sus pines como salidas& $a in3ormación de tabla ue 3orma los n)meros en los displa's de siete segmentos se ;ar( por puerto % ue tiene ! pines# ue con3iguraremos de = salidas ' una de entrada ue es R%0 Al iniciar el programa de3inimos de los distintos registros# cuatro de ellos son cent# dec# seg ' seg - ue son los utilizados para almacenar los n)meros del cronometro# cent representa a las cent.simas# dec representa a las d.cimas# seg a los segundos ' seg- a las decenas de segundos& 9e de3ine la interrupción ' se testea si es por R%0 o TMR0# si 3uese por R%0 ue es el pin = del PIC o bit 0 del puerto %# /amos a la subrutina botón donde /emos si la cuenta debe parar ' mostrar el tiempo e8acto en el ue 3ue parado o borrar los registros ' comenzar a contar si se presiono por segunda /ez# para ello se testea al comenzar a incrementar si la bandera controlada por R%0 esta acti/ada o no& En el programa principal de3inimos el inicio# donde se ingresa al banco uno ' se de3ine puerto A# % ' C# luego se de3ine los bits del 4PTI45>RE se asigna prescaler al timer 0# el numero elegido para el prescaler es 1?!& Al tener 1?!# signi3ica ue si el tiempo es de 1 ms# eso eui/ale a 1000 @s# al di/idir por ! se tiene 1-< @s# a;ora el TMR4 debe llegar a -
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.