
- •Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микроконтроллер. Принципы построения микропроцессорных систем.
- •Архитектура микропроцессора: архитектура со сложной системой команд (cisc-процессоры), архитектура с упрощенной системой команд (risc-процессоры). Принстонская и гарвардская архитектуры.
- •3. Структура микропроцессорной системы и основные режимы ее работы – выполнение основной программы, обслуживание прерываний, прямой доступ к памяти.
- •4. Модуль процессора микропроцессорной системы. Состав модуля – операционный блок, блок управления, интерфейсный блок. Выполняемые функции.
- •5. Модуль памяти мпс. Выполняемые функции. Основные характеристики. Типы микросхем, применяемых для построения постоянной и оперативной памяти микропроцессорных систем.
- •6. Реализация обмена данными между внешними устройствами и микропроцессорной системой (мпс). Модуль ввода/вывода мпс, выполняемые функции, функциональная схема устройства ввода/вывода.
- •7. Понятие о системе команд микропроцессоров. Основные группы команд. Способы адресации операндов в микропроцессорах.
- •Форматы команд
- •Способы адресации операндов и команд
- •Адресация операндов
- •Адресация команд
- •Группы команд микропроцессора
- •8. Классификация и структура микроконтроллеров (мк). Процессорное ядро мк, его основные характеристики.
- •9. Типы памяти микроконтроллеров: память программ, память данных, регистры, внешняя память.
- •Память программ
- •Память данных
- •Регистры мк
- •Внешняя память
- •10. Порты ввода/вывода: назначение, основные типы. Таймеры микроконтроллеров: назначение, внутренняя структура.
- •Таймеры микроконтроллеров
- •12. Интерфейсы микропроцессорных систем, классификация и принципы построения
- •14. Последовательные асинхронные интерфейсы: rs-232, rs-422, rs-485, ирпс (интерфейс радиальный последовательный). Назначение, форматы передачи данных, основные технические характеристики.
- •15. Последовательные синхронные интерфейсы: spi (Synhronous Peripheral Interface), i2c (Inter Integrated Circuit). Назначение, форматы передачи данных, основные технические характеристики.
- •Интерфейсная шина i2c
- •16. Однокристальные микроконтроллеры семейства mcs-51: состав и общая характеристика. Структурная организация: регистры, память данных и программ.
- •17. Однокристальные микроконтроллеры семейства mcs-51: порты ввода/вывода, таймеры/счетчики, последовательный порт, система прерываний. Назначение, основные особенности.
- •18. Работа микроконтроллеров семейства mcs-51 в автономном режиме, способы подключения внешней памяти программ и данных.
- •21. Микроконтроллеры подсемейства pic18: общая характеристика, особенности архитектуры и системы команд.
- •Организация памяти
- •Система прерывания
- •Порты ввода/вывода
- •Генератор тактовых импульсов
- •Система команд pic18
- •Основные этапы разработки микроконтроллерных систем
- •Разработка и автономная отладка аппаратных средств мкс
- •Разработка и отладка программного обеспечения
- •23. Язык Ассемблер для микроконтроллеров семейства mcs-51: назначение, структура полей предложений на языке Ассемблер, директивы Ассемблера.
- •Поля предложения на языке Ассемблер
- •Примеры
- •Директивы Ассемблера
- •Метка Операция Операнды Комментарий
- •Метка Операция Операнды Комментарий
- •Опрос двоичного датчика
- •Ожидание события
- •Формирование временной задержки
- •Формирование управляющих сигналов из мк
- •Защита от дребезга контактов
- •25. Методы ввода информации с клавиатуры для микроконтроллеров семейства mcs-51: виды клавиатур, схема подключения контактов клавиатур к микроконтроллеру, методы опроса клавиатуры.
- •Описание микроконтроллерного устройства
- •Создание исходного файла базовой программы
- •Включение и выключение светодиода. Чтобы подать логическую единицу на вывод rb0 (для включения светодиода) необходимо в нулевой бит регистра portb записать 1:
- •Опрос переключателя. Ниже приведен текст программы, которая по нажатию клавиши sa1 включает светодиод vd1, а при ее отпускании светодиод гаснет.
- •Представление информации в языке Си
- •Операции и выражения в Си
- •Операторы управления вычислительным процессом
- •Функции
16. Однокристальные микроконтроллеры семейства mcs-51: состав и общая характеристика. Структурная организация: регистры, память данных и программ.
Однокристальные микроконтроллеры (МК) семейства MCS-51 разработаны фирмой Intel. Многие МК этого семейства с определенными модификациями выпускаются различными фирмами. В странах СНГ (Россия, Беларусь, Украина) микроконтроллеры данного вида относят к семейству МК51, все они имеют соответствующие аналоги фирмы Intel. МК этого семейства выполнены по n-МОП технологии (серия 1816) и КМОП технологии (серия 1830). Они имеют идентичные основные характеристики, а различие состоит в реализации внутренней памяти программ и потребляемом токе. В таблице приведены основные характеристики МК, выпускаемых в СНГ.
Микросхема |
Аналог Intel |
Тип памяти программ |
Ток потребления, мА |
Технология |
КР1816ВЕ51 КР1816ВЕ31 КМ1816ВЕ751 КР1830ВЕ51 КР1830ВЕ31 КМ1830ВЕ751 |
8051АН 8031АН 8751Н 80С51ВН 80С31ВН 87С51ВН |
ПЗУ Внешняя РПЗУ ПЗУ Внешняя РПЗУ |
150 150 220 18 18 18
|
n-МОП n-МОП n-МОП КМОП КМОП КМОП |
Здесь обозначено: ПЗУ – масочное ПЗУ; РПЗУ - репрограммируемое ПЗУ с ультрафиолетовым стиранием.
Другие параметры, одинаковые для всех микросхем: объем внутренней памяти программ – 4 Кбайт; объем внутренней памяти данных – 128 байт; максимальная тактовая частота – 12 МГц. Микроконтроллеры выполнены в 40-выводном корпусе типа DIP-40. Условное графическое обозначение приведено на рис. 16.1.
Краткое описание выводов:
XTAL1, XTAL2 – выводы подключения времязадающей цепочки для тактового генератора МК;
RST – вход сигнала сброса МК;
EA – вход сигнала разрешения работы внешней памяти программ;
P0, P1, P2, P3 – четыре 8-разрядных двунаправленных порта ввода/вывода;
ALE – строб запоминания адреса;
PSEN – строб чтения из внешней памяти программ;
UCC – вывод для подачи питания +5 В;
GND – общий.
Рис. 16.1. Условное графическое обозначение МК семейства MCS-51
Базовой моделью семейства MCS-51 и основой для всех последующих модификаций является МК 8051АН. При изучении семейства микроконтроллеров принято подробно рассматривать его базовую модель, так как другие типы МК отличаются лишь некоторыми особенностями. Для краткости этот МК будем именовать просто 8051. Микроконтроллер содержит следующие модули
центральный процессор разрядность обрабатываемого слова составляет один байт
память программ объемом 4 Кбайт (ПЗУ)
память данных объемом 128 байт (ОЗУ)
четыре 8-разрядных параллельных порта ввода/вывода
два 16-разрядных многорежимных таймера/счетчика
последовательный порт
систему прерывания с пятью векторами
тактовый генератор
схему формирования сигналов внешних шин адрес/данные и управления для работы с внешней памятью программ и (или) данных.
Центральный процессор микроконтроллеров семейства МК51 выполняет действия над 8-разрядными операндами. Программная модель центрального процессора содержит шесть регистров: PC, DPTR, A, B, SP, PSW. Функции регистров в процессоре следующие.
Программный счетчик (счетчик команд) PC (Program Counter) – 16-разрядный регистр, содержит адрес текущей команды выполняемой программы либо адрес операнда, используемого в текущей команде. При естественном ходе выборки команд, последовательно размещенных в памяти программ, содержимое счетчика увеличивается от команды к команде на число, равное количеству ячеек, занимаемых в памяти выполненной командой.
Регистр-указатель данных DPTR (Data Pointer) – 16-разрядный регистр (DPH – старший байт, DPL – младший байт). Основное назначение регистра DPTR – участи в формировании адреса при чтении данных (констант) из области памяти программ, а также при обмене с внешней памятью данных. Система команд MCS-51 предусматривает возможность обращения к отдельным байтам (DPH или DPL) регистра DPTR, что позволяет использовать эти регистры для хранения промежуточных результатов вычислений или как источник одного из операндов, указывая во втором байте команды абсолютный адрес DPH или DPL.
Аккумулятор (A-регистр) – 8-разрядный регистр, в котором хранятся операнды, результаты арифметических и логических операций. Это наиболее часто используемый регистр в программах.
Регистр B – дополнительный 8-разрядный регистр. Используется в операциях умножения и деления. В других командах может интерпретироваться как регистр общего назначения, его абсолютный адрес указывается во втором байте команды.
Указатель стека SP (Stack Pointer) – 8-разрядный регистр, содержит адрес верхушки стека. Архитектура MCS-51 предполагает размещение стековой памяти только в области внутренней памяти данных. Стек используется при вызове и возврате из подпрограмм, а также для временного хранения данных.
Регистр слова состояния программы (регистр состояния) PSW (Program Status Word) – 8-разрядный регистр для хранения битов признаков (флагов), которые отражают особенности выполнения операций в процессоре. Эти флаги имеют символические имена и расположены в определенных разрядах регистра PSW, который имеет следующий формат:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Разряды |
C |
AC |
F0 |
RS1 |
RS0 |
OV |
- |
P |
|
Биты признаков (флаги) выполняют следующие функции.
C (Carry) – флаг переноса. Устанавливается и сбрасывается аппаратными средствами или программой при выполнении арифметических и логических операций.
AC (Auxiliary Carry) – флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в 3-м разряде аккумулятора.
F0 – флаг пользователя. Назначается пользователем по желанию. Может быть установлен, сброшен или проверен программой.
RS1, RS0 – биты выбора банка регистров. Устанавливаются и сбрасываются программой для выбора рабочего (текущего) банка регистров
OV (Over) – флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций.
P (Parity) – флаг паритета. Устанавливается и сбрасывается аппаратно. Флаг P = 1, если число единиц в аккумуляторе нечетное. P = 0, если число единиц в аккумуляторе четное или его содержимое нулевое. Таким образом, флаг паритета выполняет контроль четности содержимого аккумулятора.
1-й бит регистра PSW, т.е. PSW.1 не используется.
МК семейства МК51 используют гарвардскую архитектуру память программ (ПЗУ) и память данных (ОЗУ) имеют раздельное адресное пространство. И, как следствие, для обращения к ячейкам памяти разного типа должны быть использованы разные типы команд. Максимальный размер адресного пространства для каждого типа памяти составляет 64 Кбайта. Однако непосредственно на кристалле МК 8051 располагается только 4 Кбайта ПЗУ и 128 байт ОЗУ. Микроконтроллеры семейства MCS-51имеют открытую архитектуру, т.е. позволяют подключать внешнюю память. Поэтому при необходимости, как память программ, так и память данных могут быть увеличены посредством подключения дополнительных микросхем памяти. Варианты организации памяти в микроконтроллерной системе на основе МК 8051 поясняет рис. 16.2.
Так
как МК 8051 имеет внутреннюю память
программ (ПП), то он может работать в
автономном (однокристальном) режиме,
при этом сигнал
= 1. ПП располагается по адресам 0000H…0FFFH,
память данных – с 00H по
7FH. Регистры специальных
функций имеют объединенное с внутренним
ОЗУ адресное пространство и расположены
по адресам 80H…FFH.
Даже если МК 8051 работает в однокристальном
режиме, к нему может быть подключена
внешняя ПП. Она должна располагаться в
диапазоне адресов 1000H…FFFFH,
т.е. дополнять внутреннее ПЗУ МК. Если
МК работает в расширенном режиме (сигнал
= 0), то он будет адресовать только внешнюю
ПП с 0000H по FFFFH,
несмотря на то, что внутреннее ПЗУ на
кристалле имеется.
Рис. 16.2. Организация памяти в МКС на основе МК 8051
В каждом из рассмотренных режимов МК 8051 может использовать два массива памяти данных (ПД): внутреннее ОЗУ, расположенное по адресам 00H…7FH, и подключаемое внешнее ОЗУ, которое может располагаться, начиная с адреса 0000H вплоть до FFFFH. Возможное перекрытие адресного пространства внутренней и внешней ПД не влияет на работу МК, так как доступ к ним осуществляется разными командами.
В архитектуре MCS-51 адресное пространство внутренней памяти данных объединяет все программно доступные ресурсы МК, в том числе регистры процессора. Пространство внутренней памяти данных делится на пространство адресов внутреннего ОЗУ с 00H по 7FH и пространство адресов регистров специальных функций с 80H по FFH. Физически эти области внутренней ПД являются отдельными устройствами.
На рис. 16.3 приведена структура внутреннего ОЗУ памяти данных МК.
В ОЗУ можно выделить 3 области, отличающиеся определенными свойствами.
Младшие 32 ячейки (адреса 00H-1FH) сгруппированы в 4 банка по 8 регистров в каждом. Эти регистры часто называют регистрами общего назначения (РОН), так как они могут использоваться в программах произвольно для различных целей. Регистры банков имеют символические имена R0, R1,…, R7, одинаковые для всех четырех банков. Но так как регистры разных банков в действительности размещаются в ОЗУ по различным адресам, и, кроме того, программа может использовать одновременно только один банк, который называется рабочим или текущим, неопределенности из-за одинаковых имен не возникает. На рис. 4.5 показано размещение регистров общего назначения в 0-м банке.
Ячейки ОЗУ с адресами 20H-2FH допускают побитовую адресацию. Прямоадресуемые биты этой области имеют адреса 00H-7FH. Набор команд MCS-51 содержит большое количество инструкций, позволяющих работать с отдельными битами. 128 бит, входящих в рассматриваемую область, могут быть использованы произвольно по усмотрению программиста. Поэтому эта область ОЗУ данных часто называется областью программных флагов.
Начиная с адреса 30H и до 7FH размещается свободная зона ОЗУ (80 ячеек), которая может использоваться программистом произвольно для хранения данных и организации стека.
Область внутренней памяти данных с адресами 80H…FFH занимают регистры специальных функций: это регистры данных портов, регистры таймеров/счетчиков и т.д.
Рис. 16.3. Структура внутреннего ОЗУ данных МК