Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
60 Микроконтроллеры AVR от азов программирования... Процесс выполнения команды Теперь рассмотрим сам процесс выполнения программы. Для того, чтобы микропроцессор мог последовательно читать команды из памяти, внутри него имеется специальный регистр, называемый регистром адреса или счетчиком команд. В этом регистре хранится адрес текущей выполняемой команды. Работа микропроцессора всегда начинается с процедуры начального сброса. Сброс микропроцессора сводится к установке всех его регистров в исходное состояние. В регистр адреса после сброса записывается адрес начала программы. Адрес начала программы зависит от модели микро процессора и определяется его разработчиком. Чаще всего этот адрес равен нулю. Сразу по окончании процесса начального сброса начинается выпол нение программы. Для начала процессор читает число из программной памяти, т. е. из ячейки, адрес которой записан в регистр адреса. В нашем случае — из ячейки с нулевым адресом. Прочитанное число он воспри нимает как код первой команды. Процессор анализирует код и выполняет соответствующую команду. Если команда предполагает наличие еще одного или нескольких байтов с параметрами, то перед тем, как выполнять команду, процессор читает нужное количество байт из последующих ячеек памяти. При этом он каждый раз увеличивает содержимое регистра адреса. После выполнения первой команды процессор снова увеличивает зна чение счетчика команд на единицу и приступает к чтению и выполнению следующей команды. Этот процесс повторяется бесконечно, пока на про цессор подано напряжение питания. Таким образом, нормально работа ющий процессор всегда находится в процессе выполнения программы. Правда, существуют несколько исключений. В частности, в системе команд микропроцессора обычно имеется специальная команда оста нова. Если в процессе выполнения программы встретится такая команда, процессор останавливается. То есть прекращает выполнение программы. Запуск процессора в этом случае возможен лишь после системного сброса либо в результате внешнего прерывания. О том, что такое пре рывание, мы еще поговорим. Второе исключение — режим сна. Некоторые модели микроконтрол леров способны переходить в специальный режим низкого потребления энергии, который называется режимом сна или спящим режимом. В спя щем режиме выполнение программы также приостанавливается. Режим сна удобен в том случае, когда микропроцессорная система вынуждена долгое время находиться в состоянии ожидания. Например, ожидание нажатия кнопки «Пуск». Такой процессор способен в нужный момент пробудиться из режима сна и продолжить работу.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==