- •Лабораторная работа № 1
- •Теоретические сведения
- •1. Порты ввода/вывода
- •1.1. Общие сведения
- •1.2. Регистры портов ввода/вывода
- •1.3. Конфигурирование портов ввода/вывода
- •2. Шестнадцатибитные таймеры/счетчики
- •2.1. Управление тактовым сигналом
- •2.2. Режимы работы
- •2.2.1. Режим Normal
- •2.3. Программирование 16-тибитных таймеров/счетчиков
- •Лабораторная работа №2 (4 часа)
- •2. Произвести отладку программы средствами avrStudio.
- •3. Произвести загрузку программы в микроконтроллер.
- •Теоретические сведения
- •1. Прерывания в atMega128
- •1.1. Общие сведения
- •1.2. Таблица векторов прерываний
- •1.3. Обработка прерываний
- •1.4. Внешние прерывания
- •2. Шестнадцатибитные таймеры/счетчики
- •2.1. Управление тактовым сигналом
- •2.2. Режимы работы
- •2.3. Прерывания от таймеров/счетчиков
- •2.4. Предделители таймеров/счетчиков
- •2.4.1. Управление предделителями
- •Лабораторная работа № 3 (4 часа) «Программирование таймеров в режиме шим»
- •1. Таймеры
- •1.1. Общие сведения
- •1.2. Назначение выводов таймеров/счетчиков
- •1.3. Прерывания от таймеров/счетчиков
- •1.4. Предделители таймеров/счетчиков
- •1.4.1. Управление предделителями
- •1.5. Восьмибитные таймеры/счетчики
- •1.5.1. Управление тактовым сигналом
- •1.5.2. Режимы работы
- •2. Прерывания в atMega128
- •2.1. Общие сведения
- •2.2. Таблица векторов прерываний
- •2.3. Обработка прерываний
- •2.4. Внешние прерывания
- •3. Порты ввода/вывода
- •3.1. Общие сведения
- •3.2. Регистры портов ввода/вывода
- •3.3. Конфигурирование портов ввода/вывода
Лабораторная работа № 3 (4 часа) «Программирование таймеров в режиме шим»
Цель работы
Изучить функциональные возможности использования режимов ШИМ таймеров микроконтроллера ATmega128.
Изучить порядок программирования режимов ШИМ таймеров микроконтроллера ATmega128.
Порядок выполнения работы
Изучить работу 8-ми таймеров микроконтроллера в режимах CTC и ШИМ.
Используя режим CTC таймера T0, определить тактовую частоту подсистемы ввода/вывода микроконтроллера.
Используя режим СТС, сформировать на выходе ОС0 микроконтроллера сигналы следующей частоты: , , , . Переключение между частотами осуществлять с помощью кнопок.
Сформировать на выходе ОС0 микроконтроллера ШИМ-сигнал с периодом, кратным периоду полного счета таймера 0, и скважностью импульсов 25%, 50%, 75%.
Измерить параметры полученного сигнала с помощью осциллографа.
Продемонстрировать результат работы преподавателю.
1. Таймеры
1.1. Общие сведения
Микроконтроллер ATmega128 имеет в своем составе четыре таймера/счетчика общего назначения:
8-битный асинхронный таймер/счетчик Т0;
16-битный таймер/счетчик Т1;
8-битный таймер/счетчик Т2;
16-битный таймер/счетчик Т3.
Таймер/счетчик ТО имеет минимальный набор функций. Он может использоваться для отсчета и измерения временных интервалов, а также к этому добавляется возможность генерации сигналов с широтно-импульсной модуляцией (ШИМ) фиксированной разрядности (один канал) и возможность работать в асинхронном режиме в качестве часов реального времени.
Таймер/счетчик Т1 тоже может использоваться для отсчета временных интервалов и как счетчик внешних событий. Кроме того, он может осуществлять запоминание своего состояния по внешнему сигналу. Как и таймер/счетчик ТО, он может работать в качестве 2- или 3-канального широтно-импульсного модулятора, но уже переменной разрядности.
Таймер/счетчик Т2 практически полностью аналогичен таймеру/счетчику ТО, за исключением того, что он может использоваться также как счетчик внешних событий, и в нем отсутствует возможность работы в асинхронном режиме.
Таймер/счетчик ТЗ по функциональным возможностям идентичен таймеру/счетчику Т1.
В составе микроконтроллера имеется также сторожевой таймер, являющийся непременным атрибутом всех современных микроконтроллеров. Этот таймер позволяет избежать несанкционированного зацикливания программы, возникающего по тем или иным причинам.
1.2. Назначение выводов таймеров/счетчиков
Каждый таймер/счетчик использует один или более выводов микроконтроллера. Эти выводы являются линиями портов ввода/вывода общего назначения, а функции, реализуемые этими выводами при работе совместно с таймерами/счетчиками, являются их альтернативными функциями.
Все выводы микроконтроллера, используемые таймерами/счетчиками общего назначения, приведены в Табл. 1.1. Там же указаны функции этих выводов.
При использовании альтернативных функций линий портов ввода/вывода необходимо самостоятельно сконфигурировать эти выводы в соответствии с их функциональным назначением.
Таблица 1.1. Выводы, используемые таймерами/счетчиками общего назначения
Название |
Вывод порта |
Описание |
OC0 |
PB4 |
Выход схемы сравнения таймера Т0 |
T1 |
PD6 |
Вход внешнего сигнала таймера Т1 |
ICP1 |
PD4 |
Вход захвата таймера Т1 |
OC1A |
PB5 |
Выходы схемы сравнения таймера Т1 |
OC1B |
PB6 |
|
OC1C |
PB7 |
|
T2 |
PD7 |
Вход внешнего сигнала таймера Т2 |
OC2 |
PB7 |
Выход схемы сравнения таймера Т2 |
T3 |
PE6 |
Вход внешнего сигнала таймера Т3 |
ICP3 |
PE7 |
Вход захвата таймера Т3 |
OC3A |
PE3 |
Выходы схемы сравнения таймера Т3 |
OC3B |
PE4 |
|
OC3C |
PE5 |