Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 61
Текст из файла (страница 61)
По за~вершении подготовки данных для передачи в ЭВМ контроллер терминала генерирует запрос на прерыва- Методология проектирования 387 епредепяемвге рпзрядама У-я, следует передашь дельшед Эйй аепшаевш упрадляющеге ешчдела пара амшен ЖК улрадляющеее еамдаеа еяредеяяемегп разрядами д-О д Рис. 8.!9. управляющие символы вывода Га) и ввода Гб), используемые для передачи данвыя. (С разрешения Ханопа! Беписопбпсгог Согр., 1)ЯА.) ние. Этот запрос поступает на контроллер прерываний, который разрешает конфликтные ситуации между запросами на прерывание от различных устройств. Функциональная структурная схема контроллера терминала приведена на рис. 8.17. Контроллер 'прерываний — это, как правило, приоритетный дешифратор.
При поступлении на контроллер нескольких запросов на прерывание в ЭВМ выдается адрес устройства с наивысшим приоритетом. Прерывание микро-ЭВМ осуществляется по запросу, который генерируется при поступлении соответствующего сигнала хотя бы на одну из линий запросов на прерывание устройств. Принцип действия и входы и выходы контроллера прерываний показаны на рис.
8.18. Обменом данными между терминалом и большой ЭВМ управляет микро-ЭВМ. Каждый передаваемый от модема или к модему символ сопровождается управляющим символом. Структура управляющего символа вывода (микро-ЭВМ вЂ” модем) показана на рис. 8.19,а. Каждый раз при получении пары символов от модема большая ЭВМ выдает соответствующую пару символов из своего 368 Глава а выходного буфера.
Пятый разряд управляющего символа вывода указывает ЭВМ на прием микропроцессором переданной пары символов. При нулевом значении этого разряда большая ЭВМ должна восстановить данную пару символов в своем выходном буфере. На рис. 8.19,б показан управляющий символ ввода. Этот символ определяет терминал, на который передается следующий , символ. Разряд 5 данного управляющего символа устанавливается при обнаружении большой ЭВМ ошибки при ,'контроле на четность в последней.
полученной паре символов. Блок-схема ~программы, необходимой,для реализации функций концентратора данных, приведена на рис. 8.20. днлючить латавиа 370 Глава 3 емкОстнОЙ мОст (пРимеР а4) Примером использования микропроцессора в контрольно-измерительных приборах является автоматический емкостной мост Вооп1оп 76А. Структурная схема этого моста приведена на рис. 8.21 [71. В данном устройстве микро-ЭВМ МСЗ-4 управляет электронным табло, расположенным на передней панели, и системой ввода- вывода, а также контролирует равновесие моста и определяет емкость, ароводимость, Я-фактор и утечку заряда конденсатора, соединенного с выходом. Кроме того, устройство автоматически исправляет прогнозируемые ошибки.
Рабочий диапазон прибора 0 — 2000 пФ. Одной из наиболее важных функций системы в любой области применения является ввод-вывод данных. В каждом конкретном случае необходим хорошо продуманный компромисс между тех- Ннк1ЕСКИМИ СрЕдетВаМИ И ПрОГраММНЫМ ОбЕСПЕЧЕНИЕМ СИСТЕМЫ.
ДЛя рассматриваемого применения взаимосвязь между микро-ЭВМ и переключателями передней панели будет описана ниже. Передняя панель устройства показана на рис. 8.22. Схемным путем определяются замкнутые переключатели, и при помощи светоизлучающих диодов выдается информация о их состоянии; диоды «зажигаются» над каждым замкнутым переключателем. Мик- Гв()У) Рис.
8.21. Структурная схема автоматического емкостного моста Вооп1оп 76А. ь ь ,ф 4с~Ч~чй о % ф ф Г,',. ъ Ф~ Ц с о с о ь Р3 Ы й М Х 5 Я Я М $О о О ж ж о х е Методология проектирования 373. Мнемонииа 1.0М 1 1)ЧС 15 152 13 5%1. ЕРМ 15 ЛМ5 В1.Е В1.Е, Р1М 00 ЗкС 0 %МР ВВЕ 0 Рис. 8.24. Распечатка прогр становления инф дачи сигнала 1 на линию «Отпирание блока».
При помощи команд 3 и 4 пара индексных регистров загружается адресом размещаемых в ОЗУ данных о состоянии переключателей и адресом ввода- вывода,(14), необходимым для выдачи сигнала на линию «Нагрузка». Регистр 13 также используется в качестве индексного для организации пятикратного повторения команд 8 — 19, чтобы считать пять блоков данных о переключателях с восстановлением разрядов состояния.
По команде 5 микропроцессор получает сигнал о том, что в регистр 12 загружен адрес вывода данных. Таким образом, по команде Жтчгс (запись в порт ПЗУ) генерируется импульс «Загрузка» по адресу 14 (14 — содержимое регистра 12), При выполнении команды 7 содержимое регистра 12 увеличивается на 1, так что при следующей команде тч/гсй импульс подается на линию «Восстановление». По командам 8 — 11 информация о состоянии читается из ОЗУ, преобразуется в обратный код н временно запоминается в регистре О. Четыре разряда данных о переключателях читаются по команде 12. Эти данные преобразуются в обратный код и записываются в ОЗУ.
В результате выполнения команд 15 — 17 четыре разряда слова состояния из регистра О пересылаются в сдвиговый регистр, а информация послед- ЯМБ В1.Е Г!М 14 Об Р)М 12 235 БЙС 13 %ни ~НЧС 12 ЗЙС 14 нРМ СМА ХСН 0 кРк СМА %ЕМ 1.Р 0 ЗЯС 12 %ни Комментарий /Загрузить 1 в А; установить разрешение работьа блока /Перейти к В|Е и записать 1 в порт 0 ОЗУ /Загрузить рег. 14, 16 адресом данных о состоянии /Загр, ~14 в рег.
~12 для %йй, 11 в рег. 13 /Адрес,!4 загружен /Сгенерировать импульс загрузки /Увеличить на ~1 содержимое рег. 12 /Подготовить считывание символа из ОЗУ /Считать символ (даииые о состоянии) в А /Обрати. код;индикация логическога нули /Временно запомнить в рег. 0 /Считать данные ю переключателях /Обрати. код; замкнутый переключ.=логический 0 /Записать данные о переключателях в ОЗУ /Выбрать данные о состоянии из рег 0 /Подготовить иосстаиовление индикации состоянии /Восстановить и сдвинуть на 4 разр, даиныеаостояния /Переадресовать обращение к ОЗУ /Добавить 1 в рег.
113; перейти к 5%1. при ~ 0 /Загрузить 15 в аккумулятор /Перейти к ВЕЕ и записать 15 в порт 0 ОЗУ /Адрес ОЗУ 0 /Переслать адрес в ОЗУ /Записать код отци~ракия блока /Возврат в исходную программу аммы считывания данных о переключателях и восормации а состоянии на передней панели. 374 Глава 8 него сдвигается на четыре разряда, чтобы освободить место для следующего слова данных. По командам 18 и 19 определяется адрес в ОЗУ следующего слова состояния и осуществляется проверка на окончание цикла. Далее в ОЗУ вместо данных о состоянии записываются данные о переключателях, а информация о состоянии поступает в сдвиговые регистры, откуда и высвечивается на табло при помощи светоизлучающих диодов.
ЭЛЕКТРОННЫИ ЗАМОК (ПРИМЕР 8.5) В качестве другого ~примера возможного применения микро- ЭВМ рассмотрим электронный замок 18]. Это устройство зуммер- ного типа используется в жилых, помещениях, банках и др. В нормальном состоянии замок закрыт. Для того чтобы его открыть, необходимо нажать на кнопку. В результате инициируется последовательность световых вспышек, которая длится неаколько секунд. Подобная процедура повторяется три раза. При каждом ее повторении необходимо определенное количество раз, соответствующее отпирающей комбинации замка, нажать на кнопку.
На,пример, при комбинации 7 — 3 — 4 при первой последовательности вспышек на кнопку следует нажать семь раз, при второй — три ,раза и затем — четыре раза. Блок-схема рассматриваемого алгоритма представлена на рис. 8.25. Блок-схема соответствующей программы, реализующей данный .алгоритм на микропроцессоре, приведена на рис. 8.26. Для отработки каждой цифры выбран 8гсекундный период (4 с на набор цифры и 4 с на последующую паузу). Программа представляет собой непосредственную комбинацию циклов задержки (подпрограмма 4-секундного таймера) и опера,ций счета. Индикаторная лампочка включается и выключается через определенные промежутки времени. При выключенной лам.почке осуществляется проверка правильности набора очередной .цифры.
Все операции могут ~контролироваться непосредственно микропроцессором. В представленном примере возможно использование практически любого микропроцессора. Для читателя было ~бы весьма по.лезно составить программы ее реализации для некоторых микропроцессоров, рассмотренных в гл. 7, и сравнить программы и необходимые технические средства. ТЕРМИНАЛ С ЭЛТ (ПРИМЕР 8.6) Микро-ЭВМ ~можно использовать для управления терминалом с ЭЛТ [91. Некоторые из первых микропроцессоров н предназначались для терминалов с ЭЛТ.
Такие «интеллектуальные» терми.налы позволяют уменьшить нагрузку в больших вычислительных Методология яроектироваяия 37Ь Рнс. 8.25. Блок-схема алгоритма работы электронного замка центрах и дают возможность оператору автономно редактировать вводимые данные. Структурная схема обычного терминала с ЭЛТ, в котором используется микропроцессор РРЭ-8 фирмы Кос1ттее11, приведена на. рис. 8.27 1101. Для вывода на экран 24 строк символов используется монитор на ЭЛТ. Одна строка может включать до 80 символов. Изображение генерируется на стандартном телевизионнои 376 Глана 8 Подпроааипми иибииииии и счета Рнс.
8.26. Блок-схема программы алектронного замка. экране. Для развертки каждой строки требуется 11-кратное сканирование (рис. 8.28). Периодически осуществляется построчная регенерация изображения. При регенерации используются два буфера строки. В то время как из буфера строки 1 производится регенерация некоторой строки, буфер строки 2 загружается данными из ОЗУ путем ПДП-передачи данных. Буфер строки 1 управляет генератором символов и сдвиговым регистром при генерировании символов на ф ь и ь > о Ф о Сб М И з М о 1Х Ф д О 3 З о Ф О к о Ф й С > Х > О $" о о д а 378 Раааа 8 Пипраепение Раыегниги г Разрертна г -~ г -~ з 7 -~ ьь и -~ и гг ВВВ,Х мне/сирена //1-нрйизяие снпнидобпние) Рис. 8.28. Изобрангение символов. (С разрешения йос)ггяен 1п!егпанопа! Согр.) ПеРезапись 11 Риз Яагрзг и нагим анренр гневами имяапьр знри" Рис.
8.29. Система регенерации ЭЛТ с буфера строки 1. (С разрешения йос)гзген 1п!егпапопа! Согр.) Реринтаа / Гистемньге трннпии Рееене- ртгия Время ризрертии ни/ра /18 Врне Рис. 8.30. Временная диаграмма регенерации ЭЛТ. (С разрешения йос(пяец 1п!егпапопа! Согр.) экране ЭЛТ. Данные, записанные в этом буфере, представляют собой 11-кратную развертку строки символов (рис.