Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/31: Рейтинг темы: голосов - 31, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 98
1

Atmega8 - ШИМ

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

Author24 — интернет-сервис помощи студентам
Здраствуйте!

Использую МК 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2011, 02:42
Ответы с готовыми решениями:

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

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

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

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

3
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
27.09.2011, 10:11 2
Ну, во-первых таймер0 - воcьмибитный, поэтому он считает только до 0xff, поэтому частота будет больше.
Во-вторых, да, у него нет блока сравнения, поэтому ШИМ можно организовать только программно. Алгоритм примерно такой:
записываешь в регистр TCNT0 значение 255-14=241
ждешь прерывания по переполнению. В этом прерывании дергаешь ножку ШИМ и записываешь в регистр счетчика опять то же самое значение.
Получаешь меиндр.
Если поочередно будешь записывать разные значения, то можешь и ШИМ сгородить.
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
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
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 98
28.09.2011, 00:37 4
спасибо...сделал PWM на таймерах 1,2.
сменил ноги МК.
0
28.09.2011, 00:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2011, 00:37
Помогаю со студенческими работами здесь

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

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

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

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

Неинвертированный ШИМ сигнал на ATMEGA8
Нужно сделать не инвертированный ШИМ сигнал на выходе OC1B микроконтроллера Atmega8 Вводные...

Цепь ОС с использованием ШИМ и АЦП (ATMEGA8)
Доброе утро ! Прошу помощи у более опытных товарищей . В один мой проект необходимо внедрить...

Непонятен прицнип работы быстрого ШИМ'а на atmega8
Я прочитал документацию, но как-то странно всё работает. Я изучаю counter/timer1. Биты COM1A1 и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru