Ц
"РЛ" - НАЧИНАЮЩИМ
f
Микрокотроллер AT89S8252 выпускается в различных
модификациях для работы с различными максимальными
тактовыми частотами, и может работать при напряжении пи-
тания о т 2,7В до 6 В. Модели, рассчитанные на максималь-
ную тактовую частоту 16 и более МГц работают от 4 В до 6 В.
При этом микроконтроллер потребляет совсем не много энер-
гии: при тактовой частоте 12 МГц и при напряжении питания
5 В - около 25 мА (без учета тока, потребляемого нагрузкой
портов микроконтроллера), с понижением напряжения пита-
ния потребляемый ток снижается. Небольшое, казалось бы,
значение потребляемого тока может оказаться слишком боль-
шим для устройств с батарейным питанием. И для повыше-
ния экономичности микроконтроллер использует особые ре-
жимы, позволяющие снизить потребляемый ток до 6,5 мА и
даже менее 100 мкА!
Для экономии энергии используется тот факт, что почти
всегда в работе микроконтроллера можно выделить момен-
ты, когда он фактически простаивает, например, ожидает вво-
да данных пользователем (нажатия кнопки), поступления
внешнего сигнала и т.п. Имеется возможность на время та-
ких простоев отключать часть или почти всю периферию мик-
роконтроллера, втом числе даже останавливать встроенный
тактовый генератор, что неизбежно приводит к резкому сни-
жению потребляемого тока.
Различают 2 режима экономии: режим “бездействия” (Idle
mode) и режим остановки или выключения (Power Down
mode). Режим Idle включается сразу после установки флага
IDL и характеризуется тем, что в нем остановлено только
устройство управления микроконтроллера (т.е. исполнение
команд остановлено), а все остальные периферийные уст-
ройства работают (таймеры, порты и т.п.), содержимое па-
мяти и регистров сохраняется, на выводах сохраняются ра-
нее установленные уровни. В этом случае потребляемый ток
снижается примерно до 15% от рабочего. Находиться в ре-
жиме Idle микроконтроллер может сколь угодно долго, а пе-
реход к нормальной работе возможен при поступлении лю-
бого разрешенного запроса прерывания или при сбросе.
Важно! При выходе из режима Idle по сбросу микроконт-
роллер в течение двух машинных циклов выполняет коман-
ды, следующие за командой, которая включила режим Idle, и
лишь затем происходит переход к адресу программ OOOOh.
Этот факт обязательно следует учитывать, т.к. при этом воз-
можно появление нежелательных комбинаций сигналов на
выводах микроконтроллера, связанных с исполнением этих
“лишних" команд.
При выходе из режима Idle по запросу прерывания, мик-
роконтроллер начинает сразу выполнять соответствующий
обработчик, по завершении которого исполнение програм-
мы продолжится с команды, следующей за той, что включи-
ла режим Idle.
Для наибольшей экономичности следует перед перево-
дом микроконтроллера в режим Idle установить на всех пор-
тах высокие логические уровни, если это не повлияет на ра-
боту внешней схемы.
Режим Power Down включается после установки флага
PD и характеризуется тем, что в нем остановлены все пери-
ферийный устройства микроконтроллера, в том числе так-
товый генератор, уровни сигналов на выводах и данные в
памяти и регистрах сохраняются. В режиме Power Down по-
требляемый ток снижается до 100 мкА и менее (допускается
снижение питающего напряжения до минимально допусти-
мого уровня, что приведет к еще большему снижению по-
требляемого тока). В режиме Power Down данные в ОЗУ и
регистрах будут сохранены при снижении напряжения пита-
ния вплоть до 2 В, однако перед выходом из этого режима
уровень питания должен быть восстановлен до номинально-
го значения.
Выход из режима Power Down возможен при сбросе или
поступлении разрешенного внешнего запроса прерывания.
Следует помнить, что в этом случае “пробуждение” микро-
контроллера происходит существенно дольше: 10 мс при ап-
паратном сбросе и 16 мс при поступлении запроса прерыва-
ния. Это время необходимо для запуска и выхода на рабо-
чий режим тактового генератора. Выход по запросу преры-
вания ничем (кроме скорости реакции) не отличается от вы-
хода из режима Idle.
Флаги PD и IDL автоматически сбрасываются с первой
исполняемой командой после выхода из соответствующего
режима.
Оставшийся нерассмотренным флаг SMOD влияет на
работу модуля UART, и будет рассмотрен позднее.
Глава 17. Таймеры
Надеюсь, предыдущий материал не вызвал у вас затруд-
нений, и мы можем приступать к более детальному изуче-
нию внутренних устройств микроконтроллера.
Небольшое примечание. Как-то сложилось, что я ис-
пользую довольно длинное словосочетание “внутренние ус-
тройства", хотя повсеместно принят термин “периферий или
“периферийные устройства” для обозначения того же само-
го. Отныне
эго
недоразумение устраняется - буду использо-
вать этот термин и я. Кстати, регистры специальных функ-
ций очень часто обозначают английской аббревиатурой SFR
- Special Function Registers, что так Же отныне принимается
на вооружение.
Начнем же изучение периферийных устройств мы с наи-
более востребованных элементов -таймеров, которых в на-
шем микроконтроллере три. Отмечу, что три 16-разрядных
таймера - это “роскошь”, недоступная очень многим микро-
контроллерам других семейств. Ранее я уже говорил, что тай-
мер-это на самом деле многофункциональный счетчик (кста-
ти, раньше в “советской” литературе использовали словосо-
четание таймер-счетчик). Назначение любого счетчика-счет
импульсов, а функция формирования временных (от слова
время) интервалов всего лишь одна из многих, выполняе-
мых им. Счетчики таймеров представляют собой пары SFR,
обозначаемые ТНх и TLx (соответственно старший и млад-
ший байты), где “х” - номер таймера. Таким образом, ТНО -
старший байт счетчика таймера 0, a TL2 - младший байт
счетчика таймера 2.
После сброса все счетчики таймеров
содержат нулевые значения.
Еще одно примечание. К сожалению, принятая терми-
нология на редкость неудачна, причем это верно для любых
типов микроконтроллеров - термины таймер и счетчик в неко-
торых случаях используются как синонимы, а в некоторых
случаях нет. Приходится использовать всякие пояснения,
Радиолюбитель - 0 8 /2 0 0 7 II
29
предыдущая страница 29 Радиолюбитель 2007-08 читать онлайн следующая страница 31 Радиолюбитель 2007-08 читать онлайн Домой Выключить/включить текст