
- •Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микроконтроллер. Принципы построения микропроцессорных систем.
- •Архитектура микропроцессора: архитектура со сложной системой команд (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, а при ее отпускании светодиод гаснет.
- •Представление информации в языке Си
- •Операции и выражения в Си
- •Операторы управления вычислительным процессом
- •Функции
Примеры
MOV DPTR, #1234H ; Загрузить в регистр DPTR 16-ричное число 1234H
MOV A, #0AAH ; Загрузить в аккумулятор 16-ричное число AAH
Десятичные данные. Десятичное число в поле операндов заканчивается необязательной буквой D (Decimal). Число без буквы D по умолчанию считается десятичным.
Примеры
MOV P1, #10D ; Переслать в порт P1 десятичное число 10
ADD A, #55 ; Сложить с содержимым аккумулятора десятичное число 55
Двоичные данные. Двоичное число в поле операндов должно заканчиваться буквой B (Binary).
Примеры
MOV P1, #11110000B ; Переслать (вывести) в порт P1 двоичное число 11110000
ANL A, #01111111B ; Логическое И содержимого аккумулятора и числа 01111111.
Метки. В командах передачи управления можно указывать метки, введенные программистом в поле метки других команд. Метки в поле операндов заменяют абсолютные адреса перехода.
Примеры
JMP DONE ; Переход на метку DONE
………………
CALL SWAP ; Вызов подпрограммы SWAP
………………
DONE: MOV A, #0F0H
………………
SWAP: MOV A, R2 ; Подпрограмма SWAP
………………
Любой символический адрес, фигурирующий в поле операндов команд передачи управления, должен 1 раз появиться в поле метки некоторого оператора исходной программы. Если он не появляется ни разу, программа-ассемблер выдает сообщение о неопределенной метке.
Поле комментария. Это поле может быть использовано программистом для текстового или символьного пояснения логической организации программы. Поле комментария полностью игнорируется программой-ассемблером, а потому в нем допустимо использовать любые символы. По правилам языка Ассемблер поле комментария должно начинаться после точки с запятой ().
Директивы Ассемблера
Ассемблирующая программа транслирует исходную программу в машинные коды. Хотя транслирующая программа берет на себя многие из рутинных задач программиста, таких как присвоение действительных адресов, преобразование чисел, присвоение действительных значений символьным переменным и т.п., программист все же должен указать ей некоторые параметры начальный адрес программы, конец ассемблируемой программы, форматы данных и т.п. Всю эту информацию программист помещает в исходный текст своей программы в виде директив (псевдокоманд) Ассемблера, которые только управляют процессом трансляции и не преобразуются в машинные коды программы.
Современные программы-ассемблеры имеют несколько десятков директив. Мы рассмотрим только основные директивы Ассемблера для MCS-51 фирмы “2500 A.D.”. Можно выделить три класса директив Ассемблера
управления трансляцией ORG, END;
определения символических имен EQU, REG;
выделения памяти для данных DB, DW, DS.
Директива ORG. Директива ORG (начало) имеет следующий формат
Метка Операция Операнды Комментарий
[метка] ORG < выражение> ; Формат директивы ORG
Здесь квадратные скобки обозначают необязательный элемент.
Значением выражения директивы ORG является допустимый 16-разрядный адрес, определяющий ячейку памяти программ, в которую будет загружаться первый байт следующей команды или байт данных. До новой директивы ORG команды и данные размещаются в смежных ячейках памяти программ. Если в самом начале программы директива ORG отсутствует, то по умолчанию подразумевается наличие директивы ORG с нулевым операндом.
Например, директива ORG 0010H задает ассемблеру адрес ячейки памяти программ 0010H, в которой должна быть расположена следующая за ней команда исходной программы.
Директива END. Формат директивы END выглядит следующим образом
Метка Операция Операнды Комментарий
[метка ] END ; Формат директивы END
Эта директива информирует программу-ассемблер о достижении физического конца исходной программы. Разумеется, в каждой программе может быть только одна директива END, находящаяся в последней строке.
Директива EQU. Директива EQU (приравнять, присвоить) имеет следующий формат