Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2. ANALISIS Y MODELAMIENTO
Para la solucin del problema se plantearon una serie de pasos en los cuales se
puede ver el algoritmo que se utilizara para resolver el problema a desarrollar en la
presente prctica:
Se almacena en la memoria RAM los datos que representan cada digito del 0 al 9
mediante el uso de una tabla. Ahora definimos los puertos de entrada y salida del
microcontrolador para conectar los perifricos que son: una matriz de LEDs y dos
pulsadores.
Al incio del programa preguntara sobre el estado de los botones de configuracin
de la hora, si est presionado activara el anti-rebote, el cual fue hecho por
software, esto evita que el microcontrolador lea muchos valores debidos al
pulsador y as hacemos que solo lea la primer activacin del botn y se mantenga
esperando hasta que se suelte sin leer ms valores que podran darnos
comportamientos errneos.
Luego haremos unas subrutinas que nos permitirn visualizar en la matriz de
LEDs los dos dgitos de la hora, los dos puntos que reflejan el tic-tac del reloj y
los dgitos de los minutos, y repitiendo el ciclo tantas veces como sean necesarias
para que no se vean titilar, eso es debido al tiempo de persistencia del ojo.
Definimos el mximo de hora del reloj, al escoger un reloj con hora militar tenemos
una hora mxima de 23:59, luego de esto el reloj vuelve a 00:00, definimos el
proceso por el cual cuando cada digito tanto de las unidades de hora como de
minutos llegan al nmero 10, hace que la decena de la hora y minutos se
incremente en uno mientras que vuelve las unidades al nmero 0, para la decena
de la hora este se incrementara 1 vez cada que se llegue a 10, el valor de la
decena de la hora va de 0 a 2, luego del 2 se reinicia, y para la decena de los
minutos este va de 0 a 5 con el mismo principio, luego del 5 este se reinicia y
vuelve a 0. Tenemos entonces que en vez de visualizar el 60, despus de mostrar
el 59, mostrara 00, con la hora pasa lo mismo solo que al llegar a 23, en vez de
visualizar 24 muestra 00.
Para visualizar en la matriz de LEDs creamos un proceso el cual funciona asi:
En el inicio hemos definido que puertos sern salidas para los nodos
comunes de la matriz, como la matriz solo posee 7 nodos activamos los 7
primeros bits del puerto A como salida. El puerto A se encargara de dar la
posicin donde se encuentra la informacin para cada nmero segn la
tabla que hemos almacenado en la RAM. Los dos puntos centrales
manejaran el tiempo de 60 segundos de cada minuto (al presionar los
pulsadores este tiempo volver a iniciar y contar 60 segundos de nuevo),
pasados 60 segundos el contador de unidad de minuto aumentara en 1,
cargando este nmero en el puerto A, con este dato en el puerto, el
programa busca en la tabla de la memoria RAM la tupla que corresponde al
nmero que se debe visualizar, cuando este ubica la posicin donde se
encuentran los datos para cada columna lo carga en los puertos
correspondientes que controlan las columnas de la matriz.
Los puertos B, C, y D controlan las columnas de la matriz, para cada
nmero de la hora y los minutos definimos 4 filas, as en total usamos 16
pines entre los tres puertos para visualizar los nmeros y uno adicional para
los dos puntos (se usan 4 filas para cada nmero).
PT PT
B7 B6
PT
A6
PT
A5
PT
A4
PT
A3
PT
A2
PT
A1
PT
A0
PT PT
B5 B4
PT
B3
PT PT
B2 B1
PT
B0
PT
C2
PT
D 00
7
Fue necesario entender cmo funcionan los puertos del micro como E/S de
este para manejar los procesos que lean los pulsadores para el cambio de
hora, as como saber que la corriente de los puertos no era la suficiente
para esta aplicacin y en general para muchas otras aplicaciones.
5. ANEXOS
CODIGO: