Министерство образования и науки Российской Федерации Сибирский федеральный университет
МИКРОПРОЦЕССОРНЫЕ СРЕДСТВА В ЭЛЕКТРОПРИВОДАХ И ТЕХНОЛОГИЧЕСКИХ КОМПЛЕКСАХ Учебно-методическое пособие для курсового проектирования Электронное издание
Красноярск СФУ 2012
УДК 622:621.31(07) ББК 33-42я73 М597
Составители: Павлов Виктор Викторович, Ковалева Ольга Алексеевна. М597 Микропроцессорные средства в электроприводах и технологических комплексах: учебно-методическое пособие для курсового проектирования [Электронный ресурс] / сост.: В.В. Павлов, О.А. Ковалева. – Электрон.дан. – Красноярск: Сиб. федер. ун-т, 2012. – Систем.требования: PC не ниже класса Pentium I; 128 Mb RAM; Windows 98/XP/7; AdobeReader V8.0 и выше. –Загл. с экрана. Представлены методические указания по курсовому проектированию. Предназначено для студентов очной и заочной форм обучения специальности 140604 «Электропривод и автоматика промышленных установок и технологических комплексов».
УДК 622:621.31(07) ББК 33-42я73 © Сибирский федеральный университет, 2012
Учебное издание Подготовлено к публикации редакционно-издательским отделом БИК СФУ Подписано в свет 19.09.2012 г. Заказ 9330. Тиражируется на машиночитаемых носителях. Редакционно-издательский отдел Библиотечно-издательского комплекса Сибирского федерального университета 660041, г. Красноярск, пр. Свободный, 79 Тел/факс (391)206-21-49. E-mail
[email protected] http://rio.sfu-kras.ru 2
Введение Основной литературой к методическим указаниямпо выполнению курсовой работы по дисциплине "Микропроцессорные средства в электроприводах и технологических комплексах" является учебное пособие: Микропроцессорные средства в электроприводах и технологических комплексахна горных предприятиях: учеб.пособие / В.В. Павлов, О.А. Ковалева, Б.С. Заварыкин; ГОУ ВПО « Гос. ун-т цвет. металлов и золота». – Красноярск, 2006. – 108 с. В методических указаниях выполнения курсовой работы, с целью сокращения объема, отсутствуют некоторые теоретические сведения, расшифровка составленных управляющих слов, расшифровка команд, которые, конечно же должны присутствовать в работе выполненной студентом. Курсовая работа оформляется в соответствии со стандартом СФУ "Система менеджмента качества. Общие требования к построению,изложению и оформлению документов учебной и научной деятельности" СТО 4.2–07–2010
3
Пример задания на курсовую работу по дисциплине «Микропроцессорные средства в электроприводах и технологических комплексах»
Разработатьблок микропроцессорной системы для управления исполнительными устройствами объекта по сигналам датчиков. Объект управления имеет дискретные исполнительные устройства, которые должны срабатывать по заданной комбинации сигналов датчиков с требуемой выдержкой времени. Сигналы о срабатывании датчиков и таймера поступают на контроллер прерываний. Сигналы на включение исполнительных устройств и счетчиков таймера передаются через заданные разряды адаптера параллельного интерфейса. Уровень всех сигналов ТТЛ (5 В). 1.По исходным данным сформировать структуру блока подключаемого к МПС для решения задачи; 2.Нарисовать принципиальную схему блока; 3.Составить таблицу прерываний; 4.Написать управляющие слова для микросхем блока; 5.Написать программу инициализации для микросхем блока; 6.Написать программы работы микропроцессора с разработанным блоком.
Вари- колиант чество датчиков
4
номер исполнительного устройства (ИУ) и выходы порта для подключения
1 В1 2 В2 3 В3 4 В4
выдержки комбинация сигналов дат- времени, с чиков для срабатывания исполнительного устройства
1-3 1-3-4 1-2 4
0 5 0 7
используемые выводы дешифратора для подключения входов CSм/схем
3,4,6
ВЫХОДЫ
порта ДЛЯ
управления таймером
А5,А6
адрес подпрограм мыIRQ0, HEX
EF90
В методических указаниях выполнения курсовой работы дан один из вариантов выполнения задания. Естественно, возможно использование других инженерных решений поставленной задачи. Следует заметить, что задание упрощено и нет необходимости его усложнять. Например, если требуется только включить, то отключать не нужно. 1. Структура блока подключаемого к МПС для решения задачи Руководствуясь заданием, составим структурную схему блока подклю4
чаемого к микропроцессорной системе (МПС) (рисунок 1.1). Объект управления имеет дискретные исполнительные устройства, поэтому в блоке предусматривается микросхема программируемого параллельного интерфейса (ППИ) DD1 КР580ВВ55А для вывода сигналов на включение исполнительных устройств(ИУ). ИУ1включается через DВ1, ИУ2 включается через DВ2, ИУ3 включается через DВ3, ИУ 4 включается через DВ4. Для получения требуемой выдержки времени устанавливается микросхема программируемого интервального таймера (ПИТ) DD2КР580ВИ53. Включение счетчиков таймера осуществляется через DD1. Сигнал на включение счетчика 1 CE1 приходит с DА5, а сигнал на включение счетчика 2 CE2 приходит с DА6.Так как блок реагирует на комбинацию сигналов датчиков, для упрощения обработки сигналов используются логические элементы "И" (&).Чтобы отслеживать изменение сигналов о срабатывании датчиков и счетчиков устанавливается контроллер приоритетный прерываний (КПП) DD3КР580ВН59, к входам которого подключаются источники сигналов (внешние устройства). В рассматриваем варианте, это логические элементы, выдающие сигнал при наличии заданной комбинации сигналов датчиков (входы DD3:IRQ0 – IRQ3) и выходы счетчиков (входы DD3: IRQ4, IRQ3). Для идентификации в системе микросхемамDD1– DD3 присваиваются адреса в МПС, для этого их входы CSподключаются к выходам Q3, Q4, Q6дешифратора DD4 К555ИД7. Подключаются шина данных (ШД), шина адреса (ША) и шина команд (ШК). Определяются адреса присваиваемые микросхемам DD1– DD3. DD4 К Р 58 0В Н 59
ШД
РIС CS
IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
1- 3
&
Д1
1 -3 -4
&
Д2
1- 2
&
Д3 Д4
4
8C-8F
ША
DD2 КР580ВИ53
СT
DD4 К 5 5 5 ИД 7 A2 A3 A4 A5 A6 A7
ШК
DS
OUT0
CS Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
t1 OUT1 CE1
t2
CE2
OUT2
90-93 DD1 КР 5 80В В 5 5А
IOP
DA5 DA6 DB1
ИУ1
DB2
ИУ2
DB3
ИУ3
DB4
ИУ4
CS
98-9B
Рисунок 1.1- Структурная схема блока подключаемого к МПС
5
1.1 Дешифратор К555ИД7 Служит для идентификации в системе микросхем DD1–DD3, входы CSкоторых подключены к выходам Q3, Q4, Q6дешифратора. Дешифратор DD1 (К555ИД7) показан на рисунке 1.2, а в таблице 1.1 описаны назначения входов и выходов микросхемы.
Рисунок 1.2 - Дешифратор К555ИД7 Таблица 1.1 - Входы и выходы дешифратора К555ИД7 Вывод А, В, С Е1 Е2 ЕЗ Vcc Voo Q0-Q7
Назначение Адресные входы (двоичный эквивалент номера выхода) Инверсный разрешающий вход 1 Инверсный разрешающий вход 2 Разрешающий вход 3 Питание +5 В Питание 0 В Инверсные входы дешифратора
Входы дешифратора А, В, С подключаем к шине адреса (ША) разряды А2 -А4 соответственно. Разрешающие входы El, E2 и ЕЗ также подключаем к ША разряды А5 - А7 соответственно, но так как для работы дешифратора необходимочтобы на входе Е1 был сигнал логическая 1, а на входах Е2 и ЕЗ логическая 0, то группа адресов, которую может адресовать данный дешифратор находится в диапазоне от 10000000 D = 80 Н до 10011111 D = 9FН. Так как два младших разряда ША не задействованы, дешифратор изменяет сигнал на выходе через четыре адреса, а адресация регистров внутри микросхем DD1– DD3осуществляется с помощью разрядов АО, А1. В таблице срабатывания дешифратора (таблица 1.2) указана следующая информация: на каком выводе появится сигнал (логический ноль) при определенной комбинации входных сигналов А2 -А7 и диапазон адресов им соответствующий.
6
Таблица 1.2 - Таблица срабатывания дешифратора Выводы Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Разряды ША —> входы дешифратора А7—>Е1 А6—>Е2 А5—>ЕЗ А4—>С А З —>В А2—>А 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1
Диапазон адресов 80-83 Н 84-87 Н 88-8В Н 8C-8F Н 90-93 Н 94-97 Н 98-9В Н 9C-9F Н
Согласно задания, составим таблицу подключения входов CSмикросхем DD1–DD3к выходам микросхемы дешифратора DD4(таблица 1.3). Таблица 1.3 - Таблица соединений и адресации микросхем Микросхема DD3(КПП) DD2(ПИТ) DD1(ППИ)
Вход CS CS CS
Вывод дешифратора DD1 Q3 Q4 Q6
Диапазон адресов 8C-8FH 90-93 Н 98-9В Н
1.2 Комбинирование состояний датчиков Так как исполнительное устройство должны включаться от срабатывания комбинации датчиков, соединенных функцией "И", то для формированияпрерываний на программируемый контроллер прерываний применяем микросхемы К155ЛА3 – 4 элемента 2И-НЕ и К155ЛА4 – 3 элемента 3И-НЕ.Микросхемы изображены на рисунке 1.3. К 155Л А 3 1 & 2
3
4 & 5
6
9 & 10 12 & 13
К 1 55 Л А 4 1 & 12 2 13 6
8
3 & 4 5
11
9 & 10 11
8
+5 В к в ы в .1 4 -5 В к в ы в .7
Рисунок 1.3 - МикросхемыК155ЛА3 и ее схема
7
Для получения функции 2И и 3И соединяем элементы последовательно &
&
&
&
1.3 Программируемый контроллер прерываний КР580ВН59 На программируемый контроллер прерываний приходят комбинированные сигналы срабатывания датчиков и сигналы с таймера. Программируемый контроллер прерываний КР580ВН59 изображен на рисунке 1.4.
Рисунок 1.4 - Программируемый контроллер прерываний КР580ВН59 Управление работой контролера осуществляется с помощью сигналов описанных в таблице 1.5. Руководствуясь заданием, составляем таблицу прерываний, то есть действий микропроцессорной системы при получении сигнала от внешнего устройства (таблица 1.6). Действия МПС записываются в память в виде подпрограммы по заданному адресу. Принимаем, что подпрограммы расположены через четыре адреса.
8
Таблица 1.5 - Сигналы управления контроллера прерываний КР580ВН59 Обозначение Наименование
RD WR
Функциональное назначение и условия возникновения
Сигналы управления записью / считыванием Запись (входной) Запись в БИС управляющих слов Чтение (входной) Считывание из БИС содержимого внутренних регистров
Формируется при определенной комбинации сигналов на ША. Осуществляет подключение ШД к шине данных системы. При отсутствии сигнала выводы ШД находятся в состоянии с высоким выходным сопротивлением АО Адрес (входной) Адресация регистров Сигналы управления прерыванием IRQ0 - IRQ7 Запросы на прерывание Запросы на прерывание от внешних устройств (входные) INT Запрос на Запрос на прерывание, выдаваемый прерывание (выходной) контроллером на МП CS
INTA
Выбор микросхемы (входной)
Разрешение прерывания
После поступления этого сигнала от МП контроллер осуществляет ввод в МП команды CALL
Сигналы управления каскадированием SP Ведомый (входной) Высокий уровень, если контроллер является ведущим, низкий уровень - если ведомым CAS0-CAS2 Каскадирование Сигналы CAS0-CAS2 являются выходными, если контроллер является ведущим (SP=1), и входными, если -подчиненным (SP=0).
Таблица 1.6- Таблица прерываний Номер Источник сигнала прерывания Комбинация сигналов IRQ0 датчиков 1-3
IRQ1 IRQ2 IRQ3 IRQ4 IRQ5
Действия МПС, выполняющей подпрограмму Адрес обслуживающую прерывание подпрограммы Включить ИУ1, для этого вывести «1» в порт EF90 В на разряд DВ1 Комбинация сигналов Включить счетчик 1на 5 секундчерез CE1, для EF94 датчиков 1-3-4 этого вывести «1» в порт А на разряд DА5 Комбинация сигналов Включить ИУ3, для этого вывести «1» в порт EF98 датчиков 1-2 В на разряд DВ3 Комбинация сигналов Включить счетчик 2на 7 секундчерез CE2, для EF9С датчиков 4 этого вывести «1» в порт А на разряд DА6 Выход счетчика 1 Включить ИУ2, для этого вывести «1» в порт EFА0 В на разряд DВ2 Выход счетчика 2 Включить ИУ4, для этого вывести «1» в порт EFА4 В на разряд DВ4
1.4 Программируемый таймер КР580ВИ53
9
Он служит для выдержки заданных промежутков времени перед включением соответствующего исполнительного устройства. Программируемый таймер КР580ВИ53 изображен на рисунке 1.5, а назначение выводов описано в таблице 1.7.
Рисунок 1.5 - Программируемый таймер КР580ВИ53 Таблица 1.7 - Выводы программируемого таймера КР580ВИ53 Обозначение вывода D(7-0) RD, WR А0,А1 CS CLK0- CLK2 CEO - CE2 OUT 0- OUT2 Vcc Voo
Назначение вывода Канал данных Сигнал «чтение», «запись» Адресные входы Выбор микросхемы Входы синхронизации счетчиков Входы управления счетчиков Выходные сигналы счетчиков Напряжение питания (+5В) Напряжения питания (0 В)
Каждый из счетчиков ПТ может работать в одном из шести режимов : Режим 0 - программируемая выдержка времени; Режим 1 - программируемый ждущий мультивибратор; Режим 2 - программируемый генератор тактовых сигналов; Режим 3 - программируемыйгенератор прямоугольных сигналов; Режим 4 - программно-управляемый строб;
10
Режим 5 - аппаратно-управляемый строб. Системная тактовая частота в рассматриваемой МПС:FТ= 2 х 106 Гц. Количество тактов необходимых для реализации выдержки времени t1= 5с и t2= 7с заведомо превышает максимальную емкость счетчика nmax = 216 = 65535 D= FFFFH Рассчитаем максимально возможную входную частоту для счетчика при отсчете максимального из заданного t2= 7с n୫ୟ୶ 65535 f୫ୟ୶ 9362 Гц tଶ 7 Полученное значение частоты округляется в меньшую сторону до такого значения, что бы все цифры в дальнейших расчетах получались целые. В данном случае принимаем f= 8000 Гц. Таким образом, необходимо уменьшить исходную системную тактовую частоту до 8000 Гц. Для этого системная тактовая частота сначала делится в счетчике 0, работающем в режиме 2, а затем подается на счетчики 1 и 2, которые в режимах 0 осуществляют отсчет заданного времени.Схема соединения счетчиков представлена на рисунке 1.6.
Рисунок 1.6- Схема соединения счетчиков Определим значения коэффициентов записываемых в счетчики для получения требуемых временных параметровв десятичной и шестнадцатеричной форме. Коэффициент деления для счетчика 0: ଶ n т 250D FAH. బ
଼
Коэффициентсчета для счетчика 1 выдержка t1= 5с: nଵ f · tଵ 8000 · 5 4000D 9C40H. Коэффициентсчета для счетчика 2 выдержка t1= 7с: nଶ f · t ଶ 8000 · 7 5600D DAC0H. 1.5 Программируемый параллельный интерфейс КР580ВВ55 Он служит для ввода/вывода информации, в нашем же случае он используется для включения исполнительных устройств и управления счетчиками. Программируемый параллельный интерфейс КР580ВВ55 изображен на
11
рисунке 1.7, а назначение выводов описано в таблице 1.8.
Рисунок 1.7 - Программируемый параллельный интерфейс КР580ВВ55 Таблица 1.8 - Выводы ППИ КР580ВВ55 Обозначение вывода D(7 - 0)
Назначение вывода
RD
Чтение: Н - уровень сигнала разрешает считывание информации из регистра, адресуемого по входам АО, А1
WR
Запись: L - уровень сигнала разрешает запись информации с шины D(7 0) в регистр НИИ Входы для адресации внутренних регистров ПЛИ
А0,А1 RESET CS
Вход/выход данных
Сброс: Н-уровень сигнала записывает нули во все регистры управляющего слова и устанавливает все порты в 3 состояние
DA(7-0)
Выбор микросхемы: L-уровень сигнала подключает ППИ к системной шине Вход/выход канала А
DB(7-0)
Вход/выход канала В
DC(7-0) Vcc Voo
Вход/выход канала С Напряжение питания (+ 5 В) Напряжение питания (0 В)
Руководствуясь заданием, составляем таблицу подключения выводов микросхемы ППИ (таблица 1.9).
12
Таблица 1.9 - Таблица подключений каналов ППИ Вывод ППИ DB1 DB2 DB3 DB4 DA5 DA6
Подключение К исполнительному устройству ИУ1 К исполнительному устройству ИУ2 К исполнительному устройству ИУ 3 К исполнительному устройству ИУ4 К таймеру 1 СЕ1 К таймеру 2 СЕ2
2 Принципиальная схема блока В первом разделе мы описали структуру блока подключаемого к микропроцессорной системе, теперь изобразим его принципиальную схему (рисунок 2.1). 3.Программирование микросхем и адреса управления Составляем управляющие слова для программируемых микросхем (таблицы 3.1-3.5). 3.1 Программирование контроллера прерываний КР580ВН59 Программа состоит из двух управляющих слов инициализации (ICW1, ICW2), т.к. контроллер прерываний в нашей системе один, и операционных управляющих слов (OCW). Согласно исходных данных адрес подпрограммы обработки прерыванияIRQ0EF90Н = 1110 1111 1001 0000 В Запишем управляющие слова ICW1 и ICW2 (таблицы 3.1, 3.2). Таблица 3.1 - Управляющее слово инициализации ICW1 программируемого контроллера прерываний КР580ВН59 (адресный вход АО = 0) D7 1 А7 А6
D6
D5 0 А5
D4 0
D3 1
D2 0
D1 1 1 Разность меж- Число кон-
Разряды младшего байта
ду стартовы-
троллеров в
адреса подпрограммы об-
ми адресами:
системе: 1 -
работки прерываний
1 - 4 байта
один
13
DO 0
HEX = 96
DD4 КР580ВН59
ШД
РIС
D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 CS RD WR RES
ША
DD5.26
IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
1- 3 1- 3- 4
&
DD6.2 & 6
1- 2 4
4 3 & 5
DD5.1
1DD6.1
3 & 4 12 2 5 13
11 & 12 8 & 13
DD5.4
1 2
9 10
Д1 Д2 Д3 Д4
DD5.3
DD5 К155ЛА3 DD6 К155ЛА4
CAS0
+5 В к в ыв .14 - 5 В к в ыв .7
CAS1 CAS2
DD4 К555ИД7 A2 A3 A4 A5 A6 A7
DS
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
DD2 КР580ВИ53
+5 В Vcc Voo
MS/ SL
+5 В
D0 D1 D2 D3 D4 D5 D6 D7
+5 В DD1 КР580ВВ55А D0 D1 D2 D3 D4 D5 D6 D7
ШК
A0 A1 CS RD WR RES
+5 В Vcc Voo
IOP
DA0 DA1 DA2 DA3 DA4 DA5 DA6 DA7 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
FТ
ИУ1
A0 A1 CS RD WR
CLKO +5 В CEO CLK1 CE1 CLK2 CE2
СT OUT0
OUT1
OUT2
Vcc
+5 В
Voo
ИУ2 ИУ3 ИУ4
DC0 DC1 DC2 DC3 DC4 DC5 DC6 DC7
Рисунок 2.1 - Принципиальная схема блока подключаемого к МПС
14
Таблица 3.2 - Управляющее слово инициализации ICW2 программируемого контроллера прерываний КР580ВН59 (адресный вход АО = 1) D7 1
D6 1
D5 1
D4 0
D3 1
D2 1
D1 1
DO 1
HEX
А15
А14
А13
А12
А11
А10
А9
А8
...
EF
Старший байт адреса подпрограммы обработки прерываний
Операционное управляющее слово (OCW) служит для запрета или разрешения контроллеру прерываний реагировать на соответствующий запрос на прерывание. Иначе операционное управляющее слово называют маской, накладываемой на запросы. D7 N7
D6
D5
N6
N5
D4 N4
D3 N3
D2 N2
D1 N1
DO N0
Ni =0 прерывание IRQi разрешено , Ni =1 прерывание IRQi запрещено .
Составим таблицу масок для запрета прерываний (таблица 3.3) Таблица 3.3 - Маски для запрета прерываний Прерывание
D7
D6
D5
D4
D3
D2
D1
DO
HEX
IRQ0
0
0
0
0
0
0
0
1
1
IRQ1
0
0
0
0
0
0
1
0
2
IRQ2
0
0
0
0
0
1
0
0
4
IRQ3
0
0
0
0
1
0
0
0
8
IRQ4
0
0
0
1
0
0
0
0
10
IRQ5
0
0
1
0
0
0
0
0
20
3.2 Программирование таймера КР580ВИ53 Запишем управляющие слова для счетчиков (таблица 3.4). Таблица 3.4 - Управляющие слова для программируемого таймера КР580ВИ53 Счетчик D7 D6 D5 D4 D3 D2 D1 DO HEX 0
0
0
0
1
0
1
0
0
14
1 2
0 1
1 0
1 1
1 1
0 0
0 0
0 0
0 0
70 В0
15
Микросхема Действие Чтение/запись канала А Чтение/запись канала В DD1(ППИ) Чтение/запись канала С Запись управляющего слова
16
4Распределение адресного пространства
Составим таблицу адресов управления (таблица 4.1). Таблица 4.1 - Адреса управления
Адрес 98Н 99Н 9АН 9ВН Значение в 16ричном коде
Установка порта С(З-О) на вывод
Установка порта В на вывод
Установка "Режим 0" для порта В
Установка порта С(7-4) на вывод
Установка порта А на вывод
Установка "Режим 0" для порта А
Установка режимов работы каналов
3.3 Программирование параллельного интерфейса КР580ВВ55
Запишем управляющие слова для параллельного интерфейса (таблица
3.5).
Таблица 3.5 - Управляющее слово программируемого параллельного интерфейса КР580ВВ55 D7 D6 D5 D4 D3 D2 D1 DO HEX 1 0 0 0 0 0 0 0 80 Значение в 16-ричном коде
вид используемого кода
режим работы: Режим 0 (ООО) -программируемая задержка; Режим 2 (Х10)программируемый генератор тактовых сигналов
Последовательность записи и считывания счетчика (два байта)
Выбор счетчика, для которого переданоуправляющее слово(00 - нулевой, 01 - первый, 10 - второй)
Номер счетчика
DD2(ПИТ)
DD3(ПКП)
Запись параметров счетчика 1 Запись параметров счетчика 2 Запись параметров счетчика 3 Запись управляющего слова Запись управляющего слова Запись/чтение регистра маскирования
Адрес, HEX 0000- 0FFF 1000 – 1100
90Н 91Н 92Н 93Н 8СН 8DH
назначение Система Инициализация блока Подпрограммы управления таймерами и исполнительными устройствами Подпрограммы, вызываемые по запросу прерываний
ACOO - ADO
EF90 - EFAF
Что бы сохранить информацию о действиях над устройствами,подключенными к портам ввода – вывода, она запоминается в регистрах или ячейках памяти выделенных для этой цели. Выделяем для запоминания состояния устройств регистры В и С. Регистр В – состояние исполнительных устройств (ИУ) D7 -
D6 -
D5 -
D4 И41
D3 ИУ3
D2 ИУ2
D1 ИУ1
DO -
Таблица 4.2 - Маски для включения исполнительных устройств Номер разряда порта ввода-вывода 1 2 3 4
D7
D6
D5
D4
D3
D2
D1
DO
HEX
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
0 0 0 0
02 04 08 10
Регистр С– состояние счетчиков (Сч) D7 -
D6
D5
Сч2
Сч1
D4 -
D3 -
D2 -
D1 -
DO -
Таблица 4.3 - Маски для включения счетчиков таймера Номер разряда порта ввода-вывода 5 6
D7
D6
D5
D4
D3
D2
D1
DO
HEX
0 0
0 1
1 0
0 0
0 0
0 0
0 0
0 0
20 40
17
5. Алгоритмы подпрограмм Составим алгоритм действий микропроцессора на запрос на прерывание от датчиков, например – IRQ0, для включения ИУ1. Основная операция МП описана в таблице прерываний (Табл.1.6) – "Включить ИУ1, для этого вывести «1» в порт В на разряд DВ1". Кроме этой основной операции необходимо, чтобы предотвратить повторный запуск подпрограммы обработки прерываний, запретить контроллеру реагировать на сигнал внешнего устройства. Составим алгоритм действий микропроцессора на запрос на прерывание от датчиков, например – IRQ1, для включения счетчика Сч1. Основная операция МП описана в таблице прерываний (Табл.1.6) – "Включить счетчик 1 на 5 секунд через CE1, для этого вывести «1» в порт А на разряд DА5". Кроме этой основной операции необходимо, чтобы предотвратить повторный запуск подпрограммы обработки прерываний, запретить контроллеру реагировать на сигнал внешнего устройства.
18
Считывание состояния регистра масок КПП в регистр А
Считать содержимое регистра масок
Установить разряд D0 в"1"
Запретить IRQ0 (логическое ИЛИ над содержимым А и числом 01)
Вывод полученного числа в регистр масок КПП
Обновить регистр масок
Считывание состояния ИУ из регистра В в регистр А
Содержимое регистра В (состояние ИУ) заносим в регистр А
Установить разряд D1 в"1"
Установка D1 = 1(логическое ИЛИ над содержимым А и числом 02)
Вывод полученного числа в порт В
Вывод содержимого регистра А в ППИ (Установка DВ1 = 1 (включение ИУ1)
Запомнить состояния ИУ из регистра А в регистр В
Обновление состояния регистра В (состояние ИУ)
Возврат из подпрограммы
Возврат из подпрограммы
19
Считывание состояния регистра масок КПП в регистр А
Установить разряд D4 в"1"
Считать содержимое регистра масок
запретить IRQ4 (логическое ИЛИ над содержимым А и числом 10)
обновить регистр масок
Вывод полученного числа в регистр масок КПП
Считывание состояния Сч из регистра С в регистр А
Установить разряд D5 в"1"
Вывод полученного числа в порт А
Запомнить состояния Сч из регистра А в регистр С
Содержимое регистра С (состояние счетчиков) заносим в регистр А
Установка D5 = 1(логическое ИЛИ над содержимым А и числом 20)
Вывод содержимого регистра А в ППИ (Установка DА5= 1 (включение счетчика 1(Сч.1) через CE1)
Обновление состояния регистра С (состояние счетчиков)
Возврат из подпрограммы
Возврат из подпрограммы
20
6Программы Составим программу инициализации Адрес
Код
Метка Команда
Комментарий
1000
ЗЕ 96
MVI А,96
Заносим ICW1 в регистр А
1002
D3 8C
OUT8C
Загрузка ICW1 из регистра А в ПКП (АО = 0)
1004
ЗЕ EF
МVI А, EF
Заносим ICW2 в регистр А
1006
D3 8D
OUT 8D
Загрузка ICW2 из регистра А в ПКП (АО = 1)
1008
ЗЕ 80
MVI A, 80
Заносим УС ППИ в регистр А
100А
D3 9B
OUT 9B
Загрузка УС из регистра А в ППИ (А 1=1, A0=l)
100С
ЗЕ 14
MVI A,14
Заносим УС ПТ (Сч.0) в регистр А
100Е
D3 93
OUT 93
Загрузка УС ПТ (Сч.0) из peг. А в ПТ (А1=1, А0=1)
1010
3EFA
MVI A,FA
Заносим байт коэф. n0 в регистр А
1012
D3 90
OUT 90
Загрузка байта коэф. n0 из регистра А в ПТ
1014
ЗЕ 70
MVI A,70
Заносим УС ПТ (Сч.1) в регистр А
1016
D3 93
OUT 93
Загрузка УС ПТ (Сч.1) из регистра А в ПТ
1018
ЗЕ 40
MVI A,40
Заносим младший байт коэф. n1в регистр А
101А
D3 91
OUT 91
Загрузка младшего байта коэф. n1из регистра А в ПТ
101С
ЗЕ9C
MVI A,9C
Заносим старший байт коэф. n1в регистр А
101Е
D3 91
OUT 91
Загрузка старшего байта коэф. n1из регистра А в ПТ
1020
ЗЕ В0
MVI A,B0
Заносим УС ПТ (Сч.2) в регистр А
1022
D3 93
OUT 93
Загрузка УС ПТ (Сч.2) из регистра А в ПТ
1024
ЗЕ C0
MVI A,C0
Заносим младший байт коэф. n2 в регистр А
1026
D3 92
OUT 92
Загрузка младшего байта коэф. n2 из регистра А в ПТ
1028
ЗЕ DA
MVI A,DA
Заносим старший байт коэф. n2в регистр А
102А
D3 92
OUT 92
Загрузка старшего байта коэф. n2 из регистра А в ПТ
102С
06 00
MVI B,00
ИУ отключены (очистка регистра В)
102Е
0Е00
MVI C,00
Счетчики отключены (очистка регистра С)
21
EI
Разрешение прерываний
NOP
Нет действия (МП ожидает срабатывания ВУ)
СЗ 35 10
JMP loop
Переход к метке loop
76
HLT
Выход
1030
FB
1032
00
1034 1035
loop:
Составим подпрограммы, вызываемые по запросу прерываний (подпрограммы обслуживания прерываний) Адрес
Код
Метка
Команда
Комментарий
EF90
CD 00 АС
IRQ0
CALLU1
Вызов подпрограммы Ul(включение ИУ1)
EF93
С9
RET
Возврат в основную программу
EF94
CD 34 АС
CALL Tl
Вызов подпрограммы Т1(включение Сч1)
EF97
С9
RET
Возврат в основную программу
EF98
CD 1А АС
CALL U3
Вызов подпрограммы U3(включение ИУ3)
EF9B
С9
RET
Возврат в основную программу
EF9C
CD 41АС
CALL T2
Вызов подпрограммы Т2(включение Сч2)
EF9F
С9
RET
Возврат в основную программу
EFA0
CD 0DАС
CALL U2
Вызов подпрограммы U2(включение ИУ2)
EFA3
С9
RET
Возврат в основную программу
EFA4
CD 27АС
CALL U4
Вызов подпрограммы U4(включение ИУ4)
EFA7
С9
RET
Возврат в основную программу
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
Составим подпрограммы управления таймерами и исполнительными устройствами вызываемые,подпрограммамиобслуживания прерываний.
22
Подпрограммы управления таймерами и исполнительными устройствами Адрес
Код
Метка
Команда
Комментарий
IN 8D
Считать содержимое регистра маскирования (РМ)
F6 01
ORI 01
запретить IRQ0
АС04
D3 8D
OUT8D
обновить РМ
АС06
78
MOV А,В
Содержимое регистра В (состояние ИУ) заносим в регистр А
АС07
F6 02
ORI02
Установка D1= 1
АС09
D3 99
OUT 99
Вывод содержимого регистра А в ППИ (Установка DВ1= 1 (включение ИУ1)
АСОВ
47
MOV В,А
Обновление состояния регистра В (состояние ИУ)
АСОС
С9
RET
Возврат из подпрограммы
AC0D
DB8D
IN8D
Считать содержимое РМ
ACOF
F6 10
ORI10
Запретить IRQ4
АС11
D3 8D
OUT8D
обновить РМ
АС13
78
MOV A,B
Содержимое регистра В (состояние ИУ) заносим в регистр А
АС14
F6 02
ORI04
Установка D2= 1
АС16
D3 99
OUT 99
Вывод содержимого регистра А в ППИ (Установка DВ2= 1 (включение ИУ2)
АС18
47
MOV B,A
Обновление состояния регистра В (состояние ИУ)
АС19
С9
RET
Возврат из подпрограммы
АС1А
DB8D
IN8D
Считать содержимое РМ
ACOO
DB8D
АС02
U1:
U2:
U3:
23
Адрес
Код
АС1С
F6 04
АС1Е
Метка
Команда
Комментарий
ORI04
Запретить IRQ2
D3 8D
OUT8D
обновить РМ
АС20
78
MOV A,B
Содержимое регистра В (состояние ИУ) заносим в регистр А
АС21
F6 08
ORI08
Установка D3= 1
АС23
D3 99
OUT 99
Вывод содержимого регистра А в ППИ (Установка DВ3= 1 (включение ИУЗ)
АС25
47
MOV B,A
Обновление состояния регистра В (состояние ИУ)
АС26
С9
RET
Возврат из подпрограммы
АС27
DB8D
IN8D
Считать содержимое РМ
АС29
F6 20
ORI20
Запретить IRQ5
АС2В
D3 8D
OUT8D
обновить РМ
AC2D
78
MOV A,B
Содержимое регистра В (состояние ИУ) заносим в регистр А
АС2Е
F6 10
ORI10
Установка D4= 1
АСЗ0
D3 99
OUT 99
Вывод содержимого регистра А в ППИ (Установка
U4:
DB4= 1 (включение ИУ4) АС32
47
MOV B,A
Обновление состояния регистра В (состояние ИУ)
АСЗЗ
С9
RET
Возврат из подпрограммы
АС34
DB8D
IN8D
Считать содержимое регистра маскирования (РМ)
АС36
F6 08
ORI01
Запретить IRQ1
Т1:
24
Адрес
Код
АС38
D3 8D
АСЗА
Метка
Команда
Комментарий
OUT8D
Обновить РМ
79
MOV A,C
Содержимое регистра С (состояние счетчиков) заносим в регистр А
АСЗВ
F6 20
ORI20
Установка D5 = 1
AC3D
D3 98
OUT 98
Вывод содержимого регистра А в ППИ (Установка DА5= 1 (включение счетчика 1(Сч.1)через CE1)
AC3F
4А
MOV С,А
Обновление состояния регистра С (состояние счетчиков)
АС40
С9
RET
Возврат из подпрограммы
АС41
DB8D
IN8D
Считать содержимое регистра маскирования (РМ)
АС43
F6 08
ORI 08
запретить IRQ3
АС45
D3 8D
OUT8D
обновить РМ
АС47
79
MOV A,C
Содержимое регистра С (состояние таймеров) заносим в регистр А
АС48
F6 40
ORI 40
Установка D6= 1
АС4А
D3 98
OUT 98
Загрузка содержимого регистра А в ППИ (Установка DА6= 1 (включение счетчика2(Сч.2)через CE1)
АС4С
4А
MOV С,А
Обновление состояния регистра С (состояние счетчиков)
AC4D
С9
RET
Возврат из подпрограммы
Т2:
25
Варианты курсовой работы Вари- колиант чество датчиков
1. 4
2. 5
3. 3
4. 4
5. 5
6. 3
7. 4
8. 5
9.
10. 4
11. 5
12. 3
номер исполкомбинация нительного уст- сигналов датройства и выхо- чиков для срады порта для батывания подключения исполнительного устройства 1,В1 1-3 2,В2 1-3-4 3В3 1-2 4,В4 4 1.С2 4 2С3 2-5 3,С4 1-2 1А3 1-2 2-3 2,А4З 1-3 А54,А 2 65,А7 1-2-3 1 В2 1-4 2 В3 1-2 3В4 34 4В5 2-3 1 С3 3-4-5 2 С4 2-5 3С5 1-3 1 С4 1 2 С5 3 3 С6 2-3 4 С7 2 5 С0 1-3 1-3 1 А4 2-4 2 А5 3-4 3 A6 2-3 4 А7 1 В3 2-5 2 В4 2-3 3 В5 1-4 1 В4 1 2 В5 2 3 В6 3 4 В7 1-3 5 В0 1-2 1 С5 1-3 2 С6 2-4 3 С7 3-4 4 С0 3 1 В5 3-4-5 2 В6 1-2-5 3 В7 5 1 А1 1 2 A2 2 3 А3 3 4 А4 2-3 5 А5 1-2-3
выдержки времени, с
0 100 0 12 0,8 0 20 0 0 0 3,3 50 4 0 22 0 0,1 40 0 6 0 0 9 0 0 43 62 0 0 9 77 0 55 0 0,02 0 0 53 0 0,03 0 24 6 0 0 400 0 0,07
26
используемые выводы дешифратора для подключения входов CSм/схем
ВЫХОДЫ
порта ДЛЯ
адрес подпрогра ммы IRQ0, HEX
управления таймером
3,4,5
В5,В6
4030
4,5,6
СЗ,С4
10В0
5,6,7
А6,А7
4040
6,7,0
В6,В7
D000
0,2,4
С5,С6
D0B0
2,4,6
А4,А5
30В0
4,6,2
А4,А5
3350
1,3,7
В5,В6
80Е0
3,5,7
СЗ,С4
6АВ0
5,7,1
А6,А7
6В20
0,2,3
В6,В7
5750
1,2,3
С5,С6
2040
Список литературы 1. Микропроцессорные средства в электроприводах и технологических комплексах на горных предприятиях: учеб. пособие / В.В. Павлов, О.А. Ковалева, Б.С. Заварыкин; ГОУ ВПО « Гос. ун-т цвет. металлов и золота». – Красноярск, 2006. – 108 с. 2. Микропроцессорные системы: Уч. пособие для вузов/ Под общ.ред Д.В. Пузанкова -СПб.: Политехника, 2002.-935 с. 3. Пухальский Г.И., Проектирование Микропроцессорных систем. СПб.: Политехника, 2001. -544с. 4. СТО 4.2–07–2010. Система менеджмента качества. Общие требования к построению,изложению и оформлению документов учебной и научной деятельности. / Красноярск: Сиб. федер. ун-т, 2010. – 58 с.
27
Оглавление Введение .......................................................................................................................... 3 Пример задания .............................................................................................................. 4 1. Структура блока подключаемого к МПС для решения задачи ............................. 4 1.1 Дешифратор К555ИД7 .......................................................................................... 6 1.2 Комбинирование состояний датчиков ................................................................ 7 1.3 Программируемый контроллер прерываний КР580ВН59 ................................ 8 1.4 Программируемый таймер КР580ВИ53 .............................................................. 9 1.5 Программируемый параллельный интерфейс КР580ВВ55............................. 11 2 Принципиальная схема блока .................................................................................. 13 3. Программирование микросхем и адреса управления ........................................... 13 3.1 Программирование контроллера прерываний КР580ВН59 ............................ 13 3.2 Программирование таймера КР580ВИ53 ......................................................... 15 3.3 Программирование параллельного интерфейса КР580ВВ55 ......................... 16 4 Распределение адресного пространства.................................................................. 16 5. Алгоритмы подпрограмм......................................................................................... 18 6 Программы ................................................................................................................. 21 Варианты курсовой работы ......................................................................................... 26 Список литературы....................................................................................................... 27
28