Hola os planteo mi problema.
Estoy simulando un circuito con un pic y un teclado matricial 4x4 (creo que en Isis el teclado se llama keypad o algo así), y me ocurre lo siguiente:
Si conecto directamente la filas a la parte baja del puerto B y las columnas a la parte alta del puerto B utilizando las resistencias de pull up internas de dicho puerto el circuito me funciona perfectamente, es decir el pic reconoce adecuadamente la tecla que pulso. El problema es que en el circuito real se suelen colocar unos diodos (o tambien pueden ser unas resistencias), entre la parte baja del puerto b y las filas del teclado matricial para prevenir cortocirtuitos al pulsar a la vez dos teclas de la misma columna. Al colocar estos diodos el circuito deja de funcionar, el cero que se va colocando alternativamente en la parte baja del puerto b no pasa a través del diodo y el teclado hacia la parte alta del puerto b, lo más extraño es que si sustituyes el teclado matricial por interruptores mecánicos el ciruito funciona bien.
Tambien es curioso que en la ayuda del Isis sale un ejemplo de un pic haciendo una calculadora con ese mismo teclado y con los diodos y funciona correctamente.
Alguien sabe que puede pasar.