gracias amigo ya lo he solucionado asin. pero me gustaria saber como acerlo por una interrupcion interna aver si alguien puede ayudarme
creo que lo mejor seria que configurases 2 interrupciones una para el cambio de estado de las lineas RB4 a RB7, pero tienes que poner los pulsadores en algunas de esas lineas.
La otra interrupcion seria para desbordar el TMR0 por ejemplo, si el tiempo no es grande, en caso contrario tendrias que utilizar regisstros auxiliares como contadores incrementandose con el rebose del TMR0. Si miras en el arbol de herramientas de la derecha lo puedes ver. Cuando lo realizas Niple automaticamente te crea ya las subrutinas, que tendras que rellenar tú.
Por ejemplo, dentro de la subrutina de cambio de estado, cada vez que se detecte un cambio de estado en las lineas te resetee el tmro y haces ademas dentro lo que quieras.
Dentro de la subrutina de rebose del TMR0 pues lo mismo cambias el estado de alguna salida, etc. Recuerda antes de salir el resetear el contador del TMR0.
A ver si con esto avanzas un poquito, no me gusta realizar el programa, prefiero que lo vayas haciendo, así aprendes mejor, y segun avances con las dudas te seguiré ayudando.
¿Que version de Niple utilizas'
F.