bueno...
el tema es que por ejemplo en este caso yo estoy manejando pwm a traves de una entrada analogica(an0) y con un potenciometro vario el duty ya que defini el
set_pwm1_duty(read_adc())
ahora,mientras en el main se ejecuta esta instruccion ,tambien coloque un while (true) para que se encienda un led y se apague como testigo de funcionamiento.
cuando coloco delay en los tiempos del led,al miro como varia el pwm en el osciloscopio,al mover el potenciometro varia pero a saltos,mientras que si elimino
del main la instruccion sobre el led,el pwm se mueve al compas del pote,sin saltos
por eso es que queria armar algun conteo para el led que no dependiera de los delay, ya que porduce el efecto indeseado sobre el pwm
el pic que uso es un 16f873
#include <16F873.h>
#device adc=8
#use delay(clock=4000000)
#fuses NOWDT, xt, PUT, NOPROTECT, NOBROWNOUT, LVP, NOCPD, NOWRT, NODEBUG
#ZERO_RAM
// VARIABLES
// definiciones básicas
#byte porta= 0x05
#byte portb= 0x06
#byte portc= 0x07
#byte trisa= 0b10000101
#byte trisb= 0b10000000
#byte trisc= 0b11100001
#bit tmr1if= 0x0C.0
#bit tmr1on= 0x10.0
#bit led = 0x07.5
#bit led1= 0x07.6
#bit led2= 0x07.7
main(){
while(true)
{
int16 i;
int16 valor;
valor=read_adc();
set_tris_c(0000000);
i=0;
// setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_1,255,1);
setup_adc_ports(AN0_AN1_VSS_VREF);
setup_adc(ADC_CLOCK_INTERNAL);
setup_ccp1(CCP_PWM);
// set_adc_channel(0);
set_pwm1_duty(read_adc());
while (i<30000)i++ ; led1= 1; led= 0 ;
while (i>0) i-- ; led1= 0; led= 1 ;
}//while
}// main