
- •Основные понятия и определения мпт
- •Основные характеристики и типы мп
- •Общие принципы построения мпс
- •Основные операции, выполняемые в мпс с 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.
Сложение десятичных чисел
ADD – слож. двоичных чисел
DAA – десятич. коррекц. аккумулятора
Пример
; П / п сложения десятичн. чисел
; Вх. пар – р : рег. ВС – адрес Мл. б. слог. 1
; Рег. HL – адрес Мл. б. слог. 2
; Рег. Е – кол – во байт N
; Вых. пар – р : рег. ВС – адрес суммы
; CY – признак переполнения суммы
ADD10N: MOV D, E
PUSH B
XRA A
; сложение ВСD – чисел
CYCLE: LDAX B
ADC M ; двоичное сложение
DAA ; десятичная коррекция
STAX B
INX B
INX H
; проверка конца цикла
DCR E
JNZ CYCLE ; если ( Е ) 0
; выход
MOV E, D
POP B
RET
Для вычитания коррекция не применяется поэтому так нельзя отнимать.
Вычитаемое преобр. в дополн. код и производится сложение.
Умножение и деление десятичных чисел очень сложно. Поэтому такие программы неиспользуются. Для необходимости производят преобразование десятичных чисел в двоичные, затем производят необходимые действия, а затем осуществляют обратное преобразование.
Преобразование двоичных чисел в десятичные и наоборот.
Преобраз. 2 – х – разряд. десятичн. число в эквивалентное двоичное
; Вх. пар – р : рег. А – двоич. – десят. число
; Вых. пар – р : рег. А – эквивал. двоичн. число
PR 102 : ; распаковка дв. – дес. число
MOV B, A ; копия дв. – дес. число
ANI OFH ; выделить Мл. ц.
MOV C, A ;
MOV A, B ;
ANI OFOH ; выделить Ст. ц.
RRC ; Ст. ц. * 10
MOV B, A ; в рег. в – Ст. ц. * 8
RRC
RRC ; Ст. ц. * 2
ADD B ; Ст. ц. * 10
ADD C ; в рег. А – двоичн. число
RET
Преобразование 1 – байтного двоичного числа в эквивалент. десятичном
; Вх. пар – р : рег. С – двоичное число
; Вых. пар – р : рег. HL – 3 – разр. десятичн. число
PR810 : LXI H, O
MVI B, 8 ; счётчик циклов
; сдвиг влево
CYCLE: MOV A, C
RLC
MOV C, A
; дв. – дес. удвоение суммы
MOV A, L
ADC L
DAA
MOV L, A
MOV A, H
ADC H
DAA
MOV H, A
; проверка конца цикла
DCR CYCLE
RET
Операции с целыми двоичными числами со знаком !
S = 0 – положит. число
S = 1 – отриц. число
1) прямой код – ст. разряд – знаковый, остальные разряды – этомодули числа.
0 1 1 1 1 1 1 1 = + 127
1 1 1 1 1 1 1 1 = - 127
возможно появление 2 – х видов нуля: положит. и отриц.
2) обратный код
если S = 0 обр. код совпадает с прям.
S = 1 обр. код = инверсии
0 1 0 1 0 1 0 1 – прямой код
0 1 0 1 0 1 0 1 – обр. код
1 0 1 0 1 0 1 0 – прямой код
1 1 0 1 0 1 0 1 – обр. код
возможность появления 2 – х видов нулей.
3) дополнительный код
S = 0 – доп. код совпад. с прям. код
S
= 1 – [ AДОП ] = [ AОБР.]
+ 1 = [
]ПР + 1
Достоинство – слож. и вычит. выполняется одинаково ; имеется только один нуль.
Недостаток – громоздкость получения доп. кода ( особенно для многобайтных чисел )
[ A
]ДОП
= [ A ]ОБР +
1 = [
]ПР +
1
[ A
]ПР = [
]
= [ AДОП ] + 1
- 1 = 1 0 0 0 0 0 0 1 – пр. код
инверсия
0 1 1 1 1 1 1 0
+ 1
0 1 1 1 1 1 1 1 = ошибка
1 1 1 1 1 1 1 1 = FFH
П / п преобраз. однобайтных чисел из прям. кода в дополнит. и наоборот
; Вх. рар – р : рег. А – исх. число
; Вых. пар – р : рег. А – вых. число
DOP : MOV C, A
RLC
JC PREOBR ; если S = 1
MOV A, C
RET
PREOBR : MOV A, C
CMA ; инверсия числа
INR A ; ( A ) ( A ) + 1
RET
; П / п преобраз. из прям. кода в допол.
; Вх. пар – ры : IPORT 1 – ввод Мл. б., IPORT 2 – ввод Ст. б.
; Рег. HL – адрес Мл. б. доп. кода в ОЗУ
DOP 2 : IN IPORT 2: Ввод Ст. б.
RLC
JC PREOBR ; если S = 1
IN IPORT 1 ; ввод Мл. б.
MOV M, A
INX H
IN IPORT 2 ; ввод Ст. б.
MOV M, A
RET
PREOBR: IN IPORT 1 : ввод Мл. б.
CMA
ADI 1
MOV M, A ; запомнить в ОЗУ
IN IPORT 2 ; ввод Ст. б.
CMA
ACI O
ORI 80 ; установить S = 1
MOV M, A
RET
1) С использованием специального порта состояний – кода ВУ выставляет данные, оно записывает в определённые ячейки порта “ 1 ”
Если D7 = 1 – данные имеются
D7 = 0 – данных нет
MAIN : LXI H, BASE
MVI C, 100 ; загрузить счётчик
WAIT : IN PORTSTAS ; ввод состояния
ANI 1000 0000 B ; выделить D7
JZ WAIT ; цикл ожидания
CALL DOP 2 ; ввод данных и преобразование
DCR C ;
JNZ WAIT ; цикл, если ( С ) 0
HLT ; остановить МП
2) Использование запросов прерывания.
RST 7 – команда прерыв. вектор прерывания : 0038 H
ORG 0000H
JMP MAIN ; переход к главн. программе
ORG 0038H ; вектор прерывания
CALL DOP 2
DCR E
JNZ NEXT ; если ( С ) 0
JMP EXIT
NEXT : EI
RET
ORG 0100H
MAIN : LXI H, BASE
MVI E, 100
EI ; разрешить прерывание
WAIT : JMP WAIT ; зацикливание
EXIT : HLT