- •1. Принципы построения и основы работы
- •2. Элементная база мпсу
- •3. Оперативные запоминающие устройства.
- •4. Постоянные запоминающие устройства.
- •5. Архитектура микропроцессора типа кр580вм80
- •6. Типы машинных циклов и слово состояния
- •7,8. Командные циклы чтения/записи
- •9. Командный цикл подтверждения прерывания.
- •10. Принципиальные электрические схемы
- •11,12. Интерфейс мпсу с изолированной системой шин
- •13. Интерфейс мпсу с общей системой шин
- •14. Организация обслуживания запросов прерывания
- •15. Программируемый контроллер
- •17. Программируемый контроллер прерываний
- •18. Функциональная схема пкп. Настройка режимов работы
- •19. Программируемый интервальный таймер
- •21. Мпсу с вводом-выводом аналоговой информации
- •22. Выходные каскады мпсу
- •Дворак Николай Маркович микропроцессорные устройства
- •В высших учебных заведениях 3-4 уровней
- •98309, Г. Керчь, ул. Орджоникидзе, 82
- •98309, Г. Керчь, ул. Орджоникидзе, 82
15. Программируемый контроллер
параллельного интерфейса
Основным направлением снижения стоимости МПСУ является массовый выпуск плат, который возможен тогда, когда плата МПСУ является универсальной – годной для применения в как можно большем числе систем автоматики. Платы специализированные стоят в несколько раз дороже плат универсальных, так как высока стоимость проектирования принципиальных электрических схем специализированных МПСУ и проектирования печатных плат под такие схемы.
Принцип программного управления делает МПСУ универсальной в применениях, так как алгоритм работы реализуется не на уровне схем, а на уровне команд, оформленных в программы. В рассмотренных выше схемах ядро МПСУ – микроЭВМ – является неизменяемой частью принципиальной электрической схемы платы МПСУ и удовлетворяет требованию универсальности платы. Элементы схемы интерфейса являются изменяемой частью платы МПСУ. Аппаратная часть интерфейса состоит из ИМС различного уровня интеграции и служит для обеспечения ввода и вывода информации МП.
Если число каналов ввода/вывода информации не превышает нескольких сотен, то задача создания полностью универсальной платы в аппаратной части решается при использовании для ввода/вывода ИМС программируемого параллельного интерфейса (ППИ, PPI) типа КР580ВВ55 (рис.1.6).
ППИ представляет собой ИМС с больших числом каналов ввода/вывода, причем количество каналов, работающих на ввод и вывод, устанавливается программно. При впаянных в плату ИМС ППИ плата МПСУ в аппаратной части становится универсальной, так как варианты использования ИМС ППИ на ввод или вывод определяются программой, зашитой в ПЗУ.
16. Функциональная схема ППИ типа КР580ВВ55 приведена на рис.1.39.
ППИ имеет три 8-разрядных порта ввода/вывода - РА, РВ и РС. Порты РА и РВ могут настраиваться целиком либо на ввод, либо на вывод. Порт РС разбивается на две части, каждая из которых независимо друг от друга может работать на ввод или на вывод. Порт РА трехстабильный.
7 вариантов настройки ППИ на ввод и вывод приведены на рис.1.41.
В операциях настройки ППИ используются объединения портов РА, РВ и РС в группы А и В.
Четвертый 8-разрядный порт является шиной данных D7…D0 ППИ. Этот порт трехстабильный.
рисунок
Имеются 6 входных управляющих сигналов: чтения , записи , сброса RES, выбора кристалла и адресации портов РА, РВ, РС ППИ и регистра управляющего слова (РУС) с помощью двух бит А1 и А0 ША. Адресация производится в соответствии с рис.1.40.
Программирование ППИ заключается в загрузке управляющего слова (УС) режима в РУС. Формат УС режима приведен на рис.1.41. ППИ можно настроить на 3 режима [1,3,7,8,9,10,19]. В МПСУ используется только режим 0 – простого ввода/вывода через все порты ППИ.
Ориентируясь на схему включения ППИ с раздельной системой шин, приведенную на рис.1.41, выполним следующую настройку (инициализацию) ППИ:
- на ввод работают порт РА и биты РС3…0 порта РС;
- на вывод работают порт РВ и биты РС7…4 порта РС.
Программа настройки приведена на рис.1.42.
Мнемокод |
Комментарии |
MVI A, 91 |
Загрузка в аккумулятор А УС режима 91Н=1001.0001В, где: D7=1 (указатель УС режима), D6D5=00 (режим 0 группы А), D4=1 (порт РА на ввод), D3=0 (биты 7…4 порта РС на вывод), D2=0 (режим 0 группы В), D1=0 (порт РВ на вывод), D0=1 (биты 3…0 порта РС на ввод) |
OUT DF |
Запись УС в РУС ППИ, где DFН=1101.1111В – адрес РУС, в котором А5=0 (выбор ИМС ППИ), а А1А0=11 – адрес РУС внутри ИМС ППИ |
Рис.1.42. Программа настройки ППИ |
После этой инициализации можно читать информацию из портов ППИ, настроенных на ввод, и выводить информацию через порты, настроенные на вывод.
Чтение состояния кнопок П и С, подключенных к порту РА, производится командой согласно рис.1.43.
Мнемокод |
Комментарии |
IN DC |
Переписать в аккумулятор информацию из ВУ, имеющем адрес DCH=1101.1100B – адрес порта РА ППИ, в котором А5=0 (выбор ИМС ППИ), а А1А0=00 – адрес порта РА внутри ИМС ППИ |
Рис.1.43. Программа чтения состояния кнопок |
Для включения контактора К, подключенного к биту РС4 порта РС, нужно выполнить две команды согласно рис.1.44.
Мнемокод |
Комментарии |
MVI A, 10 |
Загрузка в аккумулятор А кода 10Н=0001.0000В, в котором бит D4=1 |
OUT DЕ |
Вывод содержимого аккумулятора А в порт РС с адресом DEH= 1101.1110B, в котором А5=0 (выбор ИМС ППИ), а А1А0=10 – адрес порта РС внутри ИМС ППИ. Контактор К включится, так как РС4=1 |
Рис.1.44. Программа включения контактора К |
Вывод в порт РС можно производить битами, применив управляющее слово порта С (рис.1.41). Пусть на вывод РС6 нужно послать короткий единичный импульс. Программа такой посылки приведена на рис.1.45.
При выполнении этой программы не изменялось состояние вывода РС4, к
которому подключен контактор К. Для посылки при условиях неизменности сигнала на выводе РС4 того же единичного импульса напрямую в порт РС по типу программы, приведенной на рис.1.44, потребовалось бы 8 команд, что вдвое больше, чем в программе на рис.1.45.
Мнемокод |
Комментарии |
MVI A, 0D |
Загрузка в аккумулятор А кода 0DН=0000.1101В, в котором: D7=0 (указатель УС порта РС), D6D4D5=000 (могут быть любые числа), D3D2D1=110 (двоичный код числа 6 – номера вывода РС6), D0=1 (бит РС6 установить в 1) |
OUT DF |
Вывод содержимого аккумулятора А в ППИ с адресом DFH= 1101.1111B, в котором А5=0 (выбор ИМС ППИ), а А1А0=11 – адрес РУС внутри ИМС ППИ. Так как в РУС посылается байт, в котором D7=0, то внутренней схемой ППИ будет произведена не запись байта в РУС, а установка в 1 бита РС6 |
MVI A, 0C |
Загрузка в аккумулятор А кода 0DН=0000.1100В, в котором: D0=0 (бит РС6 сбросить в 0) |
OUT DF |
Вывод содержимого аккумулятора А в ППИ – сброс в 0 бита РС6 |
Рис.1.45. Программа посылки единичного импульса |
Прежде чем перейти к программе управления контактором в схеме с ППИ, отметим особенности адресации корпусов ИМС на рис.1.41. На приведенной схеме нет дешифраторов. При наличии свободных бит ША, которые не используются адресными входами ни ИМС памяти, ни схем ВУ, выбирать эти ИМС и ВУ через входы , и т.п. можно нулевыми значениями не использованных бит. Так, для работы с одним ППИ, приведенным на рис.1.41, обязательно используются биты А1 и А0. Остальными шестью битами А7…А2 можно адресовать без применения дешифратора шесть ВУ, обращаясь к ним по следующим адресам:
0111.11ХХ, 1011.11ХХ, 1101.11ХХ, 1110.11ХХ, 1111.01ХХ, 1111.10ХХ
где Х=0 или Х=1 в соответствии с рис.1.40.
В этом ряду адресов 0 перемещается вдоль линии кода адреса. Такая адресация корпусов ИМС памяти и ВУ называется линейной адресацией. На рис.1.41 для адресации ППИ выбран бит А5.
Две приведенные на рис.1.41 ИМС памяти используют для адресации биты А0…А10 ША. Пять бит (А11…А15) можно использовать для адресации корпусов ИМС памяти. На схеме используется для такой цели бит А11, так что при А11=0 выбирается ИМС ПЗУ, а при А11=1 выбирается ИМС ОЗУ.
Программа управления контактором приведена на рис.1.46 (принято условие, что стартовый адрес программы управления контактором равен 0236Н).
Адрес |
Код команды |
Метка |
Мнемокод |
Комментарии |
|||
0000 |
3E |
91 |
|
|
Иниц. |
MVI A, 91 |
Настройка портов ППИ (рис.1.42) |
0002 |
D3 |
DF |
|
|
|
OUT DF |
|
: |
|
|
|
|
|
: |
|
0236 |
DB |
DC |
|
|
|
IN DC |
Чтение порта РА (рис.1.43) |
0238 |
47 |
|
|
|
|
MOV B, A |
Копию состояния кнопок в регистр В |
Рис.1.46. Программа управления контактором с использованием ППИ
Адрес |
Код команды |
Метка |
Мнемокод |
Комментарии |
|||
0239 |
E6 |
01 |
|
|
|
ANI 01 |
Выделить бит состояния кнопки С |
023B |
C2 |
4B |
02 |
|
|
JNZ Выкл. К |
Если С нажата, то К выключить |
023E |
78 |
|
|
|
|
MOV A, B |
Состояние кнопок в аккумулятор А |
023F |
E6 |
02 |
|
|
|
ANI 02 |
Выделить бит состояния кнопки П |
0241 |
C2 |
4F |
02 |
|
|
JNZ Конец |
Если П нажата, то К включить, иначе выйти из программы |
0244 |
3E |
09 |
|
|
Вкл. К |
MVI A, 09 |
Включить контактор К, используя УС порта РС (09Н=0000.1001В) |
0246 |
D3 |
DF |
|
|
|
OUT DF |
|
0248 |
C3 |
4F |
02 |
|
|
JMP Конец |
Выйти из программы |
024B |
3E |
08 |
|
|
Выкл. К |
MVI A, 08 |
Выключить контактор К, используя УС порта РС (08Н=0000.1000В) |
024D |
D3 |
DF |
|
|
|
ОUT DF |
|
024F |
|
|
|
|
Конец |
|
1-я команда управления другим ВУ |
Рис.1.46. Продолжение |