Duda en PWM MikroC PIC16F877

Saludos, soy relativamente nuevo en el desarrollo de sistemas en base a Microcontroladores. Tuve cierta experiencia con el lenguaje Assembler y hace poco decidi comenzar a utilizar el lenguaje C en el desarrollo. Estoy usando MikroC v.8.2. El modelo que empleo es el PIC16F877.

Tengo un problema: necesito realizar una señal PWM que espere al bit 7 de PORTB (Ya me encargue de todos los TRIS, tanto para PORTB como PORTD, y PORTC y el modo PWM). Dicha señal la logro mediante

if(PORTB.F7=1)
{
PORTD=0x17;
pwm_start();
for(i=0;i<=255;i++)
{
Pwm1_change_Duty(i);
Delay_ms(10);
}
PORTD=0x20;
}

El microcontrolador genera la señal, pero es repetitiva, intente utilizar el ciclo do-while con la condicion de i=255 pero aun asi no avanza hasta la instruccion PORTD=0x20;, la funcion de PORTD es encender leds que sirven de notificacion, (Standby, PWM, Listo), por tanto 0x020 en PORTD significa que ya la señal PWM esta a su maxima potencia. Alguna sugerencia de como hacer que se produzca el aumento gradual del duty solo una vez y una vez que termine encienda el led? Gracias de antemano.
 
Atrás
Arriba