Пространство внешней памяти данных XSEG




Лабораторная работа

Тема: Архитектура микроконтроллера МК i8051. Организация памяти данных. Команды пересылки данных.

Цель работы: изучение структуры микроконтроллера MК i8051, организации памяти и форматов его команд, а также приобретение начальных навыков программирования в кодах микроконтроллера с использованием команд передачи данных.

Оборудование: персональный компьютер

Программное обеспечение: операционная система, программа отладчик для МК51

 

Общие положения.

Архитектура микроконтроллера МК i8051.

Микроконтроллер (МК) МK i8051 относится к классу однокристальных микроЭВМ и предназначен для построения несложных цифровых систем управления. Микроконтроллер (МК) выполнен на базе n-МОП технологии, упакован в корпус с двухрядным расположением выводов СБИС (имеет 40 контактов). БИС питается от одного источника напряжением 5В. Структура МК приведена на рисунке 1.

В состав операционной части МК включены следующие устройства:

· АЛУ, выполняющее 51 различную операцию над битами, восьми разрядными двоичными числами и десятичными числами;

· восьмиразрядные временные регистры Т1,Т2 аккумулятор А

· расширитель аккумулятора В (для выполнения операций умножения и деления);

· регистр слова состояния программы PSW, назначение битов которого приведено в таблице 1.

 

Микропроцессор содержит:

· RAM - резидентную память данных объёмом 128 байт, доступ к которой осуществляется через регистр адреса RAR или указатель стека SP;

· EPROM - встроенную перепрограммируемую память программ, при выборке команд из которой используется 16-ти разрядный указатель адреса PC. Если из памяти команд выбираются данные (константы),то для адресации используется 16-ти разрядный указатель адреса DPTR (младший байт адреса помещается в DPL,а старший в DPH).

Таблица 1. Назначение битов PSW.

Назначение Бит Обозначение
Перенос из старшего разряда АЛУ PSW.7 C
Десятичный перенос из младшей тетрады АЛУ PSW.6 AC
Флаг пользователя общего назначения PSW.5 F0
Выбор банка регистров PSW.4 RS1
Выбор банка регистров PSW.3 RS0
Арифметическое переполнение результата PSW.2 OV
Не используется PSW.1  
Паритет - четность содержимого регистра А PSW.0 P

 

В состав устройства управления МК входят:

· IR - регистр команд, в котором хранится код выполняемой команды;

· OSC - встроенный генератор синхроимпульсов Х1,Х2;

· Устройство синхронизации и управления работой МК.

 

МК имеет 4 квази двунаправленных порта Р0 - P3 для подключения внешних устройств, причем порт Р3 может выполнять альтернативные функции.

В состав МК также входят:

· два 16-ти разрядных таймера-счетчика для временной синхронизации вычислительных процессов;

· последовательный приемо-передатчик SIO;

· схема обработки внутренних и внешних прерываний.

 

Форматы команд.

Система команд МК насчитывает 111 команд, среди которых: 49 однобайтных, 45 двухбайтных и 17 трехбайтных. Форматы команд МК приведены на рисунке 2.

В приведенных форматах использованы следующие сокращения:

#d - непосредственный операнд;

ad - адрес операнда в DSEG;

bit - адрес бита в BSEG;

rel - относительный адрес в CSEG;

 

КОП        
         
КОП   #d    
         
КОП   ad    
         
КОП   bit    
         
КОП   rel    
         
A10 A9 A8 КОП   A7…………….A0    
         
КОП   ad   #d
         
КОП   ad   rel
         
КОП   ads   add
         
КОП   #d   rel
         
КОП   bit   rel
         
КОП   ad 16h   ad 16l
         
КОП   #d 16h   #d 16l

 

Рисунок 2. Форматы команд микроконтроллера

 

ad16 - адрес 16 разрядов;

#d16 - непосредственный 16 разрядный операнд;

ads,add - непосредственные адреса источника и приемника в DSEG.

 

Организация памяти.

Память микроконтроллера можно представить как пять логических адресуемых пространств, отображаемых на 3 физических устройствах памяти (внутренние ROM и RAM и внешнее ЗУ).

Пространство RSEG

Пространство внутренних регистров включает 32 восьмиразрядных регистра, которые объединены в 4 банка по 8 регистров в каждом. Банки регистров (смотри рисунок 3.) соответственно обозначаются -RB0, RB1, RB2 и RB3.

 
 

 


Рисунок 3. Пространство RSEG

 

Для доступа к любому регистру текущего банка используется регистровая адресация, при этом номер регистра текущего банка указывается в 3 младших разрядах первого байта команды в поле Rn

 

КОП r r r
7………….3      

r r r=Rn, n=0,1,2,3,4,5,6,7

 

 

Текущий банк регистров выбирается с помощью двухразрядного поля RS в PSW.

Пространство DSEG

Пространство внутренней памяти данных имеет объем 256 байт. Для доступа к ячейке пространства DSEG используется два способа адресации.

Первый способ - прямая адресация, при этом в команде указывается прямой восьмиразрядный адрес ad. При прямой адресации доступно 128 младших байт пространства DSEG или специальные регистры. Если старший (седьмой) разряд прямого адреса равен 0, то происходит обращение к одной из 128 ячеек внутренней памяти. Если старший разряд прямого адреса равен 1, происходит обращение к одному из специальных регистров. Если при этом используется адрес, который не приписан ни к одному специальному регистру, то результат действия команды не определен. В двухадресных командах используется прямой адрес источника операнда ads и прямой адрес приемника операнда add.

Второй способ - косвенная адресация через регистры R0 или R1текущего банка регистров

 

КОП i
7…………….……..1  

@Ri, i=0,1

 

 

При косвенной адресации к пространству DSEG возможен доступ только к 128 младшим адресам пространства. Если содержимое регистра R0 (R1) при косвенном обращении к DSEG превосходит 7FH, то результат операции не определен.

Пространство BSEG

Пространство ВSEG представляет собой одноразрядное линейно упорядоченное пространство памяти емкостью 256 бит. В пространстве BSEG используется только прямая адресация. Прямой восьмиразрядный адрес в пространстве BSEG обозначается bit.

Пространство внешней памяти данных XSEG

Пространство внешней памяти данных представляет собой линейное адресное пространство объемом 64Кбайт. Адрес в XSEG может принимать значение от 0000H до FFFFH. Используется два способа адресации.

Первый способ - косвенная адресация через 16 разрядный регистр-указатель DPTR. Такая адресация возможна только в двух командах MOVX A,@DPTR и MOVX @DPTR,A;

Второй способ - косвенная страничная адресация, при этом номер страницы задается содержимым порта Р2, а смещение в странице- содержимым регистра R0 (или R1) текущего банка, т.е. адрес в XSEG находится как конкатенция (Р2)*(Ri). Для этой цели можно использовать также только две команды - MOVX A,@Ri или MOVX @Ri,A.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: