Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_i_otvety_MPT.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.94 Mб
Скачать

16. Однокристальные микроконтроллеры семейства mcs-51: состав и общая характеристика. Структурная организация: регистры, память данных и программ.

Однокристальные микроконтроллеры (МК) семейства MCS-51 разработаны фирмой Intel. Многие МК этого семейства с определенными модификациями выпускаются различными фирмами. В странах СНГ (Россия, Беларусь, Украина) микроконтроллеры данного вида относят к семейству МК51, все они имеют соответствующие аналоги фирмы Intel. МК этого семейства выполнены по n-МОП технологии (серия 1816) и КМОП технологии (серия 1830). Они имеют идентичные основные характеристики, а различие состоит в реализации внутренней памяти программ и потребляемом токе. В таблице приведены основные характеристики МК, выпускаемых в СНГ.

Микросхема

Аналог Intel

Тип памяти программ

Ток потребления, мА

Технология

КР1816ВЕ51

КР1816ВЕ31

КМ1816ВЕ751

КР1830ВЕ51

КР1830ВЕ31

КМ1830ВЕ751

8051АН

8031АН

8751Н

80С51ВН

80С31ВН

87С51ВН

ПЗУ

Внешняя

РПЗУ

ПЗУ

Внешняя

РПЗУ

150

150

220

18

18

18

n-МОП

n-МОП

n-МОП

КМОП

КМОП

КМОП

Здесь обозначено: ПЗУ – масочное ПЗУ; РПЗУ - репрограммируемое ПЗУ с ультрафиолетовым стиранием.

Другие параметры, одинаковые для всех микросхем: объем внутренней памяти программ – 4 Кбайт; объем внутренней памяти данных – 128 байт; максимальная тактовая частота – 12 МГц. Микроконтроллеры выполнены в 40-выводном корпусе типа DIP-40. Условное графическое обозначение приведено на рис. 16.1.

Краткое описание выводов:

XTAL1, XTAL2 – выводы подключения времязадающей цепочки для тактового генератора МК;

RST – вход сигнала сброса МК;

EA – вход сигнала разрешения работы внешней памяти программ;

P0, P1, P2, P3 – четыре 8-разрядных двунаправленных порта ввода/вывода;

ALE – строб запоминания адреса;

PSEN – строб чтения из внешней памяти программ;

UCC – вывод для подачи питания +5 В;

GND – общий.

Рис. 16.1. Условное графическое обозначение МК семейства MCS-51

Базовой моделью семейства MCS-51 и основой для всех последующих модификаций является МК 8051АН. При изучении семейства микроконтроллеров принято подробно рассматривать его базовую модель, так как другие типы МК отличаются лишь некоторыми особенностями. Для краткости этот МК будем именовать просто 8051. Микроконтроллер содержит следующие модули

  1. центральный процессор разрядность обрабатываемого слова составляет один байт

  2. память программ объемом 4 Кбайт (ПЗУ)

  3. память данных объемом 128 байт (ОЗУ)

  4. четыре 8-разрядных параллельных порта ввода/вывода

  5. два 16-разрядных многорежимных таймера/счетчика

  6. последовательный порт

  7. систему прерывания с пятью векторами

  8. тактовый генератор

  9. схему формирования сигналов внешних шин адрес/данные и управления для работы с внешней памятью программ и (или) данных.

Центральный процессор микроконтроллеров семейства МК51 выполняет действия над 8-разрядными операндами. Программная модель центрального процессора содержит шесть регистров: PC, DPTR, A, B, SP, PSW. Функции регистров в процессоре следующие.

Программный счетчик (счетчик команд) PC (Program Counter) – 16-разрядный регистр, содержит адрес текущей команды выполняемой программы либо адрес операнда, используемого в текущей команде. При естественном ходе выборки команд, последовательно размещенных в памяти программ, содержимое счетчика увеличивается от команды к команде на число, равное количеству ячеек, занимаемых в памяти выполненной командой.

Регистр-указатель данных DPTR (Data Pointer) – 16-разрядный регистр (DPH – старший байт, DPL – младший байт). Основное назначение регистра DPTR – участи в формировании адреса при чтении данных (констант) из области памяти программ, а также при обмене с внешней памятью данных. Система команд MCS-51 предусматривает возможность обращения к отдельным байтам (DPH или DPL) регистра DPTR, что позволяет использовать эти регистры для хранения промежуточных результатов вычислений или как источник одного из операндов, указывая во втором байте команды абсолютный адрес DPH или DPL.

Аккумулятор (A-регистр) – 8-разрядный регистр, в котором хранятся операнды, результаты арифметических и логических операций. Это наиболее часто используемый регистр в программах.

Регистр B – дополнительный 8-разрядный регистр. Используется в операциях умножения и деления. В других командах может интерпретироваться как регистр общего назначения, его абсолютный адрес указывается во втором байте команды.

Указатель стека SP (Stack Pointer) – 8-разрядный регистр, содержит адрес верхушки стека. Архитектура MCS-51 предполагает размещение стековой памяти только в области внутренней памяти данных. Стек используется при вызове и возврате из подпрограмм, а также для временного хранения данных.

Регистр слова состояния программы (регистр состояния) PSW (Program Status Word) – 8-разрядный регистр для хранения битов признаков (флагов), которые отражают особенности выполнения операций в процессоре. Эти флаги имеют символические имена и расположены в определенных разрядах регистра PSW, который имеет следующий формат:

7

6

5

4

3

2

1

0

Разряды

C

AC

F0

RS1

RS0

OV

-

P

Биты признаков (флаги) выполняют следующие функции.

C (Carry) – флаг переноса. Устанавливается и сбрасывается аппаратными средствами или программой при выполнении арифметических и логических операций.

AC (Auxiliary Carry) – флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в 3-м разряде аккумулятора.

F0 – флаг пользователя. Назначается пользователем по желанию. Может быть установлен, сброшен или проверен программой.

RS1, RS0 – биты выбора банка регистров. Устанавливаются и сбрасываются программой для выбора рабочего (текущего) банка регистров

OV (Over) – флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций.

P (Parity) – флаг паритета. Устанавливается и сбрасывается аппаратно. Флаг P = 1, если число единиц в аккумуляторе нечетное. P = 0, если число единиц в аккумуляторе четное или его содержимое нулевое. Таким образом, флаг паритета выполняет контроль четности содержимого аккумулятора.

1-й бит регистра PSW, т.е. PSW.1 не используется.

МК семейства МК51 используют гарвардскую архитектуру память программ (ПЗУ) и память данных (ОЗУ) имеют раздельное адресное пространство. И, как следствие, для обращения к ячейкам памяти разного типа должны быть использованы разные типы команд. Максимальный размер адресного пространства для каждого типа памяти составляет 64 Кбайта. Однако непосредственно на кристалле МК 8051 располагается только 4 Кбайта ПЗУ и 128 байт ОЗУ. Микроконтроллеры семейства MCS-51имеют открытую архитектуру, т.е. позволяют подключать внешнюю память. Поэтому при необходимости, как память программ, так и память данных могут быть увеличены посредством подключения дополнительных микросхем памяти. Варианты организации памяти в микроконтроллерной системе на основе МК 8051 поясняет рис. 16.2.

Так как МК 8051 имеет внутреннюю память программ (ПП), то он может работать в автономном (однокристальном) режиме, при этом сигнал = 1. ПП располагается по адресам 0000H…0FFFH, память данных – с 00H по 7FH. Регистры специальных функций имеют объединенное с внутренним ОЗУ адресное пространство и расположены по адресам 80H…FFH. Даже если МК 8051 работает в однокристальном режиме, к нему может быть подключена внешняя ПП. Она должна располагаться в диапазоне адресов 1000H…FFFFH, т.е. дополнять внутреннее ПЗУ МК. Если МК работает в расширенном режиме (сигнал = 0), то он будет адресовать только внешнюю ПП с 0000H по FFFFH, несмотря на то, что внутреннее ПЗУ на кристалле имеется.

Рис. 16.2. Организация памяти в МКС на основе МК 8051

В каждом из рассмотренных режимов МК 8051 может использовать два массива памяти данных (ПД): внутреннее ОЗУ, расположенное по адресам 00H…7FH, и подключаемое внешнее ОЗУ, которое может располагаться, начиная с адреса 0000H вплоть до FFFFH. Возможное перекрытие адресного пространства внутренней и внешней ПД не влияет на работу МК, так как доступ к ним осуществляется разными командами.

В архитектуре MCS-51 адресное пространство внутренней памяти данных объединяет все программно доступные ресурсы МК, в том числе регистры процессора. Пространство внутренней памяти данных делится на пространство адресов внутреннего ОЗУ с 00H по 7FH и пространство адресов регистров специальных функций с 80H по FFH. Физически эти области внутренней ПД являются отдельными устройствами.

На рис. 16.3 приведена структура внутреннего ОЗУ памяти данных МК.

В ОЗУ можно выделить 3 области, отличающиеся определенными свойствами.

  1. Младшие 32 ячейки (адреса 00H-1FH) сгруппированы в 4 банка по 8 регистров в каждом. Эти регистры часто называют регистрами общего назначения (РОН), так как они могут использоваться в программах произвольно для различных целей. Регистры банков имеют символические имена R0, R1,…, R7, одинаковые для всех четырех банков. Но так как регистры разных банков в действительности размещаются в ОЗУ по различным адресам, и, кроме того, программа может использовать одновременно только один банк, который называется рабочим или текущим, неопределенности из-за одинаковых имен не возникает. На рис. 4.5 показано размещение регистров общего назначения в 0-м банке.

  2. Ячейки ОЗУ с адресами 20H-2FH допускают побитовую адресацию. Прямоадресуемые биты этой области имеют адреса 00H-7FH. Набор команд MCS-51 содержит большое количество инструкций, позволяющих работать с отдельными битами. 128 бит, входящих в рассматриваемую область, могут быть использованы произвольно по усмотрению программиста. Поэтому эта область ОЗУ данных часто называется областью программных флагов.

  3. Начиная с адреса 30H и до 7FH размещается свободная зона ОЗУ (80 ячеек), которая может использоваться программистом произвольно для хранения данных и организации стека.

Область внутренней памяти данных с адресами 80H…FFH занимают регистры специальных функций: это регистры данных портов, регистры таймеров/счетчиков и т.д.

Рис. 16.3. Структура внутреннего ОЗУ данных МК

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]