holas
1) div_256 es el preescaler y _8_bit es que estas configurando el timer0 para que funcione a 8bits y no 16bits
2) si, pero mejor ponlo sin ese guion ondulado (creo que significa complemento)
3) external porque el tmr1 se incrementara con pulsos externos, no con ciclos de instruccion, y div_by_1 ya que como es externo pues indica qeu un pulso incrementa en uno el timer 1 (como sabes si el preescaler, y si se coloca digamos en div_2 dice que cada dos pulsos recien se incrementa en 1 el timer1)
4) en realidad no tan asi, obedee a estas formulas si no me equivoco, usando tmr2:
T=(PR2+1)*4*Tosc*Preescaler (periodo; con desde 500 5000Hz y >18KHz)
D=duty*Tosc*Preescaler (Ciclo de trabajo; duty es el que va en set_pwm1_duty())
5) aqui ya me raye, quiza por el sueño que traigo
, pero si usas el pwm con el timer2 las definiciones son asi
setup_timer_2(t2_div_by_4,0xF0,1); // modo=div_4,PR2=0xf0,posescaler=1
para modificar el pwm creo que basta con jugar con esas formulas, con el PR2 y el duty
pd. ahora si que me caigo de sueño, por la mañana te cuelgo un ejemplo que hice con pwm, con el tmr2, pero como dato te dejo qeu todo lo saque de aca del foro
un saludo
EDITO: a que rayos, te lo adjunto, es una miniatura