- •Конспект лекцій з дисципліни «мікропроцесорні системи»
- •1.1. Принципы построения цифровых систем управления
- •1.2. Развитие средств микропроцессорной техники
- •1.1. Принципы построения цифровых систем управления
- •1.2. Развитие средств микропроцессорной техники
- •2.1. Структура и основные части микропроцессорной системы
- •2.2. Типовая структурная схема цифровой мпс
- •2.3. Структурные схемы систем с Фон Неймановской и Гарвардской архитектурой
- •2.4. Обмен информацией между мпс и внешними устройствами
- •2.5. Классификация мпс
- •3.2. Функциональная схема и набор интерфейсных сигналов
- •3.3. Программная модель и система команд
- •3.4. Формат команды, способы адресации операндов
- •4.2. Арифметико-логическое устройство
- •4.3. Память микроконтроллеров семейства mcs-51
- •5.1. Параллельные порты ввода/вывода
- •5.2. Система прерываний mcs-51
- •5.1. Параллельные порты ввода/вывода
- •5.2. Система прерываний mcs-51
3.4. Формат команды, способы адресации операндов
Команда должна сообщить процессору какие действия он должен выполнить, где взять данные для выполнения операций и куда поместить результат. Так как микропроцессор это цифровая логическая схема, любая команда должна быть представлена в виде двоичного числа, закодированного в определенном формате. В этом числе закодированы ответы на все вышеприведенные вопросы. В соответствии с этим принято делить код команды на поля. Эти поля включают: поле кода операции, которое определяет что должна сделать команда, и поле операндов, которые показывают, где берутся данные для выполнения операции. В некоторых случаях конкретные значения данных могут быть составной частью кода команды
Команда может состоять из одного, двух или большего количества байтов, последовательно расположенных в памяти. Первый байт команды содержит код операции. Считанный в начале интервала выполнения команды, называемого циклом команды, ее первый байт поступает из памяти по внутренней шине данных в регистр команд, где хранится в течение всего цикла. Дешифратор кода операции дешифрирует содержимое регистра команд – определяет характер операции и адреса операндов. Эта информация передается в УУ, которое вырабатывает управляющие сигналы, направляемые в блоки микропроцессора, участвующие в выполнении данной команды. Возможен случай, когда код операции несет всю необходимую информацию для выполнения команды. Тогда выполнение начинается сразу после считывания первого байта команды. Если же в команде содержится более одного байта, то остальные байты, несущие информацию об адресе ячейки памяти, где хранятся данные, передаются либо в буферный регистр адреса, либо в один из РОН. Только после завершения всей процедуры считывания команды или, иначе говоря, получения полной информации о местонахождении операндов и о том, какая операция должна выполняться над ними, начинается обработка.
Чтобы выбрать операнд из ячейки памяти или записать результат в память, адрес этой ячейки должен быть определен в команде.
Механизм указания адреса операнда в команде и способ получения (вычисления) исполнительного адреса данного, используемого в команде, называется способом (методом) адресации операндов.
В современной микропроцессорной технике разработано и используется большое количество различных способов адресации операндов, обеспечивающих гибкое использование данных программистом.
В команде, выполняемой микропроцессором, данные могут указываться либо непосредственно значениями, либо адресами этих значений. В первом случае непосредственно в команде уже указано то значение данного, которое нужно использовать в операции. Такой метод указания операнда носит название непосредственного.
В большинстве микропроцессоров адрес памяти может быть указан прямо или косвенно. При прямой адресации адрес ячейки находится непосредственно в команде. Прямая адресация операндов очень удобна, однако у нее есть ряд недостатков, существенно ограничивающих применимость этого способа. Во-первых, длина команды с таким способом адресации велика, особенно для современных микропроцессоров с большой адресуемой памятью. Во-вторых, этот способ делает программу неперемещаемой в памяти, то есть перенос программы в другую область памяти (с другими адресами) делает ее неработоспособной.
Однако, часто программисту не бывает известно по какому конкретному адресу будет расположено данное. В этом случае используется косвенная адресация. При косвенной адресации адрес ячейки памяти находится в регистре микропроцессора или в какой-либо другой ячейке памяти. При косвенной адресации операнд, специфицированный в команде, содержит адрес того регистра или ячейки памяти, где находится нужное данное. Такой способ адресации делает программу перемещаемой в памяти, команда с таким способом адресации короткая, но время ее выполнения увеличивается, так как необходимо выполнять промежуточные операции по выбору данных. Многие процессоры поддерживают варианты косвенного метода адресации – автоинкрементный и автодекрементный. В этих методах данные выбираются так же как и в косвенном методе, но регистр, указанный в команде и используемый в качестве указателя адреса данного, после выполнения команды автоматически увеличивается или уменьшается на 1.
Широко распространены в микропроцессорной технике базовый и индексный методы адресации (в том числе может быть их комбинация базово-индексный метод). Данные очень часто сохраняются в виде таблиц, списков или аналогичных структур. Вышеназванные способы позволяют микропроцессору эффективно работать с такими данными. Адрес данного в таких структурах можно разбить на две части: базу (начальный адрес всего массива) и смещение или индекс (адрес относительно базы). В базовом методе адрес базы хранится в регистре в неизменном виде, а смещение изменяется. В команде приводится указание на регистр, в котором хранится адрес базы, и смещение в виде непосредственного операнда. В индексном методе, наоборот, индекс хранится в регистре, а базовый адрес указывается непосредственно в команде.
В командах передачи управления широко применяется относительный метод адресации. В этом методе исполнительный адрес получается как сумма содержимого программного счетчика и смещения, непосредственно приводимого в команде. В команде смещение обычно указывается в виде числа со знаком в дополнительном коде.
Контрольные вопросы.
Перечислить основные характеристики микропроцессора. Как каждая из них влияет на выбор микропроцессора при построении конкретной микропроцессорной системы?
Что такое аппаратные и программные средства микропроцессора?
Объяснить, что понимают под "программной моделью" микропроцессора и микропроцессорной системы?
Перечислить основные составные части которые входят в программную модель микропроцессора.
Что такое "команда" и "система команд" микропроцессора?
Лекция 4. АРХИТЕКТУРА, АЛУ, ПАМЯТЬ MCS-51
4.1. Архитектура микроконтроллеров MCS-51
4.2. Арифметико-логическое устройство
4.3. Память микроконтроллеров семейства MCS-51
4.1. Архитектура микроконтроллеров MCS-51
Семейство микроконтроллеров MCS-51 основано на 8-разрядном процессорном ядре. В его состав входит целый ряд микросхем, отличающихся производительностью, объёмом встроенной памяти, количеством портов ввода/вывода, характеристиками таймеров и интерфейсных модулей. Все микроконтроллеры этого семейства работают с одной и той же системой команд, большинство из них выполняется в одинаковых корпусах с совпадающей цоколевкой.
Первым представителем этого семейства является микросхема 8051 фирмы Intel, выпущенная в 1980 году на базе n-MOS технологии. В более поздних модификациях 80C51 использовалась технология CMOS, отличающаяся пониженным энергопотреблением. Отечественными аналогами семейства MCS-51 являются микросхемы 1816ВЕ31/51, 1830ВЕ31/51, 1834ВЕ31 и 1850ВЕ31. Типичный микроконтроллер этого семейства имеет 1 Кбайт внутренней памяти программ и 128 байт внутренней памяти данных (16 байт из которых допускают побитовую адресацию).
Первоначально при выполнении команд использовались простейшие методы синхронизации, при которых каждый машинный цикл состоял из 12 тактов. Поэтому при тактовой частоте 12 МГц команда выполнялась за 1..2 мкс. В дальнейшем число тактов на цикл удалось сократить до четырёх, двух, и даже одного, а тактовую частоту довести до 100 МГц.
На сегодняшний день существует более 200 модификаций микроконтроллеров семейства MCS-51, выпускаемых почти двадцатью компаниями (Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems и др., табл. 4.1). Эти модификации включают в себя кристаллы с широчайшим спектром периферии: от простых 20-выводных устройств с одним таймером и 1К программной памяти до сложнейших 100- выводных кристаллов с 10-разрядными АЦП, массивами таймеров-счетчиков, аппаратными 16-разрядными умножителями и 64 Кбайт программной памяти на кристалле. Основными направлениями их развития являются: повышение быстродействия, снижение напряжения питания и энергопотребления, увеличение объема внутренней памяти данных, использование внутренней FLASH-памяти программ, а также введение в состав периферии сложных устройств таких, как схемы управления электроприводами, CAN-интерфейсов распределённых систем управления, USB-интерфейсов и т.п.
Таблица 4.1 – Микроконтроллеры семейства MCS-51
Тип |
ОЗУ, байт |
ПЗУ, байт |
Макс. частота, МГц |
Таймеры-счётчики |
Колич. прер. |
Порты в/в |
Зарубежные микроконтроллеры |
||||||
Atmel 89C1051 |
64 |
1K |
24 |
1´16 |
3 |
2P |
Atmel 89C2051 |
128 |
2K |
24 |
2´16 |
6 |
1S, 2P |
Intel 8051 |
128 |
4K |
12 |
2´16 |
5 |
1S, 4P |
Intel 8031 |
128 |
– |
12 |
2´16 |
5 |
1S, 4P |
Intel 8X52 |
256 |
8K |
24 |
3´16 |
6 |
1S, 4P |
Atmel 89C52 |
256 |
8K |
24 |
3´16 |
8 |
1S, 4P |
Atmel 89C55 |
256 |
20K |
33 |
3´16 |
8 |
1S, 4P |
Intel 8X54 |
256 |
16K |
24 |
3´16 |
6 |
1S, 4P |
Intel 8X58 |
256 |
32K |
24 |
3´16 |
6 |
1S, 4P |
Intel 8X51FA |
128 |
8K |
24 |
3+PCA |
7 |
1S, 4P |
Intel 8X51FB |
256 |
16K |
24 |
3+PCA |
7 |
1S, 4P |
Intel 8X51FC |
256 |
32K |
24 |
3+PCA |
7 |
1S, 4P |
Отечественные микроконтроллеры |
||||||
КР1816ВЕ51 |
128 |
4К |
12 |
2´16 |
5 |
1S, 4P |
КР1816ВЕ751 |
128 |
- |
12 |
2´16 |
5 |
1S, 4P |
КР1816ВЕ31 |
128 |
- |
12 |
2´16 |
5 |
1S, 4P |
КР1830ВЕ51 |
128 |
4К |
16 |
2´16 |
5 |
1S, 4P |
КР1830ВЕ751 |
128 |
- |
16 |
2´16 |
5 |
1S, 4P |
КР1830ВЕ31 |
128 |
- |
16 |
2´16 |
5 |
1S, 4P |
Структурная схема микроконтроллера 1816ВЕ51 показана на рис. 4.1.
Рис. 4.1- Структурная схема микроконтроллера 1816ВЕ51
Основными структурными элементами базовой модели семейства микроконтроллеров MCS-51 являются:
· арифметико-логическое устройство;
· внутренняя память программ (4 Кбайт);
· внутренняя память данных (128 байт);
· два 16-разрядных таймера/счётчика;
· последовательный интерфейс (UART);
· блок обработки прерываний;
· четыре 8-разрядных порта ввода/вывода;
· тактовый генератор.
Конструктивно микроконтроллер выполнен в корпусе БИС с 40 внешними выводами, электрически совместимыми с элементами ТТЛ. Он имеет 32 вывода для подключения внешних устройств (4 восьмиразрядных порта P0..P3), два вывода питания, два вывода для кварцевого резонатора и четыре вывода для управляющих сигналов. Порт P3 может быть запрограммирован пользователем на выполнение специальных (альтернативных) функций обмена информацией с внешней средой: последовательный ввод/вывод, чтение/запись, ввод тестируемых сигналов и сигналов прерывания.
