Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Работа в режиме широтно-импульсного модулятора



Таймеры/счетчики ТС1 и ТС2 могут работать в режиме широтно-импульсного модулятора.

Широтно-импульсный модулятор (ШИМ) – это устройство, формирующее последовательность импульсов постоянной частоты, длительность которых пропорциональна величине входного сигнала.

Рассмотрим работу в режимеШИМ на примере таймера/счетчика 2. При установленном ШИМ режиме таймер/счетчик 2 и регистр сравнения выхода OCR2 формируют 8-разрядный ШИМ-сигнал с выходом через выводыPD7 (OC2).

Таймер/счетчик 2 работает как реверсивный счетчик, считающий от $00 до $FF, после чего он считает в обратную сторону до нуля и только после этого начинает новый цикл (рис. 13.7).

Когда состояние счетчика совпадает с содержимым регистра сравнения выхода, выводы PD7 (OC2) устанавливаются или очищаются, в соответствии с установленными, в регистрах управления таймерами/счетчиками TCCR2, битами СОМ21/СОМ20.

Изменение уставки сравнения
Текущее состояние таймера/счетчика
Установленное значение сравнения
Выход ШИМ

 


Рис. 13.7. Формирование ШИМ сигнала

 

Частота ШИМ будет соответствовать тактовой частоте таймера, деленной на 512. Тип организации ШИМ определяется значениями битов СОМ21 и СОМ20 так, как показано в таблице 13.10.

 

Таблица 13.10. – Выбор режима сравнения в ШИМ режиме

С0М21 СОМ20 Эффект, оказываемый на вывод Compare/PWM
Не подсоединен
Не подсоединен
Очистка при совпадении, счет по нарастанию. Установка при совпадении, счет по убыванию (неинвертирующий ШИМ).
Очистка при совпадении, счет по убыванию. Установка при совпадении, счет по нарастанию (инвертирующий ШИМ).

В ШИМ режиме флаг переполнения таймера TOV2 устанавливается при смене направления счета при $00. Прерывание по переполнению таймера 2 работает так же, как и в нормальном режиме таймеров/счетчиков.

В таблице 13.11 приведены векторы прерывания, относящиеся к таймерам/счетчикам.

 

Таблица 13.11. –Векторы прерывания таймеров/счетчиков

Vector No. Program Address Source Interrupt Definition
$003 TIMER2 COMP Совпадение при сравнении таймера/счетчика 2 (Timer/Conter2 Compare Match)
$004 TIMER2 OVF Переполнение таймера/счетчика 2 (Timer/Conter2 Overflow)
$005 TIMER1 CAPT Захват таймера/счетчика 1 (Timer/Conter1 Capture Event)
$006 TIMER1 COMPA Совпадение А при сравнении таймера/счетчика 1 (Timer/Conter1 Compare Match А)
$007 TIMER1 COMPB Совпадение В при сравнении таймера/счетчика 1 (Timer/Conter1 Compare Match В)
$008 TIMER1 OVF Переполнение таймера/счетчика 1 (Timer/Conter1 Overflow)
$009 TIMER0 OVF Переполнение таймера/счетчика 0 (Timer/Conter0 Overflow)

Варианты индивидуальных заданий

1. Запрограммировать таймер/счетчик 0 для индикации секунд на семисегментном индикаторе HG1. То есть, каждую секунду на индикаторе меняется цифра 0,1,2,…9,0,1,2,…9 и т.д. Частота кварцевого резонатора микроконтроллера – 8 МГц.

2. Запрограммировать таймер/счетчик 0 для динамической индикации цифр на семисегментных индикаторах HG1 и HG2. Таймер/счетчик 1 запрограммировать для счета нажатий кнопки SB5. На индикацию выводить в виде шестнадцатиричного числа содержимое регистра TCNT1. При нажатии кнопки SB2 содержимое счетчика сбрасывается в нуль.

3. Запрограммировать «бегущий» огонь на индикаторах VD4 – VD6, используя таймер/счетчик 0. Переключение тумблера SA1 изменяет темп «бега». Для возможности визуального наблюдения «бега» огня придётся реализовать программным путем счетчик числа формирований флага переполнения таймера/счетчика.

4. Запрограммировать таймер/счетчик 1 для работы в ШИМ режиме для выдачи импульсов на вывод PD5 (OC1A) микроконтроллера, к которому подключен светодиод VD5. При включении тумблера SA1 частота ШИМ уменьшается, а при включении SA2 – увеличивается. Уменьшение и увеличение частоты импульсов оценивается по свечению светодиода VD5.

5. Запрограммировать таймер/счетчик 2 для работы в ШИМ режиме для выдачи импульсов на вывод PD7 (OC2) микроконтроллера, к которому подключен звукоизлучатель HA1. При нажатии на кнопку SB1 частота ШИМ уменьшается, а при одновременном нажатии двух кнопок SB1 и SB2 – увеличивается. Уменьшение и увеличение частоты импульсов оценивается по изменению тона звучания звукоизлучателя.

6. Запрограммировать таймер/счетчик 1 для реализации меандра (ступеней). Импульсы меандра выводить на звукоизлучатель HA1. Запрограммировать циклическую программу линейно меняющейся частоты меандра (10 ступеней). После достижения максимальной частоты происходит ступенчатый переход на минимальную частоту.

7. На основе таймеров организовать с дискретностью 1 с измерение длительности включенного состояния тумблера SA4 (INT0). Допустимая длительность – 9 секунд. Индикацию секунд организовать на семисегментном индикаторе HG2. При нажатии кнопки SB3 происходит обнуление индикатора.

8. Таймер/счетчик 0 и таймер/счетчик 1 запрограммировать на счет внешних событий (нажатий и отпусканий кнопок соответственно SB4 и SB5). На индикаторе HG2 индицировать разность содержимого счетчиков. Если число в таймере/счетчике 0 меньше чем в таймере/счетчике 1, то высвечивается на индикаторе цифра 0. Если число в таймере/счетчике 0 превышает больше чем на 9 число в таймере/счетчике 1, то высвечивается цифра 9. В остальных случаях высвечивается цифра превышения числа в таймере/счетчике 0 над числом в таймере/счетчике1. При нажатии кнопки SB3 счетчики сбрасываются (обнуляются).

 


 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.