- •Е.А. Попов, д.В. Крайнов Однокристальные микроЭвм семейства mcs-51 (мк51)
- •Введение
- •1. Общие сведения об однокристальных микроэвм семейства mcs-51
- •2. Архитектура и конструктивные особенности микроконтроллера i8051
- •2.1. Центральный процессор
- •2.1.1 Арифметико-логическое устройство
- •2.1.2. Устройство управления и синхронизации
- •2.1.3. Программный счетчик
- •2.2. Организация памяти мк51
- •2.2.1. Память данных
- •2.2.2. Память программ
- •2.3. Интерфейс ввода – вывода
- •2.3.1. Параллельные порты
- •2.3.1.1. Особенности схемных решений параллельных портов
- •2.3.2. Последовательный порт
- •2.3.2.1. Особенности работы последовательного порта
- •2.3.2.2. Установка скорости приема – передачи данных
- •2.3.3. Таймер/счетчики
- •2.3.3.1. Режимы работы таймеров/счетчиков
- •2.3.3.2. Работа с таймерами/счетчиками
- •2.3.4. Устройство управления прерываниями (система прерываний)
- •3. Функционирование мк51
- •4. Система команд однокристальных микроэвм семейства мк51
- •4.1. Способы адресации
- •4.2. Общая характеристика системы команд мк51
- •4.2.1. Oбозначения в описаниях команд
- •4.2.2. Типы (форматы) команд
- •4.2.3. Типы операндов
- •4.2.4. Группы команд
- •4.2.4.1. Команды пересылки данных
- •4.2.4.3. Команды логических операций
- •4.2.4.4. Команды операций над битами
- •4.2.4.5. Команды передачи управления
- •Заключение
- •Библиографический список
- •Оглавление
- •4. Система команд однокристальных микро-эвм семейства
- •4.1.5.1. Команды пересылки данных…………………….106
- •Однокристальные микроЭвм семейства mcs-51 (мк51)
- •346428, Г. Новочеркасск, ул. Просвещения, 132
2. Архитектура и конструктивные особенности микроконтроллера i8051
Понятие архитектура микроконтроллера включает в себя совокупность аппаратных и программных средств, необходимых для его функционирования. Под аппаратными средствами подразумевается определенный набор структурных элементов и способ их физического сопряжения. Программные средства включают в себя набор программируемых элементов структуры (регистров), позволяющих конфигурировать аппаратные средства под выполнение определенной задачи и системы команд, с помощью которой микроконтроллер выполняет действия, согласно запрограммированному алгоритму [1,2].
Базовая архитектура микроконтроллера i8051 приведена на рис.3. Она содержит общие для всего семейства МК51 (в дальнейшем обозначение "МК51" будет общим для всех моделей семейства) структурные элементы:
ЦП – 8 разрядный центральный процессор, включающий в себя АЛУ (арифметико-логическое устройство), УУС (устройство управления и синхронизации), ПК (программный счетчик);
тактовый (задающий) генератор;
ПЗУ – постоянное запоминающее устройство (ROM) с минимальным объемом 4 Кбайта;
ОЗУ – оперативное запоминающее устройство (RAM) с объемом 128 байт;
параллельный ввод-вывод – устройство для передачи информации в параллельном коде, организованное в виде четырех восьмиразрядных программируемых портов;
последовательный ввод-вывод - устройство для передачи и приема информации в последовательном коде (последовательный порт);
два многорежимных таймера-счетчика (16 бит);
УУП – устройств управления прерываниями.
Все элементы структуры связаны между собой системными шинами - линиями связи, организованными между собой по признаку передаваемой информации:
ША – шина адреса (16 линий-разрядов А0÷А15);
ШД – шина данных (8 линий-разрядов D0÷D7);
ШУ - шина управления, предназначенная для передачи от ЦП сигналов управления и синхронизации (на рис.3 не показана).
Шины адреса и данных являются нормированными по формату передаваемой информации. Шина данных является двунаправленной и мультиплексированной. Двунаправленность означает передачу данных по шине в обоих направлениях, мультиплексирование - возможность передачи данных только между двумя элементами структуры в отдельный момент времени, то есть к шине может быть присоединен только один источник информации. Например, данные передаются от ЦП в ОЗУ, затем из порта в ЦП и т.д. Для организации режима мультиплексирования выходы всех источников данных должны иметь так называемое третье Z- состояние. Подключение необходимого в данный момент источника данных осуществляется по сигналам устройства управления.
Система команд МК51 содержит 111 базовых команд с форматом 1, 2 или 3 байта. МК51 имеет [4]:
32 РОН (регистра общего назначения);
128 определяемых пользователем программно-управляемых флагов;
набор регистров специальных функций (SFR – Special Function Register).
РОН и определяемые пользователем программно-управляемые флаги расположены в адресном пространстве внутреннего ОЗУ данных объемом 128 байт. Регистры специальных функций располагаются в отдельном пространстве объемом 128 байт.
Необходимо отметить важную особенность обозначения регистров (далее по тексту выделено курсивом). Эти обозначения одновременно используются как символические имена (мнемокоды), которые используются в командах.
Основные функции регистров:
А, АСС - регистр аккумулятора. Команды, предназначенные для работы с аккумулятором, используют мнемонику "А", например, MOV A, P2. Мнемоника "АСС" используется, к примеру, при побитовой адресации аккумулятора. Так, символическое имя пятого бита аккумулятора при использовании ассемблера ASM51 будет следующим: АСС. 5;
Регистр В. Используется во время операций умножения и деления. Для других инструкций регистр В может рассматриваться как дополнительный сверхоперативный регистр;
PSW - регистр состояния программы;
SP - указатель стека, 8-битовый регистр, содержимое которого показывает степень заполнения области ОЗУ, организуемой по принципу стека;
DPTR - регистр указатель данных, состоит из старшего байта (DPH) и младшего байта (DPL). Содержит 16-битовый адрес при обращении к внешней памяти. Может использоваться как 16 битовый регистр или как два независимых восьмибитовых регистра;
Р0, Р1, P2, Р3 – регистры -"защелки" соответственно портов Р0, Р1, P2, Р3;
SBUF - буфер последовательного порта, представляет собой два отдельных регистра: буфер передатчика и буфер приемника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника;
TH0,TL0 и TH1,TL1 - регистры таймера (регистровые пары) образуют 16-битовые счетные регистры соответственно таймера/ счетчика 0 и таймера/счетчика 1;
IP, IE, TMOD, TCON, SCON и PCON – регистры управления, содержат биты управления и биты состояния системы прерываний, таймеров/счетчиков, последовательного порта и энергопотребления.
Микроконтроллер при функционировании обеспечивае
минимальное время выполнения команд сложения - 1 мкс;
аппаратное умножение и деление с минимальным временем выполнения команд умножения/деления - 4 мкс.
Важнейшей и отличительной чертой архитектуры семейства МК51 является то, что АЛУ может наряду с выполнением операций над 8-разрядными типами данных манипулировать одноразрядными данными. Отдельные программно-доступные биты могут быть установлены, сброшены или заменены их дополнением, могут пересылаться, проверяться и использоваться в логических вычислениях. Все эти действия выполняются булевым процессором семейства МК51. Благодаря такому мощному АЛУ набор инструкций микроЭВМ семейства МК51 одинаково хорошо подходит как для применений управления в реальном масштабе времени, так и для алгоритмов с большим объемом данных.
Конструктивно микроконтроллеры 8051 выполнены в виде СБИС и могут размещаться в пластмассовых или металлокерамических корпусах двух типов: DIP-40 или PLCC-44, представленных на рис. 4 (цифры в обозначении корпуса означают количество выводов микросхемы).
а) б)
Рис.4. Типы корпусов для микроконтроллеров 8051:
а - DIP-40; б - PLCC-44
Корпуса DIP-40 предназначены для монтажа на печатную плату в отверстия. В некоторых случаях, например для отладочных работ, их размещают в переходную панель. Корпуса PLCC-44 предназначены для монтажа только в панель. Конструктивные и присоедини-
тельные размеры микросхем приведены в прил.1, назначение выводов микросхемы – в табл.2.1 прил. 2, электрические характеристики - в табл.2.2 прил. 2.
На рис.5 показано условное графическое обозначения микроконтроллера на принципиальных схемах с нумерацией выводов применительно к корпусу DIP-40.
Рис.5. Условное графическое обозначение микроконтроллеров
семейства МК51(MCS51) и назначение выводов
Микросхема имеет несколько групп выводов, связанных с их назначением:
Выводы передачи данных – 4 двунаправленных восьмиразрядных порта Р0,Р1,Р2,Р3, предназначенных для присоединения к внешним устройствам приема и передачи данных.
Выводы обеспечения функционирования микроконтроллера – VCC и VSS (питание микросхемы +5 В), RST (установка контроллера в исходное состояние при включении питания), Х1, Х2 (для присоединения внешнего кварцевого резонатора).
Выводы управления внешней памятью:
(External
Access)
- переключение между внутренней и
внешней памятью программ; ALE
(Address
Lath
Enable)
- сигнал фиксации адреса внешней памяти);
(Programm
Store
Enable)
- стробирующий сигнал чтения данных из
внешней памяти данных.
Рис.6. Использование портов Р0 и Р2 в качестве альтернативной
функции интерфейса внешней памяти
Для уменьшения числа физических выводов микросхемы некоторые из них имеют вторую (альтернативную) функцию.
Все выводы порта Р3 имеют альтернативные функции:
Р3.0 – вход приемника последовательного порта;
Р3.1 – выход передатчика последовательного порта;
Р3.2 – вход внешнего сигнала прерывания
;Р3.3 – вход внешнего сигнала прерывания
;Р3.4 – вход счетчика внешних событий Т0;
Р3.5 – вход счетчика внешних событий Т1;
Р3.6 – стробирующий сигнал
записи данных
во внешнюю память данных (ВПД);Р3.7 – стробирующий сигнал
чтения данных
из внешней памяти данных (ВПД).
Как было показано выше, шинная организация структуры микроконтроллера позволяет расширять систему путем подключения дополнительных элементов. В МК51 это возможно за счет передачи сигналов шин адреса и данных через порты Р0 и Р2, что позволяет нарастить объем внешней памяти до 64 Кбайт. Использование портов Р0 и Р2 в качестве альтернативной функции интерфейса внешней памяти показано на рис.6.
