Читаем Микроконтроллеры AVR: от простого к сложному полностью

Бит 4 — SM: режим Sleep. Этот бит выбирает один из двух режимов пониженного энергопотребления. Если бит сброшен, в качестве режима Sleep выбирается холостой режим (Idle mode). Если бит установлен — выбирается экономичный режим (Power Down). Особенности каждого из режимов будут рассмотрены ниже.

Биты 3, 2 — ISC11, ISC10: биты управления срабатыванием прерывания 1. Внешнее прерывание активируется выводом INT1, если установлен флаг I регистра состояния SREG и установлена соответствующая маска в регистре GIMCK. Срабатывание по уровню и фронтам задается следующим образом:




Биты 1, 0 — ISC01, ISC00: биты управления срабатывание прерывания 0. Внешнее прерывание активируется выводом INT0, если установлен флаг 1 регистра состояния SREG и установлена соответствующая маска в регистре GIMCK. В табл. 2.4 приведена установка битов для задания срабатывания по уровню и фронтам.

2.5. Режимы пониженного энергопотребления

Для запуска режима пониженного энергопотребления должен быть установлен в состояние 1 бит SE регистра MCUCR и должна быть выполнена команда SLEEP. Если во время нахождения в режиме пониженного потребления происходит одно из разрешенных прерываний, процессор начинает работать, исполняет подпрограмму отработки прерывания и продолжает выполнение программы с команды, следующей за SLEEP. Содержимое регистрового файла и память ввода/вывода не изменяется. Если в режиме пониженного потребления происходит сброс, процессор начинает выполнение программы., вектора сброса.

Если для вывода из экономичного режима используется прерывание по уровню, низкий уровень должен удерживаться на время, достаточное для запуска генератора тактовых импульсов, — не менее 16 мс. Иначе флаг прерывания может вернуться в 0 до того, как процессор начнет работу.


Режим холостого хода


Когда бит SM сброшен, команда SLEEP переводит процессор в режим холостого хода (Idle mode). ЦПУ останавливается, но таймеры/счетчики, сторожевой таймер и система прерываний продолжают работать. Это позволяет процессору возобновлять работу как с внешних прерываний, так и по переполнению таймеров/счетчики или по сбросу от сторожевого таймера. Если прерывание от аналогового компаратора не требуется, аналоговый компаратор может быть отключен установкой бита ACD регистра ACSR. Это уменьшает потребляемую мощность.


Экономичный режим


Когда бит SM = 1, команда SLEEP переводит процессор в экономичный режим (Power Down Mode). В этом режиме останавливается генератор тактовых импульсов. Программист может разрешить работу сторожевого таймера в этом режиме. Если сторожевой таймер разрешен, процессор выходит из экономичного режима после отработки периода сторожевого таймера. Если сторожевой таймер запрещен, выход из экономичного режима может произойти только по внешнему сбросу или внешнему прерыванию по уровню.

2.6. Таймеры/счетчики

В AT90S2313 предусмотрены два таймера/счетчика общего назначения: 8-разрядный и 16-разрядный. Каждый из таймеров индивидуально подключается к одному из выходов 10-разрядного предварительного делителя частоты. Оба таймера могут использоваться как таймеры с внутренним источником импульсов или как счетчики импульсов, поступающих извне.

В качестве источника импульсов для таймеров можно выбрать сигнал тактовой частотой микроконтроллера (СК), импульсы предварительного делителя (СК/8, СК/64, СК/256 или СКУ1024) или импульсы с соответствующего внешнего вывода. На рис. 2.25 изображена структурная схема предварительного делителя частоты.

Кроме того, таймеры могут быть остановлены.



Рис. 2.25.Предварительный делитель тактовой частоты для таймеров


8-разрядный таймер/счетчик 0


8-разрядный таймер/счетчик может получать импульсы тактовой частоты — СК, импульсы с предварительного делителя (СК/8, СК/64, СК/256 или СК/1024), импульсы с внешнего вывода или быть остановлен соответствующими установками регистра TCCR0. Флаг переполнения таймера находится в регистре TIFR. Биты управления таймером расположены в регистре TCCR0. Разрешение и запрещение прерываний от таймера управляется регистром TIMCK.

При работе таймера/счетчика от внешнего сигнала этот сигнал синхронизируется с тактовым генератором микроконтроллера. Для правильной обработки внешнего сигнала минимальное время между соседними импульсами должно превышать период тактовой частоты процессора. Сигнал внешнего источника обрабатывается по спадающему фронту тактовой частоты процессора.



Рис. 2.26.Блок-схема таймера/счетчика 0



Рис. 2.27. Регистр управления таймером/счетчиком 0 TCCR0


Биты 7…3 — в AT90S2313 зарезервированы и всегда читаются как 0.

Биты 2, 1, 0 — CS02, CS01, CS00 — выбор тактовой частоты. Эти биты задают коэффициент деления предварительного делителя.



Перейти на страницу:

Все книги серии Библиотека инженера

Похожие книги

Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника