- •Основные понятия и определения мпт
- •Основные характеристики и типы мп
- •Общие принципы построения мпс
- •Основные операции, выполняемые в мпс с 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.
Интерфейс дисплея с клавиатурой.
Клавиатуры делятся:
простейшие
более сложные.
Два вида клавиатур:
кодирующие
некодирующие
Кодирующие клавиатуры.
Каждой клавише соответствует определённый вход порта ввода, узнать положение клавиши можно опрашивая вход порта.
R1 – R8 1...4,7 kOm |
||
|
|
|
Нажата |
Унитарный код |
Позиционный код |
SA1 |
11111110 |
00000000 |
SA2 |
11111101 |
00000001 |
SA3 |
11111100 |
00000010 |
|
|
|
SA8 |
01111111 |
00000111 |
Преобразование унитарного кода в позиционный.
табличный метод
метод сдвигов унитарного кода
Табличный метод.
Основан на том, что в ПЗУ имеется таблица кодов: каждому унитарному коду соответствует позиционный.
|
IN IPORT |
|
|
CMA |
|
|
CPI MASK |
|
|
JZ EXIT |
|
При выходе выбирается позиционный код, соответствующий данной маске.
MASK1 EQU 00000001B
MASK2 EQU 00000010B
MASK8 EQU 10000000B
IDENTIF1: |
IN IPORT |
|
|
CMA |
Инверсия кода |
|
CPI MASK1 |
|
|
JZ EXIT1 |
|
|
CPI MASK2 |
|
|
JZ EXIT2 |
|
|
|
|
|
CPI MASK8 |
|
|
JZ EXIT8 |
|
|
MVI B,0FFH |
Если не нажата ни одна клавиша |
|
RET |
|
|
|
|
EXIT1 |
MVI B,00H |
|
|
RET |
|
EXIT2 |
MVIB,01H |
|
|
RET |
|
|
|
|
EXIT8 |
MVI B,07H |
|
Метод сдвигов унитарного кода.
Исходный код после инверторов сдвигается вправо через перенос (если нажата клавиша, то флаг переноса = 1).
IDENTIF2 |
IN IPORT |
|
|
MVI B,0 |
|
|
MVI C,8 |
|
|
CMA |
Инвертировать |
|
ORA A |
Сброс CY |
SHIFT |
RAR |
|
|
JC EXIT |
|
|
INR B |
|
|
DCR C |
|
|
JNZ SHIFT |
|
|
MVI B,OFFH |
|
EXIT |
RET |
|
В регистре В – двоичный позиционный код.
Если возможно нажатие нескольких клавиш, то надо после программы идентификации проверить (А) и если там не 0, то было нажато два или более клавиши.
К переключателям с фиксацией относится декадные переключатели: номеронабиратели.
Цифра |
Код |
|||
|
23 |
22 |
21 |
20 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
|
|
|
|
|
9 |
1 |
0 |
0 |
1 |
Ak: |
СтЦ |
МлЦ |
В случае клавиш без фиксации надо уловить момент, когда кнопки нажимаются:
Программа ожидает нажатие клавиши. Программа сначала ожидает нажатие клавиши, затем защита от дребезга, затем программно ожидает отжатия клавиши, затем идентификация нажатой клавиши.
KEYBOARD |
IN IPORT |
|
|
CMA |
|
|
ORA A |
Установить флаги |
|
JZ KEYBOARD |
Цикл ожидания |
|
PUSH PSW |
|
|
CALL DELAY |
|
WAIT |
IN IPORT |
|
|
CMA |
|
|
ORA A |
|
|
JNZ WAIT |
Ожидание нажатия |
|
CALL IDENTIF |
|
|
RET |
|
|
|
|
IDENTIF |
POP PSW |
|
|
|
|
Недостаток: МП постоянно ожидает нажатия клавиши.
2. Периодически вызывается подпрограмма ввода кода из порта, период должен быть достаточно малым, частота опроса порта не менее 10 раз в секунду.
Неудобство – надо периодически вызывать эту программу.
С использованием прерывания программы:
Достоинство – отсутствие потерь времени на ожидание нажатия клавиши.
Недостатком кодирующих клавиатур является большое число входов портов. В случае большого числа клавиш используют не кодирующие клавиатуры.
Не кодирующие.
Контакты клавиш присоединяются к матрице, образованной пересечением вертикальных и горизонтальных линий.
Идентификация нажатой клавиши осуществляется методом сканирования: на один ряд подается код сканирования (бегущий «0»), а с другого ряда снимается байт возврата – если не нажата ни одна клавиша в байте возврата 1, если нажата клавиша 0, в соответствующем разряде.
