Documente Academic
Documente Profesional
Documente Cultură
El programa principal es muy sencillo, simplemente configura el puerto A como salida, la parte baja
del puerto B tambin como salida y la parte alta del puerto B como entrada. Adems de configurar
los puertos tambin se habilitan las resistencias de pull-up internas con la lnea bcf
OPTION_REG,NOT_RBPU. Despus de la configuracin se llama a una rutina
llamada TECLADO encargada de escanear el teclado y regresar el valor de la tecla pulsada para
poder desplegar el nmero correspondiente en un display de 7 segmentos y el programa ah se
queda en un ciclo llamando a la rutina TECLADO y despus desplegando y repitiendo lo mismo
cclicamente. La rutina TECLADO escanea el teclado matricial usando el mtodo que ya se
mencion.
Primero se carga un 0 a la primera fila, despus se checa columna a columna si hay un cero, en
caso de que no se detecte ningn cero, el cero de las filas se recorre y se vuelven a revisar las
columnas. Si no se detect ningn cero significa que no se presion ninguna tecla y la rutina vuelve
a comenzar. Si se detect un cero significa que se presion una tecla y en ese momento la salta a
la rutina ANTIRREBOTES. Despus de eliminar los rebotes se decodifica la tecla pulsada
utilizando una tabla como la que se utiliz en el ejemplo del display de 7 segmentos.
Existen otros mtodos de manejar teclados matriciales, pero creo que sta es la ms sencilla. Para
terminar una imagen del circuito: