- •Введение
- •1. Структура курса, отчетность.
- •2.Литература: Конспект лекций ( Электронное пособие)
- •Краткая история развития микропроцессорных систем
- •Архитектурные признаки контроллеров
- •Тема 1. Базовая структура микроконтроллерной (мк) системы управления
- •Тема 2. Модель микроконтроллера
- •Режимы обмена информацией
- •Тема 3. Структура базового мк
- •Тема 4. Организация и функционирование базового цпу
- •Устройство управления и синхронизации
- •Тема 5. Языки программирования контроллера
- •Основные группы команд контроллера
- •2. Команды арифметических операций.
- •3. Команды логических операций
- •4. Команды передачи управления
- •Этапы реализации логических функций
- •Реализация логических функций ( вариант 2)
- •Управление пуском – остановом электродвигателя
- •Тема 7. Управление параметром в заданных пределах
- •Алгоритм управления температурой
- •Тема 8. Формирование временных интервалов таймером
- •Тема 9. Обработка прерываний в контроллере
- •Настройка контроллеров прерывания
- •Тема 9. Последовательный интерфейс в мк
- •Принцип организации последовательного адаптера
- •Тема 10. Организация параллельного интерфейса
- •Основные характеристики адаптера
- •Структурная схема параллельного периферийного адаптера
- •Программирование адаптера
- •Тема 11. Аналого-цифровые и цифро-аналоговые преобразователи
- •Тема 12 .Разработка и отладка программ в симуляторе adsim812
- •Симулятор 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 ( отметить приоритеты логических операций !).
Этапы реализации логических функций
Пример: У= Х1 ^ Х2 V/ Х3.
Разработка структурной схемы подключения вх. и вых. сигналов к контроллеру для заданной функции :
ИМ – исполнительный механизм, входные сигналы х1,х2,х3 подключены к порту Р1 (0,1,2 выводы соответственно).
Построение таблицы истинности для логических функций;
Разработка алгоритма реализации;
Разработка программы;
Трансляция программы для формирования исполняемогообъектного кода.
Пусть Log.asm - имя файла логической функции( создан в редакторе блокнот);
ASM51.exe Log.asm - трансляция, (программа–транслятор АSM51.exe)
В результате трансляции получаем два файла:
Log.HEX (16-ричный код программы) .
|
Log.LST Файл листинга (указаны синтаксические ошибки) |
Загрузка .HEX файла в симулятор и отладка программы;
Оценка результатов:
быстродействие;
объем программы в байтах;
распределение адресного пространства памяти данных и команд.
Реализация логической функции с использованием команд условных переходов для функции: У= Х1 ^ х2 v /х3.
1.Создание структурной схемы ( см. выше);
2. Построение таблицы истинности; Внимание: входные сигналы Х необходимо размещать в таблице истинности в соответствии с подключением к входному порту контроллера (таблицу истинности заполнить самостоятельно).
Х3 |
Х2 |
Х1 |
У |
0 |
0 |
0 |
|
0 |
0 |
1 |
|
0 |
1 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
0 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
|
1 |
1 |
1 |
|
3. Разработка алгоритма реализации функции.
Программа функции .
$Mod812
M4: CLR P2.5 ;у=0
JNB P1.0, M1 ;проверка х1
JNB P1.1, M1
M2: SETB P1.3 ; y =1
JMP M4
M1: JNB P1.2, M2
JMP M4
END