Курс лекций. - Микропроцессоры


Построение памяти микроконтроллеров MCS-51 - часть 5


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

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

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

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

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

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

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

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

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




Начало  Назад  Вперед



Книжный магазин