ПРИМЕРЫ ПОДКЛЮЧЕНИЯ ВСПОМОГАТЕЛЬНЫХ МИКРОСХЕМ К МИКРОПРОЦЕССОРНОЙ СИСТЕМЕ
Тема 4
К580ВА86 и К580ВА87
Обозначение вывода | Номер контакта | Название вывода |
А(7-0) | 8; 7; 6; 5: 4: 3: 2: 1 | Выводы данных для локальной шины МП |
В(7-0) | 12; 13; 14; 15; 16; 17; 18; 19 | Вывода данных для системной шины |
Т | Вход управления направлением передачи | |
ОЕ | Вход разрешения передачи | |
Ucc | Напряжение питания (+5 В) | |
GND | Напряжение питания (0 В) |
При L-уровне сигнала на входе ОЕ информация с выводов 5(7-0) передается на выводы A(7-0). При H-уровне сигнала на входе ОЕ шинные формирователи переходят в высокоимпедансное состояние.
Рассмотрим примеры подключения к микропроцессорной системе (МПС) вспомогательных микросхем, их программирование и организацию обмена данными между МПС и внешними устройствами.
Под внешними устройствами (В9) понимается устройства, которые могут управлять сигналом от МПС (дискретные или опорные датчики).
Конструкция ВУ не рассматривается, но считается, что уровни входных и выходных сигналов устройств соответствуют стандартным значениям МПС и существует гальваническая развязка силовых и информационных линий. Общая схема сопряжения микропроцессора с внешними устройствами получила название интерфейса (от interface — устройство сопряжения). Интерфейс представляет собой совокупность электронных схем (аппаратные средства), управляющих прохождением сигналов по линиям алгоритмов и программ (программные средства), обмена информацией. В связи с этим в примерах, в начале, приводятся схемы подключения вспомогательных микросхем, затем дается алгоритм работы и фрагмент программы для обмена информацией.
|
|
Все рассмотренные микросхемы являются универсальными устройствами и для того, чтобы использовать их, не обязательно иметь систему на основе КР 580 ИК80А.
Основное внимание уделено описанию принципов организации обмена информацией с МПС. Разобравшись с приведенными простыми примерами, применять другие микросхемы, работающие по таким принципам, будет не сложно.
В примере рассмотрено следующее задание: к микропроцессорной системе подключены три дискретных датчика SA1, SA2, SA3. Когда датчик замыкается, он передает сигнал логической 1, когда разомкнут - логического 0. Система управляет тремя исполнительными устройствами U1, U2, U3. Устройство включается, когда на него подается логическая 1 и отключается при подаче логического 0. Необходимо подключить датчики и исполнительные устройства через микросхему ППИ, запрограммировать ее и написать программу, включающую исполнительные устройства U1, U2, U3 по сигналам датчиков SA1, SA2, SA3.
|
|
Схема подключения. Так как датчики и исполнительные устройства дискретные и работают без стробирующих сигналов, режимы работы каналов (портов) ППИ принимаются асинхронными (режим 0). Датчик подключается к порту А (рис. 4.1), исполнительные устройства - к порту В. Таким образом, конфигурация работы микросхем будет следующая: порт А работает на ввод, режим 0; порт В на вывод, режим 0; порт С - состояние произвольное (не задействован). К МПС микросхема подключена через шину данных (ШД), шину адреса (ША) и шину команд (ШК). Шина данных подключена полностью (Д0 -Д7), шина адреса - двумя разрядами А0, А1., шина команд - тремя сигналами: RD - чтение, WD - запись, RESET - сброс. Для идентификации в системе вывод CS (выбор микросхемы) подключен к выходу дешифратора ДД1, который входами подключен к ША (разряды А2-А7). Так как два младших разряда ША не задействованы дешифратор изменяет сигнал на выходе через четыре адреса, а адресация регистров внутри микросхемы осуществляется с помощью разрядов А0, А1. В таблице срабатывания дешифратора (табл. 4.1) указана следующая информация: на каком выводе появится сигнал (логический ноль) при определенной комбинации входных сигналов А2 -А7 и диапазон адресов им соответствующий. На схеме (рис.4 1.) вывод CS подключен к YO, что соответствует диапазону адресов 80- 83 Н, при этом порт А имеет адрес 80 Н, порт В - 81Н, порт С - 82 Н, регистр управления - 83 Н.
Таблица 4.1
Выводы | Комбинация разрядов А2-А7 | ||||||
А7 | А6 | А5 | А4 | А3 | А2 | Диапазон адресов | |
Y0 | 80-83H | ||||||
Y1 | 84-87H | ||||||
Y2 | 88-8BH | ||||||
Y3 | 8C-8FH | ||||||
Y4 | 90-93H | ||||||
Y5 | 94-97H | ||||||
Y6 | 98-9BH | ||||||
Y7 | 9C-9FH |
Программирование микросхемы. Составляется управляющее слово, задающее текущую конфигурацию микросхемы (рис. 4.2) значение разрядов указывают режим работы и направление передачи информации. В шестнадцатиричной системе счисления 10010000 В = 90 Н. Управляющее слово в начале программы записывается в регистр управления (адрес 93).
Рис. 1.2
Алгоритм управления (рис. 4.3) предусматривает следующие основные действия:
инициализацию системы - осуществляется задание режимов всем программируемым вспомогательным микросхемам, в данном случае записывается управляющее слово в регистр управления;
опрос датчиков - осуществляется ввод данных из порта А;
РА0 = 1 - проверка состояния датчика SA1, состояние разряда РА0: если есть логическая 1 то датчик включен (ДА), если логический 0 датчик выключен (НЕТ). Здесь алгоритм разветвляется: в случае ДА - переход к вкл.U1, если НЕТ - переход откл.U1;
Вкл U1 - включение исполнительного устройства U1, для этого необходимо установить разряд РВО порта В в логическую 1;
Откл U1- отключение исполнительного устройства U1, для этого необходимо установить разряд РВО порт В в логический 0;
РА1 = 1 - проверка состояния датчика SA2, состояния разряда РА1, если есть логическая 1 - датчик включен (ДА), если логический 0 -датчик выключен (НЕТ). Здесь алгоритм разветвляется в случае ДА - переход к Вкл U2, если НЕТ - переход Откл U2;
Вкл U2 - включение исполнительного устройства U2, для этого необходимо установить разряд РВ1 порта В в логическую 1;
Откл U2- отключение исполнительного устройства U2, для этого необходимо установить разряд РВ1 порт В в логический 0; Откл U1- отключение исполнительного устройства U1, для этого необходимо установить разряд РВО порт В в логический 0;
РА2 = 1 - проверка состояния датчика SA3 состояния разряда РА2, если есть логическая 1 датчик включен (ДА), если логический 0 - датчик выключен (НЕТ). Здесь алгоритм разветвляется в случае ДА - переход к Вкл U3, если НЕТ - переход ОТКЛ U3.
Вкл U3 - включение исполнительного устройства U3, для этого необходи
|
|
Рис 1.3
мо установить разряд РВ1 порта В в логическую 1;
Откл U3- отключение исполнительного устройства U3, для этого необходимо установить разряд РВ1 порт В в логический 0.
Затем происходит переход в начало алгоритма.
В местах разветвления и схождения ветвей алгоритма для удобства программирования ставятся метки: SA, ON, OFF. Имя метки может быть любым (до пяти символов). Здесь SA – проверка датчиков, ON- включение исполнительного устройства, OFF- отключение исполнительного устройства.
Программа работы, связанная с алгоритмом при помощи меток SA, ON, OFF.
Каждый блок SA 1, SA 2, SA 3 начинается с того, что в регистр A помещается состояние датчиков. Затем проверяется соответствующий разряд наложением маски, и программа разветвляется, если результат равен нулю.
В блоках ON 1, ON 2, ON 3 осуществляются операции включения соответствующих исполнительных устройств. Состояние устройств (включено – 1, отключено – 0) запоминается в регистре C. Информация переносится в регистр A, требуемый бит устанавливается в логическую 1 наложением маски с помощью операции ИЛИ. Полученные данные выводятся в порт B.
В блоках OFF 1, OFF 2, OFF3 осуществляется операция отключения соответствующих исполнительных устройств. Информация переносится в регистр A, требуемый бит устанавливается в логический 0 наложением маски с помощью операции И. Полученные данные выводятся в порт B.
Пример программы | ||
управления тремя исполнительными устройствами | ||
MVIA 90H | : инициализация | |
OUT 83H | : системы | |
SA1: | IN 80H | : ввод информации через port A |
MOV B,A | : запоминание в регистре В состояние датчиков | |
ANI 01H | : наложение маски 00000001 на "О" разряд | |
JZ OFF1 | : если датчик не включен, то на Откл. U1 | |
ON1: | MOV A,C | : перенос в А из С состояния исполнительных устройств; |
ORI 01H | : бит ''0" устанавливается в ''1" | |
MOV C,A | : перенос в С из А состояния исполнительных устройств | |
OUT 81H | : вывод в порт В | |
JMP SA2 | : переход на SA2 | |
OFF1: | MOV С,A | : перенос в С из А состояния исполнительных устройств |
ANI FEH | : уст. бит 0 в "0" | |
MOV C,A | : перенос в С из А состояния исполнительных устройств | |
OUT 81H | : вывод в порт В | |
SA2: | MOV A,B | : перенос в регистр А содержимого В состояния датчиков |
ANI 02H | : наложение маски 00000010 на " 1 " разряд | |
JZ OFF2 | : если датчик не включен, то на Откл. U2 | |
ON2: | MOV A.C | : перенос в А из С состоя исполнительных устройств |
ORI 02H | : бит " l " устанавливается в “ 1 “ | |
MOV C.A | : перенос в С из А состояния исполнительных устройств | |
OUT 81Н | : вывод в порт В | |
JMP SA3 | : переход на SA3 | |
OFF2: | MOV a,c | : перенос в А из С состояния исполнительных устройств |
ANI FDH | : бит "1" устанавливается в “1” | |
MOV C,A | : перенос С из А состояния исполнительных устройств | |
OUT 81H | : вывод в порт В | |
SA3: | MOV А,В | : перенос в А из В состояния датчиков; |
ANI 04H | : наложение маски 00000100 на "2" разряд | |
JZ OFF3 | : если датчик не включен, то на Откл. U3; | |
ON3: | MOV А,С | : перенос в А из С состояния исполнительных устройств |
ORI U4H | : бит “2” устанавливается в “ 1 “ | |
MOV C,A | : перенос в С из А состояния исполнительных устройств | |
OUT 81H | : вывод в порт В | |
JMP SA1 | : переход на SA1 | |
OFF3: | MOV A,C | : перенос в А из С состояния исполнительных устройств |
ANI FBH | : установить бит "2" в "0" | |
MOV C,A | : перенос в С из А состояния исполнительных устройств | |
OUT 81H | : вывод в порт В | |
JMP SA1 | : переход на SA1 | |
HLT | : конец программы | |
|
|