No entiendo bien tu lógica, validas solo el 5 y puedes armar 555, pero lo comparas con 258 pata que ocurra un evento, no lo validará pues son distintos, por lo que el código a continuación no se ejecutará.
Felices Fiestas a ambos y a quienes lean este post, Un abrazo.
Hola Lucegiar2005. No me estas entendiendo pues mi explicación fué enredada, mezcle cosas y se hizo "un Babel" jeje.
A ver si aclaro.
a) El registro "pass2" guarda un numero decimal= 258 para compararlo luego de haber pulsado 3 teclas.
b) Si pulso las teclas 2,5 y 8 (en ese orden es decir que introduje la contraseña de manera correcta) deberían los bit RA2, RA3 recibir un "1" y el bit RA4 parpadear 10 veces.
c)Por otro lado y por cuerda separada, solo para monitorear una sola tecla: la 5, hace parpadear el RB0. Este paso no juega para nada en el proceso que quiero controlar. Puedo eliminar del programa este paso y todo sigue igual. ¿Se entiende?
Ejemplo positivo: Si pulso tecla "2", el registro se multiplica por 100 y el nuevo valor del registro es= 200. Luego si pulso "5" el registro se multiplica por 10 y el nuevo resultado es= 50, lo sumo al anterior y el nuevo resultado es 250. Por último pulso "8", se suman los registros y el resultado "258" se compara con el primer registro "pass2" y como son iguales, los bit RA2, RA3 deben recibir un "1" y el bit RA4 parpadear 10 veces.
Ejemplo negativo: Si pulso la tecla "3", el registro se multiplica por 100 y el nuevo valor del registro es= 300. Luego pulso la "7", el registro se multiplica por 10 y el nuevo resultado es = 70, lo sumo al anterior y nuevo resultado es 370, por último pulso la tecla "1", este valor se suma al resultado 370 quedando al final "371". se compara con "pass2 y como no son iguales, se reinicia el proceso.
Creo que el control con la tecla "5" que introduje en la interrupción, confundió todo. Adjunto de nuevo el .npl en donde eliminé este control.
Saludos.