ich kann zwar kein C aber überleg dir ma folgendes:
WENN (PORTX=1) THEN
TimerStart
ENDIF

und in den overflow vom timer dann halt wen porty ein high bekommt

denke mal