Показать сообщение отдельно

  #61  
Старый 28.10.2008, 16:49
Аватар для MegaDeth
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

Репутация: 184
По умолчанию

_noise_ сейчас попробую тебе популярно обьяснить что такое ШИМ.
на линии МК, настроеной на вывод может быть только 2 устойчивых положения, лог 1 (+5в) и лог. 0 (0 В)
как можно заставить светодиод загораться плавно? по-сути, нужно увеличить силу тока, проходящего через него. но напряжение у нас фиксированное, либо 5В либо 0В. как быть?
Представь диаграмму, где на линии вывода с определенной частотой изменяется этот лог. уровень так, что время пребывания в лог 1 равно времени прибывания лог. 0. вот тогда скважность ШИМ = 50%. Скважность ШИМ это отношение времени прибывания лог. 1 к периоду. соотвественно чем оно больше тем дольше удерживается лог.1. при достаточной частоте ШИМ незаметно что уровень изменяется, а скважность влияет на ток, проходимый по выводу МК. так вот и управляется светодиод))) достаточно линейно от максимума к минимуму и от минимума к максимуму изменять скважность, и на выводе мы получим синусоидальный сигнал...........
Шим бывает программный, бывает аппаратный. программный шим это когда все это делается программно, тоесть удержание лог. 1 и пр...
если МК имеет аппаратный ШИМ - то надо настроить линию на вывод, сконфигурировать ее как ШИМ, настроить предделители (частотоа шим. делителями выбирается частота относительно тактовой частоты МК)
и настроить скважность. (которую впоследствии можно изменять) но скважность указывается не в процентах, а числом в регистре. количество бит, отвечающих за скважность может быть разным. чем больше, тем точнее можно указать скважность...
вообщем ллучше конечно аппаратный ШИМ) гемору меньше) открыл ща исзодник свой сам нефега не разберусь, "комменты жгут"(c)
но работает все норм)
 
Ответить с цитированием