Lo que te puedo pasar es un codigo escrito en C.
El programa lee el canal 0 del ADC cada vez que se produce un overflow del timer 1 (cada 1/2 segundo +-).
El valor obtenido lo compara con rangos existentes en una tabla y segun el valor asociado, activa determinados bits de tres puertos para activar reles y asi, seleccionar la base de tiempos de un osciloscopio.
Podes iniciar los timer donde quieras siempre y cuando cuides que no se solape con otra rutina.
Para que el ADC y el timer trabajen de forma paralela, tenes que hacer la conversion en la rutina de interrupcion del timer, como lo hace el codigo que te paso.
Lo que podes hacer, es una tabla parecida a la que te muestro en el codigo, y en vez de contener valores para los puertos, que contenga valores para los PWM y asi cambiar el ancho del pulso.
El codigo tambien envia por el serial, un valor que corresponde a una posicion dentro de las 23 del switch de seleccion de base de tiempos.
Saludos!