- •Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микроконтроллер. Принципы построения микропроцессорных систем.
- •Архитектура микропроцессора: архитектура со сложной системой команд (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, а при ее отпускании светодиод гаснет.
- •Представление информации в языке Си
- •Операции и выражения в Си
- •Операторы управления вычислительным процессом
- •Функции
23. Язык Ассемблер для микроконтроллеров семейства mcs-51: назначение, структура полей предложений на языке Ассемблер, директивы Ассемблера.
Язык Ассемблер, называемый также языком символического кодирования, является в настоящее время основным инструментом разработки программ для МК семейства MCS-51. Главное его достоинство заключается в том, что он допускает представление всех элементов программы в символической (буквенно-цифровой) форме, отражающей их содержательный смысл. Преобразование символических наименований в двоичные коды команд МК возлагается на специальную компьютерную программу, называемую ассемблирующей программой, а чаще всего, просто ассемблером. Программа-ассемблер действует как «сборщик», объединяя элементы программы в конкретные машинные команды.
Основное отличие языка Ассемблер от машинного языка заключается в использовании вместо двоичных кодов команд и адресов мнемонических и символических наименований – символических имен. Символическое имя в языке Ассемблер – это последовательность букв латинского алфавита и цифр, причем имя не может начинаться с цифры. Допускается использование в имени символа подчеркивания (нижнего тире). Длина последовательности символов не должна превышать 31. В языке используют два типа имен постоянные и определенные пользователем.
Постоянные имена не нуждаются в определении перед их использованием в исходной программе. К ним относятся мнемокоды команд МК, имена регистров МК, мнемокоды операций языка и директивы Ассемблера.
Символические имена пользователя следует обязательно определять в исходной программе, причем они не должны совпадать с постоянными именами (иначе ассемблирующая программа-транслятор выдает сообщение об ошибке).
Программа на языке Ассемблер представляется в виде последовательности команд, называемых также операторами или предложениями Ассемблера. Для каждой команды отводится одна строка. В общем случае предложение на языке Ассемблер содержит 4 поля и имеет следующий вид
Метка Операция Операнды Комментарий
В конкретном предложении каждое из указанных полей может быть пустым. Поля предложения ограничиваются разделителями, которые могут быть дополнены произвольным количеством пробелов (говорят, что предложение записывается в свободном формате). В качестве разделителей применяются следующие знаки пробел, запятая, двоеточие, точка с запятой, скобки.
Поля предложения на языке Ассемблер
Поле метки. Оно используется для записи либо имени, либо метки. Поле метки отделяется от соседнего поля двоеточием. Имя служит для идентификации элементов программы в директивах Ассемблера EQU, REG (см. далее). Если имя используется для организации адресных ссылок на указанные операторы, оно называется меткой. Синтаксически метка определяется так же, как и имя. Числовое значение метки определяется по содержимому счетчика адреса ассемблирующей программы при трансляции исходной программы. Метка всегда соответствует адресу первого байта машинной команды или области памяти, которые она именует.
Примеры допустимых меток
AGAIN , DONE , LAB1 , M1 , DEL50MS LOOP_1
Следующие метки недопустимы 8ABC - начинается не с буквы DONE - не заканчивается двоеточием SP - использовано ключевое слово (имя регистра МК) A ONE - содержит пробел.
Поскольку метки ассоциируются с адресами памяти, их нельзя дублировать. Другими словами, каждое символическое имя может появиться в поле метки только 1 раз. В противном случае программа-ассемблер выдает диагностическое сообщение о многократно определенной метке.
Поле операции. В этом поле содержится символическое описание (мнемокод) выполняемой команды микроконтроллером, которое заменяет числовое значение кода операции. Это обозначение состоит из двух – четырех букв и является сокращением от английских слов, описывающих данную операцию. Запоминать и использовать мнемокоды значительно проще и удобнее, чем численные коды операций. Мнемокоды являются ключевыми словами языка Ассемблер и, если содержимое этого поля не входит в множество допустимых мнемокодов, программа-ассемблер выдает сообщение о недействительной команде.
Поле операндов. В этом поле определяются операнды (или операнд), участвующие в операции. Команды Ассемблера могут быть без-, одно- или двухоперандными. Операнды разделяются запятой.
Операнд может быть задан непосредственно или в виде его адреса (прямого или косвенного). Непосредственный операнд представляется числом (MOV A,#15H) или символическим именем (ADDC A, #OPER2) с обязательным указанием префикса непосредственного операнда ( # ). Прямой адрес операнда может быть задан числом (INC 40H), мнемоническим обозначением (MOV A, P1) или символическим именем (MOV A, MEMORY). Указанием на косвенную адресацию служит префикс @.
Используемые в качестве операндов символические имена и метки должны быть определены, а числа представлены с указанием системы счисления.
Рассмотрим способы определения информации указанных типов.
Шестнадцатиричные данные. Содержащееся в поле операндов 16-ричное число должно начинаться с цифр 0…9 и завершаться буквой H (Hehadecimal). Число, начинающееся с букв A…F, дополняется слева незначащим нулем (чтобы отличить его от символического имени или метки).
