# Teclado matricial PIC EEPROM



## loser0d (Nov 6, 2006)

buen dia todos el realidad no ce mucho pero quiero construir un circuito con un *TECLADO MATRICIAL 4x3* como este:







 o otro cualquiera similar

Lo que quiero en si es que guarde todas las teclas pulsadas en una memoria, si pulsan las teclas  123456789 y luego le dan a la tecla # (Numeral) o * (Asterisco) almacene esas pulsaciones en una memoria con la fecha y la hora que no ce que tipo de memoria podria ser! EEPROM flash?  ejemplo: 

123456789 06/11/2006 11:34 AM
987654321 07/11/2006 01:22 PM


y que pueda extraer esa información a través del computador por cualquier interfaz despues!!!

por favor en realidad les pido ayuda cualquier pista  que me puedan dar gracias 

Armando Martinez Prieto. caracas - venezuela


----------



## Braulio (Nov 11, 2006)

Aunq no se q es una memoria eeprom flash, supongo q lo q necesitas en si es la aplicación...

Yo te recomendaría q uses cualquier microcontrolador PIC, ATMEL, etc para adquirir los datos del teclado: tienes q hacer el barrido constantemente de las filas y verificar igualmente las columnas para ver si se pulsó una tecla, luego segun el valor obtenido obtener en una tabla el número digitado, y este eniviarlo a la PC ya sea via seral, paralelo o incluso USB.
La 2ª parte sería en la PC hacer un pequeño programa  en visual para adquirir el dato, tomar hOra y fecha y mostrarlo. Eso es a grandes rasgos el procedimiento.

De la 2ª parte no tengo ni idea como hacerlo, y desde aqui pido a los grandes del foro nos orienten por q yo tb quisiera aprender, pero te puedo ayudar en la primera porq tengo alguna experiencia en ello.

Como puedes ver en la gráfica, por ejemplo, en los pines del micro al q estan conectadas las columnas siempre tienen q estar esperando un dato (puse 1 por q en los ATMEL se tiene q poner en los pines 1 para q reciban un dato) y en las filas una de ellas se pone a 0 y el resto a 1 y ese 0 ira rotando constantemente entre todas las filas, esta rotación debe ser ni muy rápida q cuando uno teclee recoja muchas veces el mismo valor ni tan lenta q cuando uno teclee no alcance a barrer esa fila, cuando barra la fila de una tecla pulsada el 0 pasará a la respectiva fila y esto deberá de ser reconocido por el micro y decodificado mediante una tabla, en el ejemplo el código X0111101 representará al nro.. 9 y así.

Ah, las resistencias las tienes q poner tu, son para limitar la cantidad de corriente, lo q esta dentro de recuadro es el circuito mas común de un teclado matricial simple (ojala el tuyo sea asi, puedes verificar con un multimetro en continuidad pulsando las teclas )

Espero q esto te sirva. Salu2:

BRAULIO


----------



## lokutas (Nov 17, 2006)

Te recomiendo uses una memoria EEPROM, la memoria Flash esta mas complicada de manejar porque esta segmentada y hay que esperar tiempos de borrado, grabado, etc... muchas maromas...


----------



## Braulio (Nov 30, 2006)

Para ilustrar este la forma de trabajar con el teclado matricial adjunto aqui el circuito de uno controlado por el AT89C52 en proteus 6.7, alli esta el esquemático, el programam en .asm, el .hex, y para quienes no tengan proteus, el ckto como imagen. El ensamblado lo hice en el mismo proteus, para poder ver durante la simulación el código fuente (es bastante didactico hacerlo así), solo que no se olviden de, en el ckto, redireccionar el .hex en el AT89C52 a la carpeta donde lo descompriman (clic derecho y luego clic izquierdo en el AT89C52 del ckto, despues clic en el foldercillo amarillo y buscar).

Como podran ver, en el diagrama no incluyo las resistencias de 2.2K q mencioné, eso es por que el teclado matricial del proteus creo q es especial, en la implentación yo coloqué las resistencias para limitar la corriente y funcionó, no hice la prueba sin resistencias por temor a q se me queme el micro; pero no puedo decirles si funciona o no así.

Ah, el código en .asm pueden abrirlo tb en el bloc de notas. Salu2:

BRAULIO


----------

