Текст заголовка сообщения полностью:
Это легко курится. Вот давай 3разрядный ШИМ замочим. Ага. В 3-хразрядном ШИМе всего 2^3=8 то есть N=8 состояний (от 0 до 7). Выводить будем пусть на выход PB.5.Вот ты решил задать значение (уровень, порог) ШИМ=5 из 8, то есть 5/8.
N Acc Перенос Что делаем.
0 0+5=5 - PB.5=0 (потому что переноса нет).
1 5+5=10 + PB.5=1, обрежем в Acc переполнения: Acc&=0x07.
2 2+5=7 - PB.5=0
3 7+5=12 + PB.5=1, обрежем в Acc переполнения: Acc&=0x07.
4 4+5=9 + PB.5=1, обрежем в Acc переполнения: Acc&=0x07.
5 1+5=6 - PB.5=0
6 6+5=11 + PB.5=1, обрежем в Acc переполнения: Acc&=0x07.
7 5+5=10 + PB.5=1, обрежем в Acc переполнения: Acc&=0x07.
Видишь - на выходе 5 единичек из 8. То есть ШИМ 5/8, как и надо. Ну и хер с ним, что они располагаются хаотически, это даже луччи фильтровать. :-)