
- •Основные понятия и определения мпт
- •Основные характеристики и типы мп
- •Общие принципы построения мпс
- •Основные операции, выполняемые в мпс с 3-мя шинами
- •Прямой доступ к памяти
- •Микропроцессор кр580вм80а (вм80)
- •Внутренняя структура
- •Программная модель мпс
- •Программная модель памяти
- •Программная модель портов ввода-вывода
- •Анализ работы мп вм80
- •Машинные такты и циклы
- •Слово состояния процессора
- •Временные диаграммы сигналов мп
- •Режимы работы мп
- •Построение отдельных модулей мпс
- •Основные параметры мс пзу
- •Принцип построения внутренней памяти мпс
- •Построение модуля пзу
- •Построение модуля озу
- •Построение двухстраничного модуля памяти
- •Модуль ввода-вывода
- •Реализация модуля ввода-вывода при раздельном поле адресов памяти и портов
- •Схемотехника модуля ввода-вывода
- •Порт ввода:
- •Построение модуля прерывания.
- •Микропроцессор вм85.
- •Система прерываний мп вм85.
- •Ввод и вывод последовательных данных.
- •Построение модуля центрального процессора мп вм85.
- •Система команд мп.
- •Язык Ассемблера.
- •Псевдокоманды Ассемблера.
- •Методика разработки программного обеспечения.
- •Процедура обработки данных.
- •Виды программного обеспечения ( по ) мпс.
- •Подпрограммы как средства модульного программирования.
- •Иерархическая организация подпрограмм.
- •Применение таблиц.
- •Программирование цифровых вычислительных устройств.
- •Арифмитические операции с целыми числами без знака.
- •Быстрое умножение и деление двоичных чисел.
- •Сложение десятичных чисел
- •Преобразование двоичных чисел в десятичные и наоборот.
- •Операции с целыми двоичными числами со знаком !
- •Дробные числа.
- •Арифметические операции с числами с пз
- •Бис параллельного интерфейса
- •Бис последовательного интерфейса кр580вв51а
- •Внутренняя структура бис кр580вв51а
- •Программирование бис вв51а
- •Формат инструкции асинхронного режима работы
- •Формат инструкции синхронного режима работы
- •Формат инструкции команды
- •Формат слова состояния
- •Бис программируемого таймера кр580ви53 (i8253)
- •Программирование таймера
- •Применение мп в системах управления и контроля
- •Работа мк с дискретными сигналами
- •Борьба с дребезгом контактов
- •Формирование управляющих сигналов
- •Методы управления отдельными линиями порта ввода
- •Формирование временных задержек
- •Управление дискретными нагрузками от мпс
- •Сопряжение ацп с мпс
- •Интерфейс быстрых ацп с мпс
- •Интерфейс с 10-разрядным ацп
- •Интерфейс медленных ацп с мпс
- •Сопряжение цап с мпс
- •Устройство сбора и распределения данных
- •Организация связи мпс с оператором.
- •Управление индикаторами линейного дисплея.
- •Программа управления дисплеем с использованием таймера.
- •Интерфейс дисплея с клавиатурой.
- •Программируемый контроллер кр580вв79 с клавиатурой и дисплеем.
- •Программирование кр580вв79.
- •Слово состояние контроллера.
- •Методы ввода данных с клавиатуры.
- •Общая характеристика языков программирования.
- •Структура простейшей программы на языке Си.
- •Представление информации в языке Си.
- •Типы данных.
- •Переменные.
- •Строковые переменные и константы.
- •Элементарный ввод вывод в Си.
- •Операция и выражения в языке Си.
- •Преобразование типов в выражении.
- •Операции управления вычислительным процессом.
- •Функции языка Си.
- •Библиотечные функции.
- •Функции для работы с портами ввода вывода.
- •Видимость переменных.
- •Классы хранения переменных.
- •Операции присвоения.
- •Условная операция.
- •Операция sizeof (определение размера).
- •Указатели.
- •Массивы и функции
- •Операции со строками
- •Массивы строк.
- •Массивы – указатели.
- •Типы, определяемые пользователем.
- •Операции с файлами.
- •Обмен инф-ции с файлами.
- •Часть 3 Разработать мк для управления насосом напорной башни.
- •Интерфейс мпс.
- •Организация интерфейсов.
- •Структура интерфейса:
- •Организация линий интерфейса.
- •Передача по однонаправленным линиям связи.
- •Передача по двухпроводной линии.
- •Интерфейс ирпр ( bs – 4421 )
- •Пример подключения ппа кр580вв55а.
- •Драйверы обмена оирпр.
- •Последовательный интерфейс.
- •Драйверы для работы интерфейса.
- •Аппаратное квитирование передачи данных.
- •Интерфейс коп (канал общего пользования).
- •Команды интерфейса коп.
- •Транспортная передача данных.
- •Сопряжение устройств управления и контроля с пк.
- •Интерфейсная часть ус.
- •Подключение устройств к порту принтера.
- •Подключение устройств сопряжения к компьютеру через последовательный порт.
- •Интерфейсная шина i2c.
Система команд мп.
МП имеет 244 команды. Отличных – 78.
По ф – циям:
Команды перемещения данных.
Команды арифметические.
Команды поразрядной обработки данных.
Команды передачи управления.
Команды управления МП.
Команды хранятся в памяти МП. Каждая команда – это комбинация двоичных данных. Но удобнее использовать 16 – ричный формат.
Операнды – это могут быть данные или адреса памяти и портов.
По фориату команды:
1 – байтные
2 – байтные
3 - байтные
Способы адресации – определяют методы операндов:
Непосред. адресация – данные указываются непосредственно в команде.
Прямая адресация – в команде указывается адрес ячейки памяти, где нах. или куда будут пересылаться данные.
Регистровая прямая – в команде указываются название регистров, где нах. данные.
Косвенная регистровая – адрес яч. памяти нах. в регистровой паре ( чаще всего HL ).
Стековая – используется при работе со стеком – адресация ячеек стека идёт через указатель стека SP.
Команды перемещ. дан. хар – но, что дан. только перемещаются из одного объекта в др. ( дан. при перемещении копируются ).
А) Команды пересылки, загрузки, запоминания и обмена.
Б) Команды операций со стеком.
В) Команды ввода – вывода.
Если дан. перемещ. между регистр. – это пересылка; если из памяти в
регистр – это пересылка рег., перемещ. из рег. в память – это запоминание.
перемещение данных
обмен данными
- R произвольный регистр
- ( R ) содержимое регистра
- RP регистровая пара
( RP) содержимое регистровой пары
М ( Адрес ) содержимре ячейки памяти с адресом
- М ( HL ) содержимое ячейки памяти, адрес который нах. в рег. паре
- D8 или d8 8 – разр. данн. ( 1 – байт. )
D16 или d8 16 – разр. дан. ( 2 – байт. )
А16 или ADR 16 – разр. адрес
PORT адрес порта
А) MOV, MVI, LXI, LDA, STA, LDAX, STAX, LHLG, SHLD
LHLG, SHLD
XCHG – ( HL ) ( DE )
MOV R1, R2 ( R1 ) ( R2 )
R1, R2: A, B, C, D, E, H, L, M
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
1 |
D |
D |
D |
S |
S |
S |
Код ком. |
Код прие-мника |
Код источ-ника |
0111 1101 = 7DH
MOV A, L ( A ) ( L )
000 – В
001 - С
010 - D
011 - E
100 - H
101 - L
110 - M
111 – A
Ком пересылки не действуют на флаги МП.
Б) Стек – оюл. опер. памяти, адресация кот. осущ. с помощью рег. – указателя стека.
Для определения вершины стека надо загрузить указатель стека и указать адрес вершины стека: LXI SP, 100A H
Команды для раб. со стеком:
PUSH RP – занести в стек содержимое регистровой пары.
PUSH H ( HL )
PUSH B ( BE )
PUSH D ( DC )
PUSH PSW ( PSW ) = ( A ), ( F )
При занесении в стек:
1. Указатель стека декрементируется : ( SP ) ( SP ) – 1 : 1009H
2 . Старший регистр пары заносится в ячейку по новому адресу ( SP ) ( H ) ( 1009 H ) ( H )
3. Указатель стека вновь декрементируется: 1008H.
4. Заносится по этому адресу мл. регистр пары ( SP ) ( L ) ( 1008H ) ( L )
PUSH PSW
( A ) ( F ) = 33H, 02H
1. ( SP ) ( SP ) – 1 1007H
2. ( SP ) ( A ) ( 1007H ) ( A )
3. ( SP ) ( SP ) – 1 1006H
4. ( SP ) ( F ) ( 1006H) ( F )
POP RP – извлечь из вершины стека 16 – разр. данные и помещаем в рег. пару.
Извлечь надо в обратном порядке: PUSH H
PUSH PSW
…………..
POP PSW
POP H
POP PSW
1. МП перемещает из верш. стека содержимое в регистр пары ( F ) ( SP ):
( F ) (1006H)
2. Указатель стека инкреминтируется : ( SP) ( SP ) + 1: 1007H
Дан. из вершины стека пересыл. в старший рег. пары:
( А ) ( SP ) : ( A ) ( 1007H )
Указ. стека вновь инкреминтируется: 1008H
POP PSW – изменяет флаги МП
В) Команды ввода и вывода:
IN PORT – ( A ) ( PORT )
OUT PORT ( PORT ) ( A )
2. A ) команды сложения 8 разр. чисел ( ADD, ADC, ADI, ACI )
Б ) команды вычесления 8 – разр. чисел ( SUB, SBB, SBI )
В ) команды сложения 16 – разр. данных DAD – данные складываются с регистровой парой овой парой .
DAD H – ( HL ) ( HL ) + ( HL )
DAD B – ( HL ) ( HL ) + ( BC )
DAD D – ( HL ) ( HL ) + ( DE )
DAD SP – ( HL ) ( HL ) + ( SP )
Г ) команды инкремента ( INTR, INX )
Д ) команды декремента ( DCR, DCX )
Е ) команды десятичной коррекции данных ( DAA )
3. A ) ком. Логические:
ANA ANI - лог. И
ORA, ORI – лог. искл. ИЛИ
CMA - лог. НЕ
Б ) ком. cдвига:
RLC, RRC, RAL, RAR
В ) ком. сравнения
CMP, CPI:
CMP R – сравнен. с рег.
CMP M – сравн. с ячейками памяти
CPI – сравн. с непоср. данными
0,
то Z = 1
( А ) – ( R ) = < 0, то CY = 1
> 0, то Z = 0 , CY = 0
Г) команды операции
с флагом переноса: STC: (CY)
1 и
CMC: (CY)
(
)
3 группы:
А) Ком. перехода
Б) Ком. вызова подпрограммы
В) Ком. возврата из подпрограмм
2 вида:
безусловные команды – выполняются всегда
условные ком. – выполняются при истинности усл – ия, указанного в ком.
Условие – это состояние флагов МП.
Условие выполнения команды |
Флаг ( признак ) |
Мнемоника |
Равенство 0 Неравенство 0 Перенос Нет переноса Нечётность Чётность Положительность Отрицательность |
Z =1 Z = 0 CY = 1 CY = 0 P = 0 P = 1 S = 0 S = 1
|
Z NZ C NC PE PO P M |
Команды перехода:
А ) безусловные: JMP ADR; в РС загружается адрес, указанный в команде:
( PC ) ADR
PCHL ; ( PC ) ( HL )
Б ) условные: Jcond ADR; (где cond – это мнемоника: JZ, JNZ, JC, JNC, JPE, JPO, JP, JM)
1. МП проверяет флаг, котор. указан в усл – е истинно, то ( PC ) ADR;
а если ложно, то команда игнорируется: ( PC ) ( PC ) + 3
Команды вызова подпрограмм:
А ) безусловные
Б ) условные
А. CALL ADR
МП заносит в стек содержимое РС – это будет адрес возврата из подпрограммы – PUSH PC
В PC заносится адрес, указанный в команде – JMP ADR
ADR – это первая команда подпрограммы – 0000Н….FFFFH
RST N N = 0, 1, 2, 3, 4, 5, 6, 7
ADR = N * 8 ( десятичное число )
-
Команда
Адрес п .п.
RST 0
RST 1
RST 2
RST 3
RST 4
RST 5
RST 6
RST 7
0
8
16
24
32
40
48
56
0000H
0008H
0010H
0018H
0020H
0028H
0030H
0038H
Б. Ccond ADR (где cond – мнемоника условия)
1. проверяется флаг, указанный в команде: если усл – ие истинно, то выполняется вызов п. п. по адресу, указанному в команде ( в стек заносится содержимое РС и в ( РС ) ADR )
если усл –ие ложно, то команда вызова игнорируется:
( PC ) ( PC ) + 3
Команды возврата из п. п. :
А ) безусловные
Б ) условные
А. RET возврат
МП извлекает из вершины стека 16 – разр. число и помещает его в РС, при этом происходит возврат в основную программу:
1. ( РС ) ( SP )
2. ( SP ) ( SP ) + 1
3. ( PCH ) ( SP )
4. ( SP ) ( SP ) + 1
Б. Rcond (где –cond - мнемоника условий)
проверяется флаг МП – если усл – ие истинно, то выполняется команда возврата ( из стека загружается РС – адрес возврата )
если усл – ие ложно, то команда возврата игнорируется:
( PC ) ( PC ) + 1
EI – ком. разрешить прерыван. ( т. е. разрешает МП реагировать на сигналы по входу INT)
EI – вызывает установку внутр. триггера INTE 1 ( т. е. прерывание разрешены )
DI – запрещение прерываний ( т. е. МП не реагирует на запросы прерыв., поступающие на вход INT ), триггер INTE 0
NOP – пустая команда ( не производит никаких действий ) – использ. для выполнения задержек и для лотание дыр в программе.
HLT – останов МП – ША и ШД переходят в Z – сост., т. е. МП отключается от системной шины.
Выход:
– запрос прерывания
- сигнал нач. установки