Advertisement
Guest User

pwm

a guest
Jun 30th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. A minha linha de raciocino era essa:
  2. t=20000;            // O pulso é 20ms (20.000us)
  3. valor = read_adc(); // Então com o ADC em 10 bits (0-1023) lia o valor de um potenciômetro.
  4. ton=valor+999;      // somava 987 a esse valor (já que o pulso mínimo é 1ms. mesmo)
  5. toff=t-ton;         // tempo de delay desligado é o tempo total (t) - o tempo ligado (ton)
  6. if (ton >= 2000)
  7. {
  8.  ton = (2000);      //então, se o pulso era =< 1000, ele se tornava 1000.
  9. output_high(PIN_A2);    //liga o pino
  10. delay_us(ton);          //delay do tempo ligado por exemplo 2000us
  11. output_high(PIN_A2);    //desliga o pino
  12. delay_us(toff);         //delay do tempo desligado por exemplo 18000us.
  13. }    
  14. else if (ton <= 1000)
  15.  {
  16. ton = 1000;             //então, se o pulso era => 2000 ele se tornava 2000;
  17. output_high(PIN_A2);    //liga o pino
  18.    delay_us(ton);       //delay do tempo ligado por exemplo 2000us
  19. output_high(PIN_A2);    //desliga o pino
  20.    delay_us(toff);      //delay do tempo desligado por exemplo 18000us.
  21. }  
  22.  
  23. caso o valor não fosse =< 1000 ou => 2000 então
  24. else
  25. {
  26. output_high(PIN_A2);
  27.     delay_us(ton);
  28. output_high(PIN_A2);
  29.     delay_us(toff);
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement