Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы МП.New.doc
Скачиваний:
27
Добавлен:
23.11.2019
Размер:
1.08 Mб
Скачать

Лабораторная работа № 3 (4 часа) «Программирование таймеров в режиме шим»

Цель работы

  1. Изучить функциональные возможности использования режимов ШИМ таймеров микроконтроллера ATmega128.

  2. Изучить порядок программирования режимов ШИМ таймеров микроконтроллера ATmega128.

Порядок выполнения работы

  1. Изучить работу 8-ми таймеров микроконтроллера в режимах CTC и ШИМ.

  2. Используя режим CTC таймера T0, определить тактовую частоту подсистемы ввода/вывода микроконтроллера.

  3. Используя режим СТС, сформировать на выходе ОС0 микроконтроллера сигналы следующей частоты: , , , . Переключение между частотами осуществлять с помощью кнопок.

  4. Сформировать на выходе ОС0 микроконтроллера ШИМ-сигнал с периодом, кратным периоду полного счета таймера 0, и скважностью импульсов 25%, 50%, 75%.

  1. Измерить параметры полученного сигнала с помощью осциллографа.

  2. Продемонстрировать результат работы преподавателю.

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