Читаем Занимательно о микроконтроллерах полностью

Внутреннее ОЗУ данных предназначено для временного хранения информации, используемой в процессе выполнения программы, и занимает 128 младших байтов, с адресами от 000h до 07Fh для микроконтроллеров 8051, 8031, КР1816ВЕ31, КР1816ВЕ51, КР1816ВЕ751 КР1830ВЕ31, КР1830ВЕ51, КР1830ВЕ751 или 256 8-разрядных ячеек с адресами от 000h до 0FFh для всех остальных микроконтроллеров семейства.

Регистры специальных функций занимают адреса внутренней памяти данных с 080h no 0FFh. Так как адреса регистров специальных функций совпадают со старшими адресами внутреннего ОЗУ данных, то имеются особенности их использования.

Система команд микроконтроллера позволяет обращаться к ячейкам внутренней памяти данных при помощи прямой и косвенно-регистровой адресации. Обращение к ячейкам памяти с адресами 0-127 (0-7Fh) происходит с использованием любого из этих видов адресации и будет производить выборку одной и той же ячейки памяти. При обращении к ячейкам ОЗУ с адресами 128 (080h)-256 (0FFh) следует воспользоваться косвенно-регистровой адресацией. Учитывая, что работа со стеком ведется при помощи косвенной адресации, а сам стек растет вверх, имеет смысл размещать в этой области памяти стек. Само понятие стека и особенности его использования будут рассмотрены позднее. Если же требуется обратиться к регистрам специальных функций, то нужно использовать прямую адресацию. Например:

MOV A, 80h      ;Скопировать сигналы с внешних выводов порта Р0 в аккумулятор

MOV R0, #80h   ;Скопировать в аккумулятор содержимое

MOV A, @R0     ;ячейки внутреннего ОЗУ с адресом 80h

Регистры общего назначения позволяют писать самые эффективные программы. У микроконтроллеров семейства MCS-51 для программирования доступны восемь регистров. Более того, в этом семействе микроконтроллеров есть четыре набора (банка) регистров с именами RB0-RB3. Для сравнения такие мощные процессоры, как «электроника-79» и SPARC, обладают всего двумя наборами регистров. Банк регистров состоит из восьми 8-разрядных регистров с именами R0, R1…, R7.

Несколько банков регистров служат для организации независимой работы нескольких параллельно выполняемых программных потоков.

Переключение банков регистров производится при помощи двух особых битов, входящих в состав регистра слова состояния программы PSW (биты RS0 и RS1). Если организация нескольких параллельных потоков обработки данных не нужна, то можно пользоваться только нулевым банком регистров, включающимся автоматически после подачи питания и сброса микроконтроллера, остальные ячейки памяти использовать как обычное ОЗУ.

Все четыре банка регистров объединены с 32 младшими байтами внутреннего ОЗУ данных (см. рис. 6.12). Так как физически регистры и ячейки внутреннего ОЗУ объединены, то команды программы могут обращаться к регистрам, используя или их имена R0-R7 (регистровая адресация):

MOV A, R0    ;Скопировать содержимое регистра R0 в аккумулятор

MOV R7, А    ;Скопировать содержимое регистра R7 в аккумулятор

или их адрес во внутренней памяти данных (прямая байтовая адресация):

MOV А, 0     ;Скопировать содержимое нулевой ячейки ОЗУ в аккумулятор

MOV 7, А     ;Скопировать содержимое аккумулятора в седьмую ячейку ОЗУ

Следующие после банков регистров 16 ячеек внутреннего ОЗУ данных (адреса 20H-2FH) образуют область памяти, к которой возможна как байтовая, так и битовая адресация. В этих ячейках располагаются 128 программных флагов (битовых ячеек памяти). Обращение к отдельным битам этих ячеек возможно по их битовым адресам. Например, команды:

SETB 15          ;Запомнить во флаге 15 логическую единицу

JB 15, Metka   ;Если во флаге 15 записана логическая единица, то перейти по адресу Metka

обращаются к флагу 15, расположенному в старшем бите байтовой ячейки памяти 21h. Использование однобитовых ячеек памяти позволяет сократить необходимый для работы программы объем памяти данных, т. к. для хранения битовых переменных выделяется один бит в памяти данных, а не машинное слово, как это делается в универсальных микропроцессорах (компьютерах).

В битовой области сосредоточено только 128 флагов. Битовая адресация возможна также в области регистров специальных функций (см. табл. 6.4). Наиболее яркий пример использования битовой адресации в данной области — это обращение к отдельным выводам параллельных портов:

CPL 92    ;Проинвертировать второй бит порта Р1

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

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

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

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

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

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