Contador Tempo PIC 16F628A - CCS

Saudações! Pessoal, fiz um projeto de uma central de comando de um portão eletrônico que está funcionando legal... agora to querendo aprimorar. Pretendo implementar um sistema de partida e parada suave para o motor. Pelo que pesquisei, preciso utilizar um MOC e Triac ao sistema para controlar a frequencia de operação do motor, via PWM do PIC. Até consegui configurar o PWM no PIC (pino RB3) e testar diferentes valores de duty cycle e alterar a tensão de saída do PIC de 0 a 5V. Acontece que estou com dificuldade de fazer um função para contar o tempo de abertura do portão (que será acionado pelos sensores de abertura/fechamento)... preciso implementar um jumper na PCB para que, quando fechado (o jumper), conte o tempo de abertura ou fechamento do portão, e guarde esse tempo para que eu possa incluir no código a redução/acréscimo do duty cycle no PWM do PIC para que o portão inicie lentamente, após x segundos, acelere um pouco, e em mais x segundos ande na velocidade máxima. Alguém consegue me ajudar??? Grande abraço.