рефераты Знание — сила. Библиотека научных работ.
~ Портал библиофилов и любителей литературы ~

Меню
Поиск



бесплатно рефератыВстроенные микропроцессорные системы на основе однокристальных микро ЭВМ

Встроенные микропроцессорные системы на основе однокристальных микро ЭВМ

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

Содержание

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 и предназначены для работы с такими инструкциями.

Рисунок 3 - Адресное пространство внутренней памяти данных

Внешняя память данных формируется дополнительными микросхемами памяти, подключаемыми к ОМЭВМ, и может иметь емкость до 64 Кбайт. Пространства внутренней и внешней памяти данных не пересекаются, т.к. доступ к ним осуществляется с помощью разных команд. Для работы с внешней памятью данных существуют специальные команды MOVX, которые не влияют на внутреннюю память данных ОМЭВМ. Таким образом, в системе могут одновременно присутствовать внутренняя память данных с адресами 00Н - FFH и внешняя память данных с адресами 0000Н - FFFFH.

Обращение к ячейкам внешней памяти данных осуществляется только с использованием косвенной адресации по регистрам R0 и R1 активного банка регистров внутреннего ОЗУ (команды типа MOV @Ri) или по регистру специальных функций DPTR (команды типа MOV @DPTR). Соответственно в первом случае будет формироваться 8-разрядный, а во втором случае 16-разрядный адреса внешней памяти данных.

При обращениях к внешней памяти данных адрес выводится через порт Р0 (младший байт) и порт Р2 (старший байт) ОМЭВМ. Обмен байтом данных (запись и чтение) производится через порт Р0 ОМЭВМ, т.е. порт Р0 используется как шина адреса/данных в режиме мультиплексирования.

Считывание данных из внешней памяти данных в ОМЭВМ производится с помощью выходного сигнала ОМЭВМ RD, а запись данных из ОМЭВМ во внешнюю память данных с помощью выходного сигнала ОМЭВМ WR.

Каждый тип внешней памяти (память программ, память данных) может быть добавлен независимо от другого и каждый использует те же адреса и шины данных, но различные сигналы управления.

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

Система команд ОМЭВМ семейства MCS-51 имеет 111 команд и позволяет реализовать обработку данных, обеспечить выполнение логических, арифметических операций, а также управление в режиме реального времени. Реализованы побитовая, потетрадная (4 бита), побайтовая (8 бит) и 16-разрядная обработка данных.

Полное описание команд и примеры их выполнения приведены в приложении Б.

В машинном коде команда занимает один, два или три байта и выполняется за один, два или четыре (умножение и деление) машинных цикла. При частоте тактового генератора, равной 12 МГц, одноцикловые команды выполняются за 1 мкс, двухцикловые - за 2 мкс и т.д. Из 111 типов команд 64 выполняются за 1 мкс (12 тактов), 45 команд - за 2 мкс (24 такта) и две команды - умножение и деление (MUL, DIV) выполняются за 4 мкс (48 тактов).

Все команды условных переходов осуществляются относительно содержимого счетчика команд с адресом перехода, вычисляемым ЦПУ во время выполнения команды.

Страницы: 1, 2, 3, 4




Новости
Мои настройки


   бесплатно рефераты  Наверх  бесплатно рефераты  

© 2009 Все права защищены.