1816 (Методы к лабам)
Описание файла
Файл "1816" внутри архива находится в папке "Методы к лабам". Документ из архива "Методы к лабам", который расположен в категории "". Всё это находится в предмете "микропроцессорные системы (мпс)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "микропроцессорные системы" в общих файлах.
Онлайн просмотр документа "1816"
Текст из документа "1816"
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ имени Н.Э.БАУМАНА
Кафедра РК-10
Б.Б.Михайлов, О.И.Елисеева
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ №4
«Исследование однокристального микропроцессора 1816ВЕ51»
по курсу «Элементы электроники и микропроцессорной
техники РТС»
Москва
2006г.
Исследование однокристального микропроцессора
Однокристальные микропроцессоры этого типа состоят из традиционного набора устройств: АЛУ, РОНы, память, порты. Первая особенность этих процессоров заключается в том, что все перечисленные устройства располагаются в одном кристалле, вторая – в наличии двух разных независимых памятей: одной – для хранения программ, второй – для хранения данных. Существуют много аналогичных процессоров, выпускаемых как в нашей стране, так и за рубежом. Основные параметры, по которым они различаются, это:
- быстродействие;
-
тип и объем памяти;
-
число и сложность выполняемых команд в АЛУ;
-
количество и возможности портов.
1. Краткое описание микропроцессора 1816ВЕ51
Структура процессора 1816ВЕ51 приведена на рис.1. Основа процессора 8р – шина, которая связывает основные устройства процессора. В частности:
-
АЛУ (со вспомогательными регистрами);
-
резидентную память (программ и данных);
-
блок регистров специальных функций;
-
порты ввода/вывода;
-
блок синхронизации и управления.
1.1. АЛУ выполняет арифметические операции, включая умножение и деление, логические операции, операции сдвига и т.д. В АЛУ входят также два программно недоступных триггера Т1 и Т2, аккумулятор, схема десятичной коррекции и регистр слова состояния программы (ССП или PSW).
АЛУ оперирует четырьмя типами (форматами) информации:
-
1р словами ( «битный» процессор);
-
4р словами (цифровыми словами);
-
8р словами (байтами);
-
16р словами (адресами).
В АЛУ выполняется 111 базовых операций преобразования и пересылки данных. Используется 11 режимов адресации: 7 для данных и 4 для адресов. В результате общее число вариантов команд составляет 255 при однобайтном коде команды.
Аккумулятор является источником операнда и местом фиксации результата. Он используется при выполнении арифметических и логических операций, операциях сдвига, проверки на ноль, формирования флагов и т.д.
Кроме этого в процессоре есть большая группа команд, работающих без участия аккумулятора. Например, данные могут быть переданы в любой регистр из резидентной памяти данных (РПД), инкрементированы, декрементированы на регистрах портов без участия аккумулятора.
Регистр слова состояния программы (ССП или PSW) является местом занесения признаков полученного результата (флагов), хранящегося в аккумуляторе.
7p 6 5 4 3 2 1 0p
С | АС | F0 | RS1 | RS0 | OV | X | P |
С – флаг переноса. Устанавливается после выполнения арифметических операций при наличии переноса из старшего разряда.
АС – флаг переноса из третьего бита результата (полуперенос). Используется при выполнении операции десятичной коррекции.
F0 – флаг пользователя. Может устанавливаться, сбрасываться и проверяться программно.
RS0, RS1 – определяют банк регистров резидентной памяти данных (РПД) следующим образом:
00 – 0 банк адреса 00Н – 07Н
01 – 1 банк адреса 09Н – 0FH
10 – 2 банк адреса 10Н – 17Н
11 - 3 банк адреса 18Н – 1FH
Разряды RS0, RS1 устанавливаются и сбрасываются программно
OV – флаг переполнения. Устанавливается после выполнения арифметических операций, если результат превышает разрядность процессора.
Р – флаг паритета. Фиксирует четное число бит (единиц) в аккумуляторе (контроль четности).
1.2. Резидентная память. Память данных и память программы на данном кристалле физически и логически разделены, имеют разные механизмы адресации и работают под управлением разных устройств.
Память программ (ПЗУ или СППЗУ) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, таблиц, команд инициализации, и т.п. Память программ имеет 16р шину адреса. Доступ к памяти обеспечивается с помощью счетчика команд (СК) или регистра-указателя данных (РУД).
Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения программы. Она имеет объем 128 байт. Адресуется байтом. К адресному пространству ОЗУ примыкают адреса регистров блока специальных функций (аккумулятор, ССП указатель стека, порты, регистр приоритетов и т.п.). Доступ к памяти обеспечивается с помощью регистра адреса (РА) и регистра-указателя стека (РУС).
Память программ и память данных может быть расширена до 64 Кбайт путем подключения дополнительных (внешних) микросхем памяти.
Регистры-указатели предназначены для занесения адреса ячейки памяти:
- регистр-указатель стека (РУС или SP) – 8р регистр, который служит для адресации любой области резидентной памяти данных. По командам PUSH и CALL его значение инкрементируется, по командам – декрементируется. Измерение содержимого РУС (SP) осуществляется до выполнения команды PUSH, CALL (прединкрементная адресация) и после выполнения команд РОР и RET (постдекрементная адресация). В процессе инициализации в этот регистр загружается код 07Н, т.е. первый исполнительный адрес - 08Н;
- регистр-указатель данных (РУД или DPTR) используется для фиксации 16р адреса при операциях с обращением к внешней памяти. Он может также использоваться как два самостоятельных 8р регистра DPH и DPL.
Внешняя память. Совместно с микропроцессором может использоваться внешняя память двух типов:
-
постоянная память для записи программ (внешняя память программ - ВПП);
-
оперативная память для хранения данных (внешняя память данных - ВПД).
Доступ к внешней памяти программ осуществится с помощью специального сигнала микропроцессора РВПД, который подается на вход RD памяти (чтение).
Доступ к вешней памяти данных осуществляется с помощью сигналов ЧТ и 3П, для формирования которых используются разряды порта 3 (Р3.7 и Р3.6).
При обращении к внешней памяти программ всегда используется 16р адрес, при обращении к памяти данных - 16р и 8р адреса. Для формирования адреса используются порты 0 и 2. Обмен данными осуществляется через порт 0 в режиме временного мультиплексирования.
1.3. Блок регистров специальных функций состоит из нескольких регистров, предназначенных для задания режимов работы микропроцессора и реализации функций периферийных устройств.
Таймер/счетчик. В составе микропроцессора есть две регистровые пары ТН0, ТL0 и ТН1, TL1. На основе этих пар строятся два независимых программно-управляемых шестнадцати разрядных таймера. При работе в качестве таймера содержимое инкрементируется в каждом машинном цикле (через 12 периодов). При использовании таймера в качестве счетчика событий содержимое регистров инкрементируется при подаче внешнего сигнала на входы Т0 или Т1. Существует несколько режимов работы счетчика: таймер, счетчик событий, формирователь задержки и т.п.
Последовательный порт. Регистр с именем SBUF является по сути регистром последовательного порта, т.е. работает как два регистра: буфер приемника (ПР) и буфер передатчика (ПЕР). Загрузка регистра SBUF вызывает передачу информации через последовательный порт. Если этот регистр читается, то информация, поступившая через последовательный порт, вводится в микропроцессор. Последовательный порт может работать в 4-х режимах: с внутренней синхронизацией, синхронизацией от таймера и т.д.
Остальные регистры специальных функций IP, IE, TMOD, TCOM, SCON, PCON используются для организации прерываний, изменения управляющих бит, управления последовательным портом и т. п.
Генератор. В микропроцессе 1816ВЕ51 есть свой встроенный генератор. Для его работы к входам Х1 и Х2 подключается кварцевый резонатор. Генератор подает сигналы в устройство управления, которое формирует машинный цикл фиксированной длительности. Один машинный цикл составляет 12 тактов работы генератора. Большинство команд выполняется за один машинный цикл. Некоторые команды – оперирующие с двухбайтовыми словами или обращающиеся к внешней памяти – выполняются за два цикла. Команды умножения и деления требуют 4-х машинных циклов.
1.4. Порты ввода/вывода. Все порты предназначены для ввода или вывода информации побайтно. Каждый порт имеет выходной буфер и входной буфер. Особенности портов:
1) При обращении к внешней памяти необходимо использовать порты 0 и 2. При этом через порт 0 сначала выдается младший байт адреса, затем осуществляется прием или передача данных (дуплексный обмен). Через порт 2 выдается старший байт адреса памяти, если разрядность адреса превышает 8.
2) Порт 3 может использоваться как для обмена данными, так и для реализации альтернативных функций. В последнем случае выводы порта 3 имеют следующее назначение
7p 6 5 4 3 2 1 0p
RD | WR | T1 | T0 | INT1 | INT0 | TxD | RxD |
RD - чтение сигналы для обращения к внешней памяти данных
WR - запись
T0 входы таймеров/счетчиков
T1
INT0 внешние сигналы запроса прерывания
INT1
TXD - выход сигналы последовательного порта
RxD - вход
3) Порт «0» – является двунаправленным, порты 1, 2, 3 - квазидвунаправленными. Для записи информации в эти порты необходима их предварительная установка в единицу. Для этого используется специальная команда «Сброс», по которой порты настраиваются на ввод данных.
4) Обращение к портам возможно с помощью команд, оперирующих с байтом, отдельным битом или комбинацией бит. Процессор имеет возможность выполнять некоторые команды с разрядами порта без использования аккумулятора.
1.5.Система прерываний Процессор имеет пять внешних источников прерывания. Ниже приведены их имена, адреса и уровни приоритета.:
INT0 от внешнего сигнала → 000ЗН 1
INT1 от внешнего сигнала → 000ВН 2
TF0 от таймера → 000ЗН 3
TF1 от таймера → 001ВН 4
RI от последоват. порта → 0023Н 5
TI
Управление прерываниями осуществляется с помощью двух регистров блока специальных функций: IE и IP. Регистр IE предназначен для маскирования того или иного прерывания, регистр IP - для установки приоритетов прерываний.
Система прерываний аппаратно формирует вызов LCALL соответствующей подпрограммы обслуживания, если он не запрещен. Аппаратно система прерываний помещается в стек только содержимое счетчика команд и загружает его адресом вектора. По этому адресу должен находиться безусловный переход для передачи управления подпрограмме обслуживания данного прерывания. Возврат из подпрограммы прерывания выполняется с помощью команд RET или RETI.
1.6. Система команд. Процессор выполняет 111 базовых команд, которые делятся на пять групп:
-
команды передачи данных;
-
команды арифметических операций;
-
команды логических операций;
-
команды операций с битами (разрядами);
-
команды передачи управления.
Перечень команд приведен в таблице 1, структура команд – на рис.2. В командах используются прямой, непосредственный, косвенный и неявный способы адресации. При косвенной адресации используются биты регистров R0 и R1.Следует отметить, что:
- 8р операнд это ячейка памяти программ или данных (резидентной или внешней), константа (непосредственный операнд), регистр специальных функций или порт ввода/вывода;
-
16р операнд это константа или прямой адрес, расположенные во втором и третьем байтах команды.
Команды передачи данных. Это команды передачи и обмена данных. Все эти команды не модифицируют регистр флагов, кроме команд загрузки аккумулятора и самого регистра флагов. Большинство команд передачи данных осуществляется через аккумулятор, но возможен доступ к регистрам портов минуя аккумулятор. К самому аккумулятору можно обращаться используя прямую адресацию (А) и неявную адресации (АСС).