Gracias, pero lamentablemente mientras genera la serie de pulsos ademas tiene que refrescar un gLCD, controlar un teclado matricial y varios canales analógicos, y si lo hago solo con lapsos es medio complicado.. Por eso mi idea era usar el TMR_0 como base de tiempo de 10 mS (para la freq de 100 Hz, que es la más baja) y a partir de ahí generar varias bases de tiempo usando la interrupción por TMR. Igual ya va a salir, en cuanto tenga novedades aviso!
De paso, no se si les pasa, pero si quiero mostrar una variable en el gLCD de 128 x 64 que aparezca en justo en medio de la pantalla, el número se corta y aparece el pedazo faltante en el extremo izquierdo (creo q si llega a la columna 64 del chip 0 sigue por la col 0 del mismo chip, en vez de pasar al chip 1). Si están trabajando con un gLCD pueden comprobarlo facilmente mostrando una variable con font_3 (la de 16 x 16) en la col 55.