- •Введение
- •Тема 1. Базовая структура микроконтроллерной (мк) системы управления
- •Тема 2. Модель мк
- •Режимы обмена информацией
- •Тема 3. Структура базового мк
- •Тема 4. Организация и функционирование базового цпу
- •Устройство управления и синхронизации
- •Тема 5. Языки программирования контроллера
- •Основные группы команд контроллера
- •Тема 6. Реализация логических функций микроконтроллера
- •Этапы реализации логических функций
- •Реализация логических функций ( вариант 2)
- •Тема 7. Управление параметром в заданных пределах
- •Алгоритм управления температурой
- •Тема 8. Формирование временных интервалов таймером
- •Тема 9. Обработка прерываний в контроллере
- •Настройка контроллеров прерывания
- •Тема 10. Последовательный интерфейс в мк
- •Упрощенная структура модуля типа uart
- •Тема 11. Организация параллельного интерфейса
- •Основные характеристики адаптера
- •Структурная схема параллельного периферийного адаптера
- •Программирование адаптера
- •Тема 12 Аналого-цифровые и цифро-аналоговые преобразователи
- •Тема 12 .Этапы разработки программного обеспечения в симуляторе adsim812
- •4. Описание симулятора adSim812
Основные группы команд контроллера
-
Команды передачи данных (не изменяют флажков):
-
Пересылка данных между регистрами CPU
MOV Ri, Rj (Rj → Ri)
(В нашем контролере так нельзя, надо: память → память (source, destination)
-
Пересылка данных между регистрами CPU и памятью данных:
MOV A, adr
MOV A,@R0 (R0, R1)
-
Пересылка данных между регистрами CPU и портами периферийных устройств
MOV A, Pi
MOV Pi. A
-
Начальная загрузка регистров
MOV Rn, #data (#data – это всегда байт, кроме PTR – тут 2 байта)
2. Команды арифметических операций.
Команды этой группы формирую флажки. Отрицательные данные представляются в дополнительном коде.
Четыре арифметических операции:
ADD A, Rn
ADC A, Rn
SUBB A, @Ri – вычитание с заемом, косвенной адресацией
MUL A B – умножение (можно использовать только регистр В)
DIV A B – деление (можно использовать только регистр В)
INC Rn – инкремент
DEC adr – декремент адреса памяти.
3. Команды логических операций
-
Команды выполнения булевых операций: (OR, XOR, AND)
ANL A,@Ri
ORL A,#data
XRL adr,A
CLP A – инвертирование – только для аккумулятора.
Однобитовые команды
CLR Bit – сброс любого бита;
SETB C – установка С;
SETB Bit– установка любого бита;
CPL C – инверсия С;
CPL Bit – инверсия бита;
-
.Команды сдвига
Сдвигать можно только аккумулятор!!! Только на один бит: влево или вправо; сдвиги циклические.
RL A (rotate left)
RLC A (из седьмого – во флажок С)
rotate left через carry
RR A (rotate right)
RRC A
4. Команды передачи управления
4.1. Команды безусловной передачи управления:
JMP ADR 16 (могут быть L – long, S – short
4.2.Команды условной передачи управления:
J Cond ADR (Cond – condition)
JB Bit, Mi – условный переход по любому биту (jump bit)
JNB Bit, Mi – (jump not bit)
Для организации циклов:
DJNZ Rn,Mi – (decrement jump not zero)
4.3. Команды обращения к подпрограммам :
CALL ADR16
4.4. Команды возврата из под программ
RET – если просто подпрограмма;
RETI – возврат из прерывания.
5. Специальные команды (команды управления процессором)
Разрешение/запрещение прерывания (установка битов регистра IE – Interrupt Enable)
NOP – No Operation – пустая команда (для коротких задержек).
Тема 6. Реализация логических функций микроконтроллера
Одним из классов задач, реализуемых микроконтроллерами в АСУ ТП, является задача логического управления. Входные и выходные сигналы – булевы переменные. В общем случае, требуется реализация одной или нескольких логических функций.
Пример 1: контроллер для функции охранной сигнализации 4 дверей автомобиля будет иметь вид (нарисовать структуру):
У=Х1 V X2 V Х3 V X4, где Х1-Х4 входные сигналы от контактных датчиков, а У – выходной сигнал , поступающий в ИМ – сигнализация.
Пример 2: управление схемой , описываемой логическим уравнением
У= Х1 ^ Х2 V Х3.
Пример 3: У= /Х1 V Х2^Х3 ( отметить приоритеты логических операций !).