- •Раздел 1 Архитектура микропроцессорного вычисления
- •Тема 1.1 Архитектура микропроцессора
- •1 Архитектура микропроцессора. Классификация
- •Контрольные вопросы:
- •Тема 1.2 Организация управления процессом обработки информации
- •1 Структура микропроцессора
- •2 Аппаратный принцип управления выполнением операций
- •3 Микропрограммный принцип управления выполнением операций
- •Контрольные вопросы:
- •Тема 1.3 Общая схема микропроцессора. Cisc и risc архитектура, основные принципы
- •1 Построение микропроцессорных систем
- •2 Режим выполнения основной программы
- •3 Режим вызова программы
- •4 Режим обслуживания прерываний и исключений
- •5 Режим прямого доступа к памяти
- •6 Конвейерный принцип выполнения команд
- •При идеальной (а) и реальной (б) загрузке 6-ступенчатого конвейера
- •Контрольные вопросы:
- •Тема 1.4 Ассемблерная мнемоника. Структура и форматы команд. Виды адресации. Система команд микропроцессора
- •1 Язык ассемблера. Основные понятия
- •Структура программы на ассемблере. Синтаксис ассемблера.
- •2 Символы языка ассемблера
- •3 Типы операторов ассемблера
- •Директивы ассемблера
- •Система команд процессора
- •Контрольные вопросы:
- •Тема 1.5 Организация памяти микропроцессорных вычислителей
- •1 Общие сведения о запоминающих устройствах (зу)
- •2 Основные параметры запоминающих устройств Основными параметрами запоминающих устройств являются:
- •3 Классификация запоминающих устройств
- •4 Основные структуры запоминающих устройств
- •Структура 3d
- •Контрольные вопросы:
- •Тема 1.6 Адресация в микропроцессорном вычислителе. Понятие адресного пространства. Методы полной и частичной дешифрации адресов
- •1 Форматы команд
- •2 Способы адресации операндов
- •Тема 1.7 Интерфейс и его функции. Параллельный и последовательный обмен информацией. Способы обмена данными.
- •1 Общие сведения об интерфейсах
- •2 Иерархия шин
- •4 Параллельные периферийные адаптеры
- •Режим 0
- •Режим 1
- •5 Программируемые связные адаптеры
- •6 Программируемые контроллеры прерываний
- •7 Контроллеры прямого доступа к памяти
- •8 Программируемые интервальные таймеры
- •Раздел 2 Системы на основе однокристальных микропроцессоров и микроконтроллеров
- •Тема 2.1 Особенности архитектуры однокристальных микропроцессоров. Обобщенная структура
- •1 Основные характеристики однокристальных микропроцессоров
- •2 Эволюция архитектуры однокристальных микропроцессоров Intel x86
- •3 Семейства однокристальных микроконтроллеров. Базовая органи-зация
- •4 Набор регистров мк - 51
- •5 Организация памяти мк-51
- •Периферийные средства мк – 51
- •Контрольные вопросы:
- •Тема 2.2 Система команд
- •3 Отладка и настройка микроконтроллерных систем
- •1 Типы команд
- •2 Расширение памяти программ и данных
- •3 Отладка и настройка микроконтроллерных систем
- •Глоссарий
- •Итоговый тест
- •Литература
5 Организация памяти мк-51
Пространство внутренней памяти DSEG имеет общий объем 256 байт. Однако организация ВЕ51 предусматривает реализацию только первой его половины (128 байт). В МК 8052 DSEG используется в полном объеме.
Подобно архитектуре ВЕ48 все банки рабочих регистров, а также системный стек в МК ВЕ51 располагаются во внутренней памяти данных и могут рассматриваться как обычные ячейки памяти. Существуют два способа адресации памяти данных МК: прямой (direct) и косвенный (@Ri, i = 0- 1) через регистры R0, R1 выбранного в данный момент одного из банков RB0-RB3. При прямой адресации доступна только младшая половина адресного пространства внутренней памяти данных (128 байт), при косвенной обеспечивается доступ к любой ее ячейке (256 байт). Введение отсутствующей в ВЕ48 прямой адресации значительно расширило возможности обработки данных МК, в частности появились средства прямого доступа в соседние регистровые банки и стек системы, интерпретируемые как обычные ячейки памяти.
Микроконтроллер ВЕ51 имеет мощную и развитую подсистему ВВ и средства поддержки режима реального времени. Для их управления в МК предусмотрен ряд регистров, которые размещаются во второй половине прямо адресуемого пространства (Рисунок 55), образующей пространство специальных регистров (128 байт). Сюда же включены порты и основные регистры ЦП. Центральный процессор МК - 51 содержит специальную логику, предназначенную для выполнения нескольких однобитовых операций, булев или одноразрядный процессор для вычисления булевых выражений. В основу булева процессора положен стандартный аккумуляторный принцип организации. В данном случае роль аккумулятора выполняет флажок переноса CY.
Для хранения булевых данных в архитектуре ВЕ51 предусмотрено специальное одноразрядное линейно упорядоченное пространство BSEG объемом 256 байт, которое физически совмещено с байтовым пространством данных DSEG. При этом одна часть пространства BSEG попадает на обычные ячейки памяти DSEG и может рассматриваться как область общего назначения. Обычно она используется для хранения булевых переменных. Другая часть пространства BSEG попадает на ячейки памяти, совмещенные с регистрами МК, что обеспечивает независимый доступ к их отдельным разрядам. В булевом пространстве определена только прямая адресация bit.
На рисунке 53 показано в байтах пространство с прямой адресацией, которое размещено в булевом пространстве, указаны диапазоны адресов BSEG, относящихся к их разрядам.
Рисунок 55 – Прямо адресуемая часть внутренней
памяти данных (а) и память специальных регистров (б)
Например, старший разряд аккумулятора А, отождествленного с ячейкой пространства памяти с прямой адресацией под адресом 0E0H, имеет адрес пространства BSEG, равный 0Е7Н.
Периферийные средства мк – 51
Параллельные каналы связи. Подсистема ВВ микроконтроллера МК - 51 размещается непосредственно на кристалле. Для ВВ данных и управления процессом их передачи в состав МК введен ряд портов данных и регистров управления/состояния, совокупность которых образует набор специальных регистров.
Физическая система ВВ микроконтроллера МК - 51 состоит из четырех двунаправленных 8-разрядных портов Р0 - РЗ. Все порты ВВ отображены в пространстве внутренней памяти DSEG по адресам 80Н, 90Н, 0А0Н, 0В0Н и ничем не отличаются от обычных ячеек памяти. Отказ от изолированного пространства ВВ, используемого в архитектуре ВЕ48, позволил увеличить вычислительную эффективность МС интенсивного ВВ, привел к более регулярной структуре набора команд ВЕ51. Любая команда с операндом из внутренней памяти может быть применена к содержимому портов Р0 - РЗ.
Кроме того, порты Р0 - РЗ совмещены с битовым пространством BSEG, что обеспечивает доступ к отдельным его разрядам независимо от других. Порты Р0 - РЗ занимают адреса BSEG: 80Н - 87Н, 90Н -97Н, 0А0Н -0А7Н и 0В0Н - 0В7Н соответственно.
Расширение пространства ВВ может быть выполнено за счет области XSEG или другими средствами с помощью самих портов Р0 - РЗ и SBUF.
При обращении к внешней памяти программ или данных порты Р0, Р2 выполняют функции системных шин AD и АВ соответственно. Младший байт адреса и данные передаются через Р0 в мультиплексном режиме: сначала выводится адрес, а затем для передачи данных используется порт. Старший байт адреса формируется на Р2. Линии порта РЗ реализуют управление циклами обмена и другие специальные функции аппаратного уровня
Таблица 3 - Линии порта РЗ
РЗ.0 |
RxD |
Вход приемника последовательного канала |
Р3.1 |
TxD |
Выход передатчика последовательного канала |
Р3.2 |
INT0 |
Вход запроса на прерывание 0 |
РЗ.З |
INT1 |
Вход запроса на прерывание 1 |
Р3.4 |
T0 |
Внешний вход таймера/счетчика 0 |
Р3.5 |
Tl |
Внешний вход таймера/счетчика 1 |
Р3.6 |
WR |
Строб записи в XSEG |
Р3.7 |
RD |
Строб чтения XSEG |
Последовательный канал связи. В состав МК-51 входит дуплексный канал последовательной связи с буферизацией, который может быть запрограммирован для работы в одном из четырех режимов:
режим 0-синхронный последовательный ВВ со скоростью OSC/12;
режим 1-асинхронный с 10-битовым кадром и переменной скоростью передачи;
режим 2 - асинхронный с 11-битовым кадром и фиксированной скоростью передачи OSC/32 или OSC/64;
режим 3-асинхронный с 11-битовым кадром и переменной скоростью передачи.
Входные и выходные данные хранятся в буферном регистре SBUF с адресом 99Н. Управление работой приемопередатчиков осуществляется через слово управления и состояния SCON, расположенное в регистре по адресу 98Н:
SCON.0 RI Флаг прерывания приемника
SCON.l TI Флаг прерывания передатчика
SCON.2 RB8 Восьмой бит приемника в режимах 2 и 3.
В режиме 1, если SM2 = 0, то отображает стоп-бит. В режиме 0 не используется.
SCON.3 ТВ8 Восьмой бит передатчика в режимах 2 и 3
SCON 4 REN Разрешение приема
SCON.5 SM2 Запрещение приема кадров с нулевым восьмым
битом данных. В режиме 0 должен быть сброшен
SCON.6 SMI Младший разряд для кодирования номера режима
SCON.7 SM0 Старший разряд для кодирования номера режима:
-
SM0
SM1
Режим
SM0
SM1
Режим
0
0
0
1
0
2
0
1
1
1
1
3
Таймеры/счетчики. К стандартным средствам поддержки режима реального времени относятся таймеры/счетчики и подсистема прерываний. Если таймеры необходимы для организации системных меток реального времени и отработки временных интервалов, то подсистема прерываний обеспечивает своевременную реакцию МК на асинхронные события, происходящие как внутри МС, так и вне ее.
В состав МК - 51 входят два 16-разрядных таймера/счетчика СТ0, СТ1. Еще один (СТ2) добавлен в архитектуре 8052. Состояние таймеров/счетчиков отражается программно-доступными регистровыми парами (TH0, TL0), (TH1, ТЫ) и (ТН2, TL2) соответственно, размещенными в пространстве DSEG по адресам (8СН, 8АН), (8DH, 8ВН) и (0CDH, 0ССН).
Таймеры/счетчики СТ0 - СТ2 могут быть запрограммированы для работы либо в качестве таймера, либо в качестве счетчика. Функция таймера состоит в счете числа машинных циклов, следующих с частотой OSC/12. Функция счетчика заключается в отслеживании числа переходов из 1 в 0 на соответствующих входах Т0, Tl, T2.
Управление режимом работы СТ0, СТ1 осуществляет регистр TMOD (Timer/Counter Mode), который расположен по адресу 89Н. Регистр разбит на два 4-разрядных подрегистра T0MOD и T1MOD, которые ответственны за управление СТО и СТ1 соответственно:
Таблица 4
TMOD.0 |
M0 |
Младший бит поля управления режимом СТ0 |
|||||
TMOD.l |
Ml |
Старший бит поля управления режимом СТ0: |
|||||
|
|
М0 |
Ml |
Режим |
М0 |
Ml |
Режим |
|
|
0 |
0 |
0 |
1 |
0 |
2 |
|
|
0 |
1 |
1 |
1 |
1 |
3 |
TMOD.2 |
C/TN |
Выбор функции таймера или счетчика СТ0. При |
|||||
|
|
С/Т - 0 выбирается функция таймера, в противном случае счетчика |
|||||
TMOD.3 |
GATE |
Флажок управления работой СТО. При GATE = 1 работа разрешается, если INTO = 1 и TR0 = 1(см. TCON). При GATE=0 работа счетчика зависит только от состояния TR0 |
|||||
TMOD.4 |
М0 |
То же, но для СТ1 |
|||||
TM0D.5 |
Ml |
То же, но для СТ1 |
|||||
TMOD.6 |
С/Т |
То же, но для СТ1 |
|||||
TMOD.7 |
GATE |
То же, но для СТ1 |
|||||
Система прерываний. Архитектура МК- 51 поддерживает двухуровневую приоритетную систему прерываний с пятью (или шестью в случае 8052) источниками запросов на обслуживание, имеющими фиксированные векторы прерываний. Программное управление системой осуществляется через два 8-разрядных регистра: IP (Interrupt Priopity) - регистр приоритета прерываний и IE (Interrupt Enable) - регистр разрешения прерываний.
Для приема внешних запросов на прерывание служат линии INT0 и INT1, которые могут быть запрограммированы на срабатывание как по переходу из одного состояния в другое, так и по уровню входного сигнала независимо друг от друга. Управление типом входа осуществляется флажками IT0/TCON.0 (Interrupt Туре 0) и IT1/TCON.2. При ITi = l устанавливается режим срабатывания по переходу из 1 в 0, в противном случае - по напряжению низкого уровня на входе INTi, i = 0-1. Запросы на прерывание от внешних источников INT0 или INT1 устанавливают флажки IE0/TCON.1 (Interrupt Edge 0) и IE1/TCON.3. В случае работы по переходу эти флажки сбрасываются автоматически при входе в соответствующую процедуру обслуживания прерывания. В случае режима работы по уровню флажки отслеживают состояние сигналов на входных линиях INT0 и INT1, повторяя все их изменения.
Источниками внутренних запросов могут быть: флажок TF0/TCON.5 (Timer Flag 0) - признак переполнения СТ0, с флажок TF1/TCON.7 - признак переполнения СП, а также флажок TI/SCON.1 (Transmit Interrupt) или флажок RI/SCON.O (Recive Interrupt).
Вывод:
Рассмотрены основные технические характеристики, структура микроконтроллера МК – 51, входящего в семейство iMCS51. Приводится материал по организации памяти, адресации и встроенных интерфейсных системах.
