He mirado un poco el codigo
En lcd_xxx.ASM has puesto
#define ENABLE bcf PORTA,2 ;Activa E
#define DISABLE bsf PORTA,2 ;Desactiva
cambia por
#define ENABLE bsf PORTA,2 ;Activa E
#define DISABLE bcf PORTA,2 ;Desactiva
Tambien señalar que la variable TEMP_1 la utilizas como variable para temporizar asi como para guardar el contenido de tecla
Un saludo