Регистры портов ввода/вывода
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Обращение к портам производится через регистры ввода/вывода. Под каждый порт в адресном пространстве ввода/вывода зарезервировано по 3 адреса, по которым размещены следующие регистры: регистр данных пор­та PORTx, регистр направления данных DDRx и регистр выводов порта PINx. Действительные названия регистров получаются подстановкой названия порта вместо символа «х», соответственно регистры порта А называются PORTA, DDRA, PINA, порта В — PORTB, DDRB, PINB и т. д. Поскольку с помощью регистров PIN* осуществляется доступ к физическим значениям сигналов на выводах порта, они доступны только для чтения, тогда как ос­тальные два регистра доступны и для чтения, и для записи.

 

Таймеры

 

Таймер/счетчик ТО имеет минимальный набор функций. Он может использоваться только для отсчета и измерения временных интервалов или как счетчик внешних событий, возможность генерации сигналов с широтно-импульсной модуляцией (ШИМ) фиксированной разрядности, а также возможность работать в асинхронном режиме в качестве часов реального времени.

 

Таймер/счетчик Т2 полностью аналогичен таймеру/счетчику ТО

 

Таймер/счетчик ТЗ имеет те же функциональные возможности, что и ТО, он может работать в качестве широтно-импульсного модулятора, но уже переменной разрядности и к тому же многоканальный.

 

Сторожевой таймер

 

Как и микроконтроллеры остальных семейств, все микроконтроллеры семейства Mega имеют в своем составе сторожевой таймер, предназначенный для защиты микроконтроллера от сбоев в процессе работы. Исполнение сторожевого таймера одинаково для всех моделей семейства.

Сторожевой таймер имеет независимый тактовый генератор, поэтому он работает даже во время нахождения микроконтроллера в любом из спящих режимов. Типовое значение частоты этого генератора равно 1 МГц при Vcс=5.0В. Фактическая частота генератора зависит oт напряжения питания устройства, температуры, технологического разброса.

Если сторожевой таймер включен, то через промежутки времени равные его периоду, он выполняет сброс микроконтроллера. Чтобы избежать сброса при нормальном выполнении программы, сторожевой таймер необходимо регулярно сбрасывать через промежутки времени, меньшие его периода. Сброс сторожевого таймера осуществляется командой WDR.

Для управления сторожевым таймером предназначен регистр WDTCR, который во всех моделях расположен по адресу $21 ($41).

 

Назначение выводов таймеров/счетчиков

Каждый таймер/счетчик использует один или более выводов микрокон­троллера. Эти выводы — линии портов ввода/вывода общего назначения, а функции, реализуемые этими выводами при работе совмест­но с таймерами/счетчиками, являются их альтернативными функциями.

 

Аналоговый компаратор

 

Модуль аналогового компаратора входит в состав всех без исключения микроконтроллеров семейства Mega. Будучи включенным, компаратор позволяет сравнивать значения напряжений, присутствующих на двух выводах микроконтроллера. Результатом сравнения является логическое значение, которое может быть прочитано из программы. По результату сравнения может быть сгенерировано прерывание, а также осуществлен захват состояния таймера/счетчика Т1. Последняя функция позволяет, в частности, измерять длительности аналоговых сигналов.

Используемые компаратором выводы являются контактами портов вво­да/вывода общего назначения

Чтобы указанные выводы могли использоваться аналоговым компаратором, они должны быть сконфигурированы как входы (соответствующий разряд регистра DDRx установлен в «1»). Кроме того, необходимо отключить внутренние подтягивающие резисторы записью лог. 0 в соответствующий разряд регистра PORTх.

Аналого-цифровой преобразователь

Модуль 10-разрядного АЦП последовательного приближения входящий в состав моделей имеет следующие основные параметры:

• абсолютная погрешность: ±2 МЗР;

• интегральная нелинейность: ±0.5 МЗР;

• быстродействие: до 15 тыс. выборок/с.

На входе модуля АЦП всех моделей имеется 8-канальный аналоговый мультиплексор, предоставляющий в распоряжение пользователя 8 каналов с несимметричными входами.

В качестве источника опорного напряжения для АЦП может использоваться как напряжение питания микроконтроллера, так и внутренний либо внешний источник опорного напряжения.

В процессе работы АЦП может функционировать в двух режимах:

• режим одиночного преобразования, когда запуск каждого преобразования инициируется пользователем;

• режим непрерывного преобразования, когда запуск преобразований выполняется непрерывно через определенные интервалы времени.

Универсальный асинхронный (синхронный/асинхронный) приемопередатчик

Все без исключения микроконтроллеры семейства Mega имеют в своем составе модули либо универсального асинхронного (UART), либо универсального синхронно/асинхронного (USART) приемопередатчика. Более того, в некоторых моделях имеется по два таких модуля. Заметим, что модули USART при работе в асинхронном режиме совместимы с модулями UART как по расположению разрядов управляющих регистров, так и по функционированию. Небольшие различия имеются только в работе схемы буферизации блока приемника модулей и в названии (но не в назначении) некоторых разрядов управляющих регистров.

Все модули приемопередатчиков обеспечивают полнодуплексный обмен по последовательному каналу, при этом скорость передачи данных может варьироваться в довольно широких пределах. В модулях UART посылка может быть 8- или 9-разрядной, а в модулях USART ее длина может составлять от 5 до 9 разрядов. Еще одной особенностью модулей USART является наличие схем формирования и контроля четности.

Модули USART/UART, реализованные в микроконтроллерах семейства, могут обнаруживать следующие внештатные ситуации:

• переполнение;

• ошибка кадрирования;

• неверный старт-бит.

Для уменьшения вероятности сбоев в модулях также реализована такая полезная функция, как фильтрация помех.

Для взаимодействия с программой в модулях предусмотрены 3 прерывания, запрос на генерацию которых формируется при наступлении следующих событий: «передача завершена», «регистр данных передатчика пуст» и «прием завершен».

Как обычно, выводы микроконтроллера, используемые модулями USART/UART, являются линиями портов ввода/вывода общего назначения.

 

Дата: 2019-07-24, просмотров: 189.