Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование и отладка программных модулей для ОМК INTEL 8051 (К1816 ВЕ51).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.2 Mб
Скачать

1. Структурная организация Intel 8051

Архитектура ОМК предполагает логическое и структурное разделение памяти команд и памяти данных. Такое разделение является признаком гарвардской архитектуры. Основным преимуществом гарвардской архитектуры являются раздельные магистрали для обращения к памяти программ и памяти данных, что приводит к повышению быстродействия. Однако в 8051 раздельными являются только внутренние шины адреса команд и данных, а данные и команды передаются по общей шине.

Применение гарвардского принципа в 8051 позволяет иметь различную организацию памяти команд и данных, более эффективно использовать форматы команд, которые различаются при обращении к командам и данным используемыми способами адресации. Последнее обстоятельство приводит к сокращению размера памяти, необходимого для хранения программ.

При работе с внешними устройствами (памятью, периферийными БИС) обращение к памяти программ и данных выполняется по общей магистрали. Однако в процессе обращения к внешним устройствам формируются различные сигналы для управления памятью программ и данных, что упрощает их аппаратную реализацию и увеличивает объем суммарного адресного пространства.

Основу структурной схемы ОМК (рисунок 1) образует внутренняя двунаправленная 8-битная шина данных, которая связывает между собой все основные узлы и устройства: резидентную память, центральный процессор, состоящий из АЛУ, аккумулятора АСС, регистра-расширителя аккумулятора В, слова состояния процессора PSW и устройства управления, порты ввода/вывода.

1.1. Арифметико‑логическое устройство

Восьмиразрядное АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, операции над битовыми данными, а также операции циклического сдвига, сброса, инвертирования и т.п. В состав АЛУ входят программно недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

Наряду с байтовыми операциями АЛУ может обрабатывать битовые переменные. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях.

Аккумулятор АСС служит источником и/или приемником операндов при выполнении арифметических и логических операций.

Регистр-расширитель В используется в операциях умножения и деления.

Регистр PSW содержит признаки результатов выполнения операций и биты (флаги), необходимые для управления ресурсами ОМК, SP-указатель стека.

1.2. Резидентная память

Память программ и память данных, размещенные на кристалле ОМК физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции (рисунок 2).

Внутренняя (резидентная) память программ имеет емкость 4 Кбайт и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных сменных и т.п. Резидентная память программ имеет 16-битную шину адреса, управление которой выполняется счетчиком команд (PC) или регистром-указателем данных (DPTR). Последний выполняет функции базового регистра, при косвенной адресации, или используется в командах оперирующих с таблицами.

Внутренняя (резидентная) память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы и имеет организацию 128x8.

К адресному пространству РПД примыкают адреса регистров специальных функций (РСФ), которые перечислены в табл. 1.

Блок регистров специальных функций

Таблица 1

Символ

Наименование

Адрес

* ACC

Аккумулятор

0E0H

* B

Регистр-расширитель аккумулятора

0F0H

* PSW

Слово состояния программы

0D0H

SP

Регистр-указатель стека

81H

DPTR

Регистр-указатель данных (DPH)

(DPL)

83H

82H

* P0

Порт 0

80H

* P1

Порт 1

90H

* P2

Порт 2

0A0H

* P3

Порт 3

0B0H

* IP

Регистр приоритетов

0B8H

* IE

Регистр маски прерываний

0A8H

TMOD

Регистр режима таймера/счетчика

89H

* TCON

Регистр управления/статус таймера

88H

TH0

Таймер 0 (старший байт)

8CH

TL0

Таймер 0 (младший байт)

8AH

TH1

Таймер 1 (старший байт)

8DH

TL1

Таймер 1 (младший байт)

8BH

* SCON

Регистр управления приемопередатчиком

98H

SBUF

Буфер приемопередатчика

99H

PCON

Регистр управления мощностью

87H

Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

Наряду с байтовым адресным пространством внутренняя память данных содержит битовое пространство, которое начинается в битовой зоне (адреса 20h-2Fh), а продолжается в зоне регистров специальных функций (адреса 80h-FFh). Обращение к нему возможно только с использованием битовых команд. Нулевому биту ячейки 20h (20.0) соответствует адрес 0 битового пространства, а старшему биту регистра специальных функций FFh- адрес 255 (FFh).

В режиме микроконтроллера используется только резидентная память программ и данных. Память программ располагается по адресам 0000h..0FFFh, а данных – с 00h по 07Fh. Регистры специальных функций имеют объединенное с внутренним ОЗУ адресное пространство и расположены по адресам 80h..0FFh. Особенности использования регистров специальных функций рассмотрены в разделе 4.