Académique Documents
Professionnel Documents
Culture Documents
de Ingeniera de Gijn
rea de Tecnologa Electrnica
1 de 8
2 de 8
Un posible planteamiento
El programa principal consiste en un bucle donde se exploran
permanentemente el estado de los pulsadores de MARCHA y de PARADA, si
alguno de ellos est activado
Se utiliza TMR1 y el mdulo CCP1 en modo comparacin con evento especial
de disparo para realizar temporizaciones de 0,1 s mediante la sucesiva
generacin de interrupciones. Con cada interrupcin se modifican las
posiciones que almacenan Dcimas, Segundos, Minutos y Horas en BCD y se
envan al LCD como caracteres a representar. Al LCD slo se envan los
caracteres cuando se necesita cambiar la representacin y se envan todos,
aunque tambin podra ser posible situar el puntero de direcciones de la
DDRAM del LCD y enviar slo los que cambian.
DECIMAS
0
SEGUNDOS Decenas de Segundo
MINUTOS Decenas de Minuto
HORAS
Decenas de Hora
Dcimas de Segundo
Unidades de Segundo
Unidades de Minuto
Unidades de Hora
3 de 8
CONTANDO
PARADO y
a CERO
Pulsado RA4
PARADO y
mostrando T
actual
Algoritmo utilizado:
INICIALIZACIN
4 de 8
5 de 8
6 de 8
SUBPROGRAMA SACATIEMPO
Se encarga de tomar los valores almacenados en DECIMAS, SEGUNDOS,
MINUTOS Y HORAS y enviarlos al LCD en formato ASCII, se intercalan
tambin caracteres de separacin : (dos puntos) entre horas y minutos y
entre minutos y horas y . (punto) entre segundos y dcimas
SUBPROGRAMA ESPERA_50ms
7 de 8
SUBPROGRAMA MENSAJE
Sita el contador de direcciones de la DDRAM del LCD al principio de la
segunda lnea y va enviando al LCD los caracteres almacenados en una de las
dos tablas alternativas almacenadas en la memoria de programa. El final de
las tiras de caracteres guardadas en las tablas se identifican mediante el
carcter especial _.
En funcin del valor almacenado en la posicin TIRA se recogen los
caracteres de la tabla que indica Crono parado (si TIRA==0) bien de la
que dice: Crono contando (si TIRA==1).
Para recoger los caracteres se incrementa un puntero, que se carga en W
antes de hacer la llamada a la tabla. Volvemos de la tabla trayendo en W l
correspondiente carcter.
Para almacenar la tira de caracteres se emplea la directiva DT que va
situando sucesivas instrucciones RETLW con el cdigo ASCII de cada uno.
8 de 8