ayuda con pwm wn ccs

hola como estan me podrian ayudar a encontrar el error de este codigo..

Es muy basico, lo que hace es controlar la variable "dato" ((!input(PIN_A0))&&(dato<250)&&(input(PIN_A1))) entonces incremento dato en +10 y si ((!input(PIN_A1))&&(dato> 20)&&(input(PIN_A0))) entonces disminuyo en -10 y a dato lo mando a set_pwm de los 2 ccp.

aclaro que recien estoy comenzando con ccs..

lo que no entiendo que es lo que estoy haciendo mal ya que cuando lo emulo en proteus y la herramienta osciloscopio del mismo no veo la diferencia y no varia..



Código:
#include <PWM2_botones.h>
int dato;


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
//   setup_pp(PMP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DIV_BY_1,99,1);
   setup_ccp1(CCP_PWM);
   setup_ccp2(CCP_PWM);
   set_pwm1_duty(0);
   set_pwm2_duty(0);
   setup_comparator(NC_NC_NC_NC);
   
   dato=41;
   while(1){
     if((!input(PIN_A0))&&(dato<251)&&(input(PIN_A1))) {dato=dato+20;}
     if((!input(PIN_A1))&&(dato> 20)&&(input(PIN_A0))) {dato=dato-20;}
     set_pwm1_duty(dato);
     set_pwm2_duty(dato);
     delay_ms(100);
   }

}

muchas gracias por la ayuda..
 

Adjuntos

  • Sin título1.png
    Sin título1.png
    340.3 KB · Visitas: 12
Última edición:
Atrás
Arriba