Exemplo n.º 1
0
void main() {
  InitMain();
  current_duty  = 200;                 // initial value for current_duty
  current_duty1 = 200;                 // initial value for current_duty1
  TRISA  = 0xFF;              // PORTA is input
  TRISB = 0xFF;                             // Set PORTB as input
  //PORTB = 0x00;
  PWM1_Start();                       // start PWM1
  PWM2_Start();                       // start PWM2
  PWM1_Set_Duty(0);        // Set current duty for PWM1
  PWM2_Set_Duty(0);       // Set current duty for PWM2
  adcon1 = 0b1000010;
  while (1) {                         // endless loop

    temp_res = ADC_Read(0);
    temp_res=temp_res*255.0/1024.0;
    newduty=temp_res;
    if(RB0_bit==1 && RB1_bit==0){
         PWM1_Set_Duty(newduty);
         PWM2_Set_Duty(0);
    }else if(RB0_bit==0 && RB1_bit==1){
         PWM1_Set_Duty(0);
         PWM2_Set_Duty(newduty);
    }
    else{
         PWM1_Set_Duty(0);
         PWM2_Set_Duty(0);
    }
    

    Delay_ms(5);                      // slow down change pace a little
  }
}
Exemplo n.º 2
0
void LightTask()
{
    if(Light<359)
      Light+=1;
    else
      Light=0;
      
  PWM2_Set_Duty(Dimming[Light]);
}
Exemplo n.º 3
0
void main()
{  ADCON0 = 0;         //adc =0
   ADCON1 = 0xF0;     // Set all A/D pins as digital I/O pins.
   TRISA = 0X00;
   TRISC = 0x00;
   PORTC = 0X00;
   PORTA = 0b01010000;
   PWM1_Init(5000);
   PWM2_Init(5000);
   Pwm1_Start();
   Pwm2_Start();
   while(1)
   {
   PWM1_Set_Duty(210);
   PWM2_Set_Duty(135);
   Delay_ms(10000);
   PWM1_Set_Duty(255);
   PWM2_Set_Duty(255);
   Delay_ms(10000);
   PWM1_STOP();
   PWM2_STOP();
}
}