Hola:
Con un PIC16F84A-04 en ASM, quiero lograr programar un botón que haga cosas diferentes dependiendo de cómo lo pulses.
Puedes elegir para tu ejemplo los puertos In/Out que desees, las salidas es sólo hay 3 diodos Led. Led_Verde, Led Ambar y otro Led_Rojo.
1º) Si el pulsador (P en adelante) no se está pulsando, ningún Led se enciende, en cambio de que se pulse se enciende el Led Rojo.
2º) Si dejas pulsado el P durante 3 segundos, se apaga el Led Rojo y acto seguido se enciende Led Verde, al final cuando dejes de pulsar el P, se quedará encendido el Led Verde.
3º) Si dejas pulsado el P durante 10 segundos, se apagan todos los Led, acto seguido parpadea el Led Ambar. 200ms y 200ms, ese el el tiempo de parpadeo del Led Ambar y se queda ahí.
4º) Después del punto 3º), en la EEPROM se almacena un valor que identifique si se pierde la energía, pila o batería al iniciar el PIC de nuevo, siga el Led Ambar parpadeando.
Un cordial saludo.