que tal vamos con el primer proyecto de manejo de teclado matrixal utilizando operandos matematico de pic basic pro:
	
	
	
		
				
			
		Código:
	
	    ; lectura de un teclado de 16 posiciones  con pic 16f84A
 
 ; CONFIGURACION PARA LA PROGRAMACION DEL PIC   
@ device xt_osc ; oscilador externo XT 
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz 
;  DETERMINACION DE VARIABLES
fila VAR BYTE
columna  VAR BYTE
tecla VAR BYTE
TRISA=0
LOOP1:
PORTB=0
TRISB=%11110000
IF ((PORTB>>4)!=%1111) THEN LOOP1
LOOP2:
FOR FILA=0 TO 3
PORTB=0
TRISB=(DCD FILA)^%11111111
COLUMNA=PORTB>>4
IF COLUMNA!=%1111 then numtecla
NEXT FILA
GOTO LOOP2
NUMTECLA:
TECLA=(FILA*4)+(NCD(COLUMNA^%1111))
PORTA=TECLA
GOTO LOOP1
END