Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Внутренняя память данных микроконтроллеров MCS-51Содержание книги
Поиск на нашем сайте
Несмотря на то, что внутренняя память данныхимеет самое маленькое адресное пространство из рассматриваемых, оно устроено наиболее сложным образом. Распределение памяти данных микроконтроллеров серии MCS-51 приведено на рис. 20.12. Внутреннее ОЗУ данных предназначено для временного хранения информации, используемой в процессе выполнения программы, и занимает 128 младших байтов, с адресами от 000h до 07Fh для микроконтроллеров 8051, 8031, КР1816ВЕ31, КР1816ВЕ51, КР1816ВЕ751 КР1830ВЕ31, КР1830ВЕ51, КР1830ВЕ751 или 256 8-разрядных ячеек, с адресами от 000h до 0FFh для всех остальных микроконтроллеров семейства. Регистры специальных функций занимают адреса внутренней памяти данных с 080h по 0FFh. Так как адреса регистров специальных функций совпадают со старшими адресами внутреннего ОЗУ данных, то имеются особенности их использования. Система команд микроконтроллера позволяет обращаться к ячейкам внутренней памяти данных при помощи прямой и косвенно-регистровой адресации. Обращение к ячейкам памяти с адресами 0-127 (07Fh) происходит с использованием любого из этих видов адресации будет производить выборку одной и той же ячейки памяти. При обращении к ячейкам ОЗУ с адресами 128(080h)-256(0FFh) следует воспользоваться косвенно-регистровой адресацией. Учитывая, что работа со стеком ведется при помощи косвенной адресации, а сам стек растет вверх, имеет смысл размещать в этой области памяти стек. Само понятие стека и особенности его использования будут рассмотрены позднее. Если же требуется обратиться к регистрам специальных функций, то нужно использовать прямую адресацию. Например: MOV A, 80h;Скопировать сигналы с внешних выводов порта P0 в
MOV R0, #80h;Скопировать в аккумулятор содержимое MOV A, @R0;ячейки внутреннего ОЗУ с адресом 80h
Рис. 20.12. Адресное пространство внутренней памяти данных. Регистры общего назначения позволяют писать самые эффективные программы. У микроконтроллеров семейства MCS-51 для программирования доступны восемь регистров. Более того, в этом семействе микроконтроллеров есть четыре набора (банка) регистров с именами RB0 - RB3. Для сравнения такие мощные процессоры как «электроника-79» и SPARC обладают всего двумя наборами регистров. Банк регистров состоит из восьми 8-разрядных регистров с именами R0, R1, …, R7. Несколько банков регистров служат для организации независимой работы нескольких параллельно выполняемых программных потоков. Переключение банков регистров производится при помощи двух особых битов регистра слова состояния программы PSW (биты RS0 и RS1). Если организация нескольких параллельных потоков обработки данных не нужна, то можно пользоваться только нулевым банком регистров, включающимся автоматически после подачи питания и сброса микроконтроллера, остальные ячейки памяти использовать как обычное ОЗУ. Все четыре банка регистров объединены с 32 младшими байтами внутреннего ОЗУ данных (см. рис. 20.12). Так как физически регистры и ячейки внутреннего ОЗУ объединены, то команды программы могут обращаться к регистрам используя или их имена 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 записана логическая единица, то перейти ;по адресу Metka обращаются к флагу 15, расположенному в старшем бите байтовой ячейки памяти 21h. Использование однобитовых ячеек памяти позволяет сократить необходимый для работы программы объем памяти данных, так как для хранения битовых переменных выделяется один бит в памяти данных, а не машинное слово, как это делается в универсальных микропроцессорах (компьютерах). В битовой области сосредоточено только 128 флагов. Битовая адресация возможна также в области регистров специальных функций.(см. табл. 20.4) Наиболее яркий пример использования битовой адресации в данной области — это обращение к отдельным выводам параллельных портов: CPL 92;Проинвертировать второй бит порта P1 Выше адреса 128 (080h) располагаются регистры специальных функций, которые будут рассмотрены позже. Некоторые из регистров специальных функций допускают битовую адресацию к каждому из восьми своих битов. Оставшаяся область внутренней памяти данных используется как обычное ОЗУ, без особенностей. Следует отметить, что в современных микроконтроллерах данного семейства эту память следует рассматривать как встроенные 256 регистров сверхоперативного ОЗУ. Основной памятью постепенно становится внутренняя память микроконтроллера, доступная при помощи команд MOVX @DPTR, A.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 558; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.21.101 (0.007 с.) |