Методы к лабам (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 входы таймеров/счетчиков






Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.