Niestety sprzętowy PWM na razie nie jest jasny dla Ciebie i już widzę co źle robisz .... Ale zanim powiem, postaraj się sam sobie odpowiedzieć
1. czy robiłeś wcześniej ćwiczenie z płynnym ściemnianiem i rozjaśnianiem diody LED za pomocą PWM ???
2. jeśli tak? to czy zwróciłeś uwagę na zjawisko NIELINIOWOŚCI w zależności prąd/jasność (czyli wartość PWM/jasność) ???? (a pisałem też o tym w książce). I nawet w przykładach robiłem dziwne zabiegi ze zmianą kroków dla niskich wartości PWM żeby tak na oko uzyskać bardziej płynne ściemnianie/rozjaśnianie w zakresie słabego świecenia diody czyli w zakresie powiedzmy do 20-30% wypełnienia PWM.....
w ogóle o tym zapomniałeś panie kochany bo wymyśliłeś sobie teraz że dasz OCR=125 i co ? ma się świecić wg ciebie jaśniej? ciemniej? czy co ?
nie wspomnę już że próba wygaszania diody LED twoim makrem LED1_OFF to totalnie nieporozumienie jak pisał Krauser, ale wyjaśnię Ci dlaczego (pisał też Krauser) ..... otóż ustawienie bitów COMxx powoduje że pin PB3 !!! przestaje działać jako zwykły port WE/WY
..... i nie ustawisz na nim stanu wysokiego lub niskiego takimi makrami - bo kontrolę przejął PWM sprzętowy rozumiesz ???? czyli teraz wygaszenie diody LED można zrobić na dwa sposoby:
1. albo dać 0% wypełnienia PWM - poprzez rejestr OCR0, np: OCR0=0; albo OCR0=255; w zależności jak ustawisz bity COMxx
2. albo zerować obydwa bity COMxx i wtedy zadziała ci dopiero twoje makro LED1_OFF - rozumiesz ???? (z tym że lepszy jest w tym przypadku ten sposób wyżej nr.1)
Tymczasem wracając do początku - ty dałeś sobie do OCR wartość = 125 i oczekujesz że np dioda LED będzie ci świeciła ciemniej albo jaśniej
- ZONK ZONK ZONK ......
na początek sprawdź to sobie tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i sprawdź Pan że to ładnie działa - czyli będzie ci gasić i zapalać diodę
a teraz jak chcesz mieć zamiast zapaloną pełnym światłem to tylko lekko rozjaśnioną to daj zamiast 255 wartość = 250, albo wartość = 10 (w zależności od bitów COMxx i podłączenia diody LED)
i nic tu nie dzieje się tak jak próbujesz zgadywać
.... że jakieś tam oznaki , że coś ale niestabilnie itp
PWM nie działa niestabilnie. ALBO DZIAŁA albo NIE DZIAŁA
oczywiście nie zpomnij poprawić tego fragmentu programu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
podpowiem że właśnie odpalam ten przykład na zestawie ATB i ładnie działa - więc u ciebie też musi a jeśli nie to coś źle podłączasz niestety sprzętowo
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]