Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Para lograr el efecto de visualizacin
dinmica siendo imperceptible para el ser
humano, se inicializo el mdulo timer,
posteriormente se dividi la frecuencia
entre 128, de esta forma el periodo del
contador del timer es:
Se repetir 192 veces este periodo de
contador para obtener un tiempo de
visualizacin aceptable.
En el caso de los retardos para antirebotes se
trabaja sobre el tiempo
, un antirebote no
ocurre ms all de 70 a 90 ms, por lo tanto si
se desactiva las interrupciones respectivas
durante un tiempo mayor a este se eliminar
este efecto indeseado.
Un valor de contadores mayor a 10 o 15 ya
asegura el objetivo.
INTERRUPCION POR KBI
Este diagrama de flujo representa una funcin
para el tratamiento de los datos de entrada por
parte del teclado, las Filas de la matriz (del
teclado) son entradas a resistencias pull-down
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 columna seria la seal de entrada de
la fila.
Si la columna 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 columna esta
un uno, la entrada ser 1 y el pull-down har
que se convierta en nivel alto identificando la
fila, pues en este pin ocurre el KBI, y la
columna pues justo una columna 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 columnas, 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.
En el programa se han habilitado las teclas #
y * como reinicializadores del teclado, si
estas teclas se oprimen, el programa vuelve a
su estado inicial para ser usado nuevamente,
es decir, se carga el display en ceros y se
apaga el led.
CONCLUSIONES.
A lo largo del desarrollo de esta
prctica se aprendi a usar e
implementar los diferentes modos de
interrupciones por teclado (keyboard
interrupt) e IRQ.
El mdulo timer tiene dos registros
en los cuales se guarda el conteo, los
cuales pueden ser utilizados para la
realizacin de la funcin de capture
output, se debe tener cuidado pues
uno de los registros se reinicializa al
terminar el conteo (TPMxMOD), y el
otro no lo hace (TPMxCnV).
El mdulo de interrupcin por KBI es
prcticamente el mismo de IRQ, con
algunas diferencias importantes como
la posibilidad de seleccin de la
configuracin pull-up o pull-down
en el mdulo KBI
La facilidad del micro de brindar en
sus registros banderas adicionales a
los bits de interrupcin, permite
mayor facilidad en la programacin.
REFERENCIAS
[1] Freescale, MC9S08QE16 Reference Manual;
Rev 3, 9/2011.
[2 ] Freescale,CodeWarrior Development
Studio for Microcontrollers V10.x HC(S)08
Build Tools Reference Manual,10.6/ 2011.