El pin A0 tiene las funciones de :
- Puerto digital
- Entrada analogica
Ninguna que afecte al timer, por lo tanto la unica forma de realizar lo que pedis es leer la entrada y cambiar la salida.
Supongamos que cambiamos en los flancos de bajada tu programa quedaria algo asi:
while(1){
Espero flanco de bajada
Espero flanco de bajada
Cambio estado de la salida
}
Cambiar el estado de la salida es usar el output toggle, esperar los flancos de bajada vas a tener que esperar que tengas un 1, luego esperar un 0 el RA0, y ahi ocurrio el flanco de bajada, si tenes que cada 2 ciclos en RA0 sale 1 , entonce esperas 2 flancos y luego cambias la salida.