Witam szanownych grupowiczow. Mam kilka pytan odnosnie sterowania pwm. Wykorzystuje procesor at89s8252 nie majacy sprzetowego pwm, do tego celu chcialem wykorzystac zegar timer1 lub 2. I teraz mam pytanie: jak sie to ugryzc ?
Wymyslilem sobie ze bede mial przerywania z tego zegara, w ktorym bede naprzemiennie dekramentowal dwa bajty odpowiadajace czasowi trwania sygnalu high oraz low.
h l |----------| |-------- | | |
------| |-----|
unsigned char h,l;
if (--h == 0) { if (--l == 0) { h = 10; l = 5; } else P1_0 = 0;
} else P1_0 = 1;
W tym przykladzie wypelnienie bedzie wynosic 75%. Czy to bedzie dzialalo ? Z jaka czestotliwoscia musi przerywac zegar ? Tzn: jaka czestotliwosc musi miec sygnal pwm.
Moze istnieja inne sposoby na rozwiazanie tego problemu ? Bo moja wersja jest bardzo ramo/romo zerna. Prosze o sugestie. Ewentualnie moze ktos zna jakis uklad ktory pozwala na sterowanie pwm (2-3 kanaly) przez spi.
pozdr. LB