
- •Основные понятия и определения мпт
- •Основные характеристики и типы мп
- •Общие принципы построения мпс
- •Основные операции, выполняемые в мпс с 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.
Программирование цифровых вычислительных устройств.
Числа делятся на виды:
целые
дробные
Могут быть :
- без знака
со знаком
Целые числа делят на :
двоичные
десятичные ( в двоично – десятичном коде )
Дробные числа:
- c фиксированной запятой ( ф3 )
с плавающей запятой ( пз )
Число могут иметь размер 1, 2, 3, … и т. д. байт
Арифмитические операции с целыми числами без знака.
Обратный код – инверсия каждого двоичного числа:
[ A ]ОБР = [ A ]ПР
использ. для выполнения операции вычитания.
Дополнительный код: [ A ]ДОП = [ A ]ОБР + 1
LDA MEM ; MEM – адрес числа в ком.
CMA
STA MEM ; число в обр. коде
INR A
STA MEM ; число в доп. Коде
00Н = 0
FFH = 255
Увеличение разрядности чисел резко уменьшает производительность МП
ADD – сложение
SUB – вычитание
ADC – сложение с учётом переноса
Пример:
; п / п сложение 2 – х целых беззнаковых
; двоичных чисел формата 8 * N
; N – число байт
; вх. пар – ры: рег. В, С – адрес мл. б. слог. 1
; рег. HL – адрес мл. б. слогаемого 2
; рег. Е – кол – во N байт числа
; вых. пар – ры рег. ВС – адрес мл. б. суммы
; CY – признак переполнения суммы
ADD8N: MOV D, E; сохранить рег. Е
PUSH B; сохранить адрес 1
XRA A; ( CY ) 0
; многобайтное двоичное сложение
CYCLE : LDAX B ; ( A )адрес ВС
( SBB M ) ADC M ; сложить ( вычесть )
STAX B ; запомнить
INX B
INX H
DCR E
JNZ CYCLE ; цикл, если ( Е ) 0
; восстановление регистров
MOV E, D
POP B
RET
Умножение и деление:
1010 - Мж
* 1101 - Мн
1010 - частное произведение
0000
1010
1010 _
10000010 - произведение ( рез – т )
разряды:
8 * 8 = 16
* 16 = 24
16 * 16 = 32
При делении получается целое и целый остаток
Быстрое умножение и деление двоичных чисел.
Использ. команды сдвига
00000100 = 4
сдвиг
00001000 = 8
00010000 = 16
при сдвиге влево происходит умножение на 2: Aрез. = А исх. * 2N
N – число сдвигов
Рез – т будет правильный, если не произошёл перенос из старшего разряда
00001000 = 8
00000100 = 4
00000010 = 2
т. е. при сдвиге вправо происходит деление на 2: Арез. = Аисх / 2N
00001001 = 9
сдвиг через перенос
У = х * 6 = 4 * х + 2 * х
У = 10 * х = 8 * х + 2 * х
У = 6,5 * х = 4 * х + 2 * х + х / 2
Пример: исходное однобайтное число поступает в порт. Надо * 6,5 и записать в память
IPORT – адрес порта ввода
SAVE – адрес яч. памяти
IN IPORT ; ( A ) x
MOV C, A ; ( C ) X
RLC ; ( A ) = 2 * x
MOV B, A ; ( B ) 2 * x
RLC ; ( A ) = 4 * x
ADD B ; ( A ) = ( A ) + ( B ) = 6 * x
MOV B, A ; ( B ) = 6 * x
ORA A ; ( CY ) 0
MOV A, C ; ( A ) ( C ) = x
RAR ; сдвиг вправо ( А ) = х / 2
ADD B ; ( A ) ( A ) + ( B ) = 6.5 * x
STA SAVE ; запомнить
Число должно быть меньше 255 !
Упакованный формат удобен для хранения чисел в памяти, но не удобен для ввода и вывода чисел.
Неупакованный формат
Преобразование десятичного числа из неупаков. Формата в упаков. наз. упаковкой десятичн. чисел.
Обратное преобразование наз. распаковкой десятичн. чисел.
1