Смекни!
smekni.com

Встроенные микропроцессорные системы на основе однокристальных микро ЭВМ (стр. 1 из 4)

ВСТРОЕННЫЕ МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ НА ОСНОВЕ ОДНОКРИСТАЛЬНЫХ МИКРОЭВМ


Содержание

1. Структура микроконтроллера семейства MCS-51

2. Программно доступные ресурсы и организация памяти

3. Система команд

4. Способы адресации операндов

5. Программная модель битового процессора

6. Применение битового процессора

СПИСОК ЛИТЕРАТУРЫ


1. Структура микроконтроллера семейства MCS-51

Внутренняя структура исходного микроконтроллера семейства MCS-51 (рис.1) включает следующий набор функциональных модулей:

- 8-разрядное АЛУ с аппаратной реализацией операций типа умножение;

- внутренняя память программ (4Кбайт) и ОЗУ данных (128 байт);

- четыре универсальных программируемых параллельных 8-разрядных порта ввода-вывода с возможностью реализации определенных альтернативных функций;

- два 16-разрядных программируемых таймера/счетчика;

- дуплексный последовательный порт.

Этот набор аппаратных средств и совокупность реализуемых функций делают МК семейства 8051 эффективным средством сбора, предобработки информации и управления объектом.

Усовершенствование HMOS технологии, рост степени интеграции позволил в рамках устоявшейся архитектуры расширить набор внутренних интерфейсных блоков, увеличить внутреннюю память программ и данных. Таким образом появились микроконтроллеры типа 8052. Далее семейство продолжало увеличиваться за счет модификаций типа 80С51/52/54/58, выполненных с использованием фирменной комплиментарной MOS технологии (CHMOS). Эта технология позволила уменьшить рассеиваемую мощность при обычной работе и ввести особые режимы, дополнительно снижающие энергопотребление. Появились микроконтроллеры типа 80L52/54/58 с пониженным напряжением питания.

С группой 80C51FA/FB/FC связано введение в архитектуру семейства модуля РСА (programmable counter array) и сторожевого таймера WDT (watchdog timer). Модуль РСА предназначен для выполнения различных операций счета и определения длительности интервалов времени, в том числе при широтно-импульсной модуляции. Сторожевой таймер обеспечивает перезагрузку процессора при зависаниях. Старшими членами семейства являются микроконтроллеры типа 80C51GB, имеющие встроенный 8-разрядный АЦП, шесть параллельных портов. Современные версии микроконтроллеров семейства MCS-51 выполнены с использованием полностью статической схемотехники. Это позволяет останавливать микроконтроллер при отладке разрабатываемой системы.

Рисунок 1 – Структура микроконтроллера 8051AH


2. Программно доступные ресурсы и организация памяти

ОМЭВМ (МК семейства MCS-51) имеет: 32 POH; 128 определяемых пользователем программно-управляемых флагов; набор регистров специальных функций. POH и определяемые пользователем программно-управляемые флаги расположены в адресном пространстве внутреннего ОЗУ данных. Регистры специальных функций (SFR, SPECIAL FUNCTION REGISTERS) с указанием их адресов приведены в таблице 1.

Таблица 1 – Регистры специальных функций

Обозначение Наименование Адрес
* АСС Аккумулятор 0Е0Н
* В Регистр В 0F0H
* PSW Регистр состояния программы 0D0H
SP Указатель стека 81Н
DPTR Указатель данных. 2 байта:
DPL Младший байт 82Н
DPH Старший байт 83Н
* Р0 Порт 0 80Н
* Р1 Порт 1 90Н
* Р2 Порт 2 0А0Н
* РЗ Порт 3 0В0Н
* IP Регистр приоритетов прерываний 0В8Н
* IE Регистр разрешения прерываний 0А8Н
TMOD Регистр режимов таймера/счетчика 89Н
* TCON Регистр управления таймера/счетчика 88Н
TH0 Таймер/счетчик 0. Старший байт 8СН
TL0 Таймер/счетчик 0. Младший байт 8АН
TH1 Таймер/счетчик 1. Старший байт 8DH
TL1 Таймер/счетчик 1. Младший байт 8ВН
* SCON Управление последовательным портом 98Н
SBUF Буфер последовательного порта 99Н
PCON Управление потреблением 87Н

* – регистры, допускающие побитовую адресацию.


Аккумулятор. АСС – регистр аккумулятора. Команды, предназначенные для работы с аккумулятором, используют мнемонику "А", например, MOV А, Р2. Мнемоника "АСС" используется, к примеру, при побитовой адресации аккумулятора. Так, символическое имя пятого бита аккумулятора при использовании ассемблера ASM51 будет следующим: АСС.5.

Регистр В. Используется во время операций умножения и деления. Для других инструкций регистр В может рассматриваться как дополнительный сверхоперативный регистр.

Регистр состояния программы. Регистр PSW содержит информацию о состоянии программы.

Указатель стека SP. 8-битовый регистр, содержимое которого инкрементируется перед записью данных в стек при выполнении команд PUSH и CALL. При начальном сбросе указатель стека устанавливается в 07Н, а область стека в ОЗУ данных начинается с адреса 08Н. При необходимости путем переопределения указателя стека область стека может быть расположена в любом месте внутреннего ОЗУ данных микроЭВМ.

Указатель данных. Указатель данных (DPTR) состоит из старшего байта (DPH) и младшего байта (DPL). Содержит 16-битовый адрес при обращении к внешней памяти. Может использоваться как 16-битовый регистр или как два независимых восьмибитовых регистра.

Порт0 – ПортЗ. Регистрами специальных функций Р0, Р1, Р2, РЗ являются регистры-"защелки" соответственно портов Р0, Р1, Р2, РЗ.

Буфер последовательного порта. SBUF представляет собой два отдельных регистра: буфер передатчика и буфер приемника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника.

Регистры таймера. Регистровые пары (TH0,TL0) и (TH1,TL1) образуют 16-битовые счетные регистры соответственно таймера/счетчика 0 и таймера/счетчика 1.

Регистры управления. Регистры специальных функций IP, IE, TMOD, TCON, SCON и PCON содержат биты управления и биты состояния системы прерываний, таймеров/счетчиков и последовательного порта. ОМЭВМ при функционировании обеспечивает:

- минимальное время выполнения команд сложения – 1 мкс;

- аппаратное умножение и деление с минимальным временем выполнения команд умножения/деления – 4 мкс.

Все ОМЭВМ рассматриваемого семейства имеют несколько адресных пространств, функционально и логически разделенных за счет разницы в механизмах адресации и сигналах управления записью и чтением: память программ; внутренняя память данных; внешняя память данных.

Структура адресного пространства ОМЭВМ показана на рис. 2. Слева приводятся адреса соответствующих областей памяти.

Рисунок 2 – Пространство памяти ОМЭВМ

Память программ имеет 16-битовую адресную шину, ее элементы адресуются использованием счетчика команд (PC) или инструкций, которые вырабатывают 16-разрядные адреса.

Память программ доступна только по чтению. ОМЭВМ не имеют команд и управляющих сигналов, предназначенных для записи в память программ. Память программ имеет байтовую организацию и общий объем до 64 Кбайт. Ряд OMЭВМ (КР1816ВЕ51, КМ1816ВЕ751, КР1830ВЕ51) содержат расположенную на кристалле внутреннюю память программ емкостью 4 Кбайт, которая может быть расширена до 64 Кбайт за счет подключения микросхем внешней памяти программ.

ОМЭВМ семейства MCS-51 имеют внешний вывод DEMA, с помощью которого можно запретить работу внутренней памяти программ, для чего необходимо подать на вывод DEMA "0". При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ с формированием сигнала РМЕ. В случае, если DEMA=1, работают и внутренняя, и внешняя память программ. Для ОМЭВМ, не имеющих внутренней памяти программ, для нормальной работы всегда необходимо задавать DEMA=0.

Таким образом, доступ к внешней памяти программ осуществляется в двух случаях:

1) при действии сигнала DEMA=0 независимо от адреса обращения;

2) в любом случае, если программный счетчик (PC) содержит число, большее чем 0FFFH.

Внутренняя память данных ОМЭВМ состоит из двух областей: 128 байт оперативной памяти (ОЗУ) с адресами 0-7FH и области регистров специальных функций, занимающей адреса 80Н–FFH. Распределение пространства внутренней памяти данных показано на рис. 3. Физически внутреннее ОЗУ данных и область регистров специальных функций являются отдельными устройствами.

Все ячейки внутреннего ОЗУ данных могут адресоваться с использованием прямой и косвенной адресации (режимы адресации даны в описании системы команд ОМЭВМ). Кроме того, внутреннее ОЗУ данных имеет следующие особенности.

Младшие 32 байта внутреннего ОЗУ данных сгруппированы в 4 банка по 8 регистров в каждом (БАНК0 – БАНКЗ на рис. 3). Команды программы могут обращаться к регистрам, используя их имена R0 – R7. Два бита PSW (указатели банка рабочих регистров RS0 и RS1) определяют, с регистрами какого банка производятся манипуляции. Наличие такого механизма работы с ячейками ОЗУ позволяет экономить память программ, т. к. команды, работающие с регистрами R0–R7, короче команд, использующих прямую адресацию.

Следующие после банков регистров внутреннего ОЗУ данных 16 байт (адреса 20Н–2FH) образуют область ячеек, к которым возможна побитовая адресация. Набор команд ОМЭВМ семейства MCS-51 содержит значительное количество инструкций, позволяющих работать с отдельными битами, используя при этом прямую адресацию. 128 бит, составляющих рассматриваемую область внутреннего ОЗУ данных, имеют адреса 00Н–7FH и предназначены для работы с такими инструкциями.