Разработка микропроцессорной системы. Разработка интерфейсных устройств ввода - вывода. Расчёт электрического сопряжения адресных цепей., страница 12

При  отказе  источника  питания  приходит  запрос  IRQ1,  программа  обработки  которого  должна  лишь  записать  в  энергонезависимое  ОЗУ (обычное  ОЗУ,  начиная  с  адреса  0000:0480Н) текущие  значения  всех  основных  регистров  микропроцессора (AX,  BX,  CX,  CS,  DS,  SS,  ES,  BP,  SP,  DI,  SI).

Программа  обработки  прерывания  от  запроса  IRQ2  является  также  программой  ввода  с  клавиатуры.  Этот  модуль  вызывается  при  любом  нажатии  на  клавишу  клавиатуры  пульта  управления.  Сканирование  клавиатуры  производится  программно,  путем  “прогона”  по  всем  строкам  клавиатуры  нулевого  сигнала  и  просмотра  всех  линий - столбцов  на  предмет  обнаружения  0-го  сигнала.  Сразу  же  после  вызова  модуля  обработки  запроса  от  клавиатуры  нужно  сбросить  запрос  прерывания (для  этого  подадим  на  вывод  2  порта  С  параллельного  интерфейса  по  адресу  02Н  сначала  “0”,  а  затем  сразу  же  “1”).  Скэн-код  нажатой  клавиши  можно  можно  определить  программно  путём  вычисления  по  номерам  строки  и   столбца (получим  5-разрядный  код).  Клавиши  0 - F  имеют  коды  от  00Н  до  0FН  соответственно,  клавиша  “Уставка” - код  10Н,  “Вывод” - 11Н,  “Останов” - 12Н.  Клавиши  с  шестнадцатиричными  цифрами  работают  лишь  после  нажатия  на  клавишу  “Уставка” - при  её  нажатии  по  адресу  0000:0300Н  в  ОЗУ  устанавливается  код  01Н (то  есть  ожидается  ввод  первой  из  двух  клавиш  уставки).  Для  уставки  вводится  две  шестнадцатиричные  цифры,  которые  накапливаются  в  промежуточной  ячейке  по  адресу  0000:0301Н.  После  ввода  второй  цифры  уставки  ячейка  0000:0300Н  обнуляется,  а  промежуточный  код  уставки  из  ячейки  0000:0301Н  переписывается  в  0000:0400Н.  Воспользоваться  клавишами  “Вывод”  или  “Останов”  можно  лишь  при  нулевом  коде  по  адресу  0300Н.

При  нажатии  клавиши  “Вывод”  производится  обращение  к  модулю  вывода  на  индикаторы,  этот  модуль  в  данном  варианте  задания  не  рассматривается.

После  нажатия  клавиши  “Останов”  система  переводится  в  состояние  останова  по  команде  HLT,  которая  останавливает  систему  только  до  первого  прерывания (любого).

Заключение.

Разработанная  МПС  может  быть  применена  лишь  для  достаточно  узкого  круга  задач.  Она  в  состоянии  управлять  лишь  объектами,  для  которых  число  входных  и  выходных  сигналов (аналоговых  и  дискретных) не  превышает  предела,  обеспечиваемого  МПС (вход  объекта:  до  трёх  дискретных  и  один  аналоговый  сигналы;  выход - до  четырёх  дискретных  и  до  трёх  аналоговых  сигналов).  Форма  и  длительности  этих  сигналов  принципиального  значения  не  имеют,  так  как  могут  быть  изменены  посредством  корректировки  программы.  Количество  входных  и  выходных  каналов,  впрочем,  может  быть  расширено.  Этому  способствует,  в  частности,  наличие  свободных  адресов,  незанятые  разряды  параллельного  порта,  зарезервированное  пространство  ОЗУ  и  ПЗУ,  которое  может  понадобиться  при  добавлении  каналов.  Вообще  данная  МПС  отличается  некоторой  аппаратной  избыточностью,  что  необходимо  для  возможного  расширения  МПС.  Но  избыточность  стала,  отчасти,  причиной  несколько  завышенных  аппаратных  затрат  на  МПС,  хотя  и  ограничений  на  эти  затраты  не  ставилось.

Разработанные  же  программные  модули  недостаточны  для  обеспечения  работы  МПС.  Система  будет  функционировать  лишь  при  наличии  всех  частей  программы,  а  не  только  тех,  которые  необходимо  разработать  по  техническому  заданию.

В  целом  же  МПС  полностью  отвечает  техническому  заданию  и  не  требует  каких-либо  доработок.

Литература.

1.  “Микропроцессорный  комплект  К1810:  структураБ  программирование,  применение.  Справочная  книга” / Ю.М. Казаринов,  В.Н. Номоконов,  Г.С. Подклётнов,  Ф.В.  Филиппов;  под  ред.  Ю.М. Казаринова. -М.:  Высшая  школа,  1990.  269 с.