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

формы для мыла купить недорого в интернет-магазине. |

Внутренняя память данных микроконтроллеров MCS-51 - часть 2


Переключение банков регистров производится при помощи двух особых бит регистра слова состояния программы 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 флагов. Оставшиеся адреса в битовом пространстве используются для битовой адресации в области регистров специальных функций. Наиболее яркий пример использования битовой адресации в области регистров специальных функций - это обращение к отдельным ножкам параллельных портов:

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

Оставшаяся область памяти используется как обычное ОЗУ без особенностей. Хотя, надо отметить, что в современных микроконтроллерах эту память следует рассматривать как встроенные 256 регистров сверхоперативного ОЗУ. Основной памятью постепенно становится внутренняя память, доступная при помощи команд MOVX @DPTR, A




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



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