logo
HCS12 с применением языка С - royallib

4.25.1. Как остановить мк 68hc12

МК семейства 68HC12 переходит в режим ожидания WAIT сразу после исполнения команды WAI языка ассемблер. Перед тем, как перейти в режим ожидания, МК записывает в стек содержимое регистров центрального процессора и адрес возврата. Затем модуль системной интеграции отключает генератор тактирования центрального процессора, в то время как тактирование периферийных модулей МК продолжается. МК может быть выведен из состояния ожидания WAIT поступлением запроса на прерывание. Этот запрос может быть внешним, или внутренним, например, по какому либо событию в модуле таймера. После поступления запроса, МК перейдет из состояния WAIT в активный режим работы, восстановит значения кодов регистров центрального процессора из стека, а затем перейдет к исполнению подпрограммы прерывания.

МК переводится в режим останова STOP командой STOP языка ассемблер. Команда STOP исполняется только в том случае, если бит S в регистре признаков CCR центрального процессора сброшен. После поступления команды STOP центральный процессор сохраняет все регистры в стеке, а затем модуль системной интеграции полностью выключает систему тактирования МК. При полном отсутствии тактовых импульсов все логические элементы в составе полупроводниковой ИС микроконтроллера находятся в статическом режиме, т.е. в состоянии 0 или 1. Известно, что основные потери энергии в логических элементах происходят при переключениях из одного установившегося состояния в другое. Именно поэтому в состоянии STOP микроконтроллера, когда переключений элементов внутренней структуры нет, энергия потребления резко падает. Данные таблицы рис. 4.116 показывают, что в режиме останова STOP ток потребления МК снижается на три порядка, т.е. примерно в тысячу раз.