Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/31: Рейтинг темы: голосов - 31, средняя оценка - 4.58
moxtiom
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 98
1

Atmega8 - ШИМ

27.09.2011, 02:42. Просмотров 5589. Ответов 3
Метки нет (Все метки)

Здраствуйте!

Использую МК Atmega8. Частота 1МГц.

1) как генерировать ШИМ на таймере 0 частотой 36кГц (для TSOP)?.
ну формулу для рассчета делтителей я знаю
тактовая частота (kHz) / частота TSOPa (kHz) / 2 = Compare
1е6/36е3/2=13.8~14.
но не ясно как выбрать режим ШИМ...в регистре TCRR0 нет битов WGM:

<Изображение удалено>
кроме того в даташите пишет что он работает в режиме Normal(TOP=0xFFFF=65535d). Получается что Т0 может генерировать импульсы с частотой 1е6/65535=15.25..Гц или меньше.

2) возникает с 1-го. У меня 1 нога МК занята (OC1A - PB1) и я там генерирую ШИМ. как мне сгенерировать на второй ноге таймера 1(OC1B - PB2) 36кГц?
по идеи можно использовать 14 режим ШИМ-а и поставить ICR1=14d, но как мне сохранить ШИМ на OC1A и сделать тоже ШИМ на OC1В? или на таймере 1 (OC1А и OC1В) ШИМ может быть только одинаковой частоты?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 02:42
Ответы с готовыми решениями:

Шим на Atmega8.
Суть в следующем! в архиве схема и прошивка , где качал не помню не могу найти источник , но при...

Atmega8 и ШИМ
Вобщем такой вопрос. Есть Atmega8. Хочу сделать програмный ШИМ на всех ножках кроме PD2, PD3, PB6...

Не работает ШИМ МК AtMega8
Делаю импульсный блок питания 30В, 5А. Пишу не сложную прошивку для МК AtMega 8, в протеусе все...

ШИМ и АЦП в Atmega8
Мне нужно управлять током полевого транзистора. Для этого я снимаю напряжение с резистора,...

ШИМ от atmega8. LED.
По форуму искал. Проблема в понимании почему не работает??? Просто перегружен проц в Протеусе, уже...

3
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
27.09.2011, 10:11 2
Ну, во-первых таймер0 - воcьмибитный, поэтому он считает только до 0xff, поэтому частота будет больше.
Во-вторых, да, у него нет блока сравнения, поэтому ШИМ можно организовать только программно. Алгоритм примерно такой:
записываешь в регистр TCNT0 значение 255-14=241
ждешь прерывания по переполнению. В этом прерывании дергаешь ножку ШИМ и записываешь в регистр счетчика опять то же самое значение.
Получаешь меиндр.
Если поочередно будешь записывать разные значения, то можешь и ШИМ сгородить.
0
Johmmy0007
1 / 1 / 0
Регистрация: 30.08.2011
Сообщений: 9,944
27.09.2011, 11:09 3
Цитата Сообщение от moxtiom
2) возникает с 1-го. У меня 1 нога МК занята (OC1A - PB1) и я там генерирую ШИМ. как мне сгенерировать на второй ноге таймера 1(OC1B - PB2) 36кГц?
по идеи можно использовать 14 режим ШИМ-а и поставить ICR1=14d, но как мне сохранить ШИМ на OC1A и сделать тоже ШИМ на OC1В? или на таймере 1 (OC1А и OC1В) ШИМ может быть только одинаковой частоты?
Да, раз счётчик один, частота шим будет одинакова, можно менять только скважности шим сигналов

Если нужен еще один аппаратный шим, используйте таймер 2
0
moxtiom
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 98
28.09.2011, 00:37 4
спасибо...сделал PWM на таймерах 1,2.
сменил ноги МК.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 00:37

Atmega8 и ШИМ 20кГц
Подскажите как сделать аппаратный ШИМ на 20 кГц на Atmega8? И возможно ли его реализовать использую...

Программный шим atmega8
Короче нет не одного толкового урока или стати на тему программного шима всегда какой то ржб...

Синус с помощью ШИМ на AtMega8
Здравствуйте! Раньше дел с контроллерами не имел, поэтому решил начать с малого. Взял я ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru