Está en la página 1de 7

DIAGRAMA DE FLUJO VISUALIZACIN DINMICA

La idea principal del programa en esta seccin es generar una rotacin del registro que contiene
los bits de los nodos solo tres veces, pues este es el nmero de nodos. Cuando se cumplen las
tres rotaciones vuelve al estado inicial y repite el proceso de rotacin.

Si el bit de nodo activado es el uno, el programa tiene cargados los valores de unidades, decenas
y centenas desde el programa del teclado, por lo cual, se encarga de mostrar las centenas, si el bit
de nodo es dos mostrara las decenas etc.
La funcin retardo simplemente es para asegurar una frecuencia de rotacin cercana a los 90 Hz.

INTERRUPCION IRQ

Despus de sucedida la solicitud de interrupcin, se desactiva esta funcin como nuevo mtodo
para controlar el rebote, al desactivar inmediatamente las interrupciones, se supera en gran parte
este inconveniente, al final de la ejecucin del diagrama se genera un retardo para asegurar que
ha pasado el tiempo mximo en el cual se presenta este fenmeno, y as volver a activar el servicio
de interrupciones por IRQ.

Si se oprime el botn y las unidades son distintas de cero, este valor disminuir en una unidad y la
rutina de interrupcin terminara, si las unidades son cero se verifican las decenas, ejecutando el
cdigo correspondiente para mantener la continuidad en el orden descendente de los nmeros, si
las decenas son cero, se verifican las centenas.
Si finalmente las tres potencias son 0, se enciende el led y se habilitan las interrupciones de KBI
(pronto se ver porque se realiza esto).

















FUNCION RETARDO




Esta funcin retardo tiene como caracterstica primordial, que se logra implementar el mdulo
timer del microcontrolador, la frecuencia de bus del micro es bastante alta por lo cual la primera
forma y quizs ms eficaz de comenzar con generacin de retardo es colocndole un prescalador;
no se trabaja con la interrupcin por timer, sino con la bandera indicadora de rebozo del contador
en el canal, tambin se selecciona el modo de comparacin de salida y e escoge como reloj el bus
clock.

Se genera un ciclo que corresponde de forma ms fcil de percibir al retardo, en el cual no se sale
de la funcin retardo, hasta tanto el flag de rebozo no se ponga en uno, cuando esto sucede para
este caso en especfico es necesario limpiar el contador, la bandera y deshabilitar el modo timer,
para evitar conteos cuando no son necesarios. (El flag y el contador no se borran por si solos.























INTERRUPCION POR KBI


Este diagrama de flujo representa una funcin para el tratamiento de los datos de entrada por
parte del teclado, las columnas de la matriz (del teclado) son entradas a resistencias pull-up del
microcontrolador, en tanto que las filas corresponden a las salidas; lo que ocurre al presionar una
tecla es que se conecta un punto de la fila con otro de la columna, es decir la fila seria la seal de
entrada de la columna.
Si la fila esta en cero, y se oprime el botn el pull-up har que la entrada por parte de la columna
al micro permanezca en alto, pero si se oprime el botn y la fila esta un uno, la entrada ser 1 y el
pull-up har que se convierta en nivel bajo identificando la columna, pues en este pin ocurre el KBI
y la fila, pues justo una fila se encontraba en alto durante la ocurrencia de la interrupcin.

Basados en lo explicado anteriormente, es fcil de comprender el esquema, la idea es colocar en
alto una fila a la vez, durante tiempos extremadamente cortos, de tal manera que en una
pulsacin se recorran todas las filas, si ocurre esta pulsacin se activa la interrupcin por KBI, se
procede a desactivar el mdulo de interrupciones (evitar anti rebote) y se guardan tal como se
explic antes las variables asociadas a la fila y columna afectadas; estas variables se codifican en
un nmero.
All aparece la variable de # de interrupciones, esta se ha creado para que el usuario mximo
oprima tres veces teclas, si lo hace tres veces la variable llevara la cuenta desactivara las
interrupciones, solo hasta que se oprima una tecla que borre los nmeros introducidos
anteriormente, o hasta que el contador baje a cero en el mdulo IRQ, en donde se activan de
nuevo las interrupciones por KBI.

La salida de esta seccin son los valores de unidades, decenas y centenas en un vector.

También podría gustarte