<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=Intel_8255%2F%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F</id>
	<title>Intel 8255/Документация - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=Intel_8255%2F%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=Intel_8255/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F&amp;action=history"/>
	<updated>2026-05-17T02:38:29Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=Intel_8255/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=655&amp;oldid=prev</id>
		<title>Panther: http://www.computer-museum.ru/technlgy/i8255.htm</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=Intel_8255/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=655&amp;oldid=prev"/>
		<updated>2008-01-29T09:55:39Z</updated>

		<summary type="html">&lt;p&gt;http://www.computer-museum.ru/technlgy/i8255.htm&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИИ|Автор=Вадим Кудрявцев|Источник=[http://www.computer-museum.ru/technlgy/i8255.htm Виртуальный компьютерный музей. Проект Эдуарда Пройдакова.]}}&lt;br /&gt;
&amp;lt;small&amp;gt;{{TOCright}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Любое устройство должно быть тем или иным образом связано с внешним миром. В микропроцессорной технике эту роль выполняют периферийные адаптеры. С их помощью центральный процессор получает данные, требующие той или иной обработки, управляет различными устройствами.&lt;br /&gt;
&lt;br /&gt;
Программируемый периферийный адаптер (ППА) КР580ВВ55 представляет собой три канала ввода/вывода A, B и C по 8 бит каждый. Существует три режима работы микросхемы. В режиме 0 три упомянутых канала могут быть независимо друг от друга запрограммированы на ввод или вывод информации. Режим 1 позволяет передавать информацию по каналам A и B, используя отдельные биты канала C для управления обменом данными. В режиме 2 канал A приобретает свойство двунаправленной шины, управляемой опять же отдельными битами канала C. Кроме того, возможны установка и сброс отдельных битов канала C. Микросхема выпускается в 40-выводном DIP-корпусе.&lt;br /&gt;
&lt;br /&gt;
Основные особенности микросхемы:&lt;br /&gt;
&lt;br /&gt;
* 3 канала ввода/вывода, 8 бит каждый;&lt;br /&gt;
* 3 режима работы (1 — статический ввод/вывод, 2 — тактируемый ввод/вывод, 3 — двунаправленный ввод/вывод);&lt;br /&gt;
* раздельное программирование каждого канала на ввод или вывод.&lt;br /&gt;
&lt;br /&gt;
== Описание структуры и функционирование ==&lt;br /&gt;
Структурная схема программируемого периферийного адаптера представлена на рис. 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Изображение:i8255a.gif|frame|center|Структурная схема программируемого периферийного адаптера КР580ВВ55]]&lt;br /&gt;
&lt;br /&gt;
ППА структурно разбит на две группы (A и B). Группа A включает в себя канал A и старшую тетраду канала C. Группа B состоит из канала B и младшей тетрады канала C. Доступ к каналам ввода/вывода и регистру управления осуществляется с помощью логики чтения-записи в соответствии с табл. 1.&lt;br /&gt;
&lt;br /&gt;
; Таблица 1. Доступ к каналам ввода/вывода и регистру управляющего слова&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;A1&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;A0&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;/RD&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;/WR&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;/CS&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&amp;amp;nbsp;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных &amp;amp;lt;- канал A&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных &amp;amp;lt;- канал B&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных &amp;amp;lt;- канал C&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Данные не определены&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных -&amp;amp;gt; канал A&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных -&amp;amp;gt; канал B&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных -&amp;amp;gt; канал C&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных -&amp;amp;gt; регистр управления&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Х&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Х&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Х&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Шина данных в высокоомном состоянии&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
Назначение этих и остальных выводов микросхемы приведено в табл. 2.&lt;br /&gt;
&lt;br /&gt;
; Таблица 2. Назначение выводов&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D0…D7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Двунаправленная шина данных. Предназначена для передачи и приема данных процессором, а также передачи управляющих команд и слова состояния&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/CS&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Chip Select. Выбор микросхемы. Низкий уровень инициирует обмен между процессором и ППА&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/RD&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Read. Чтение. Низкий уровень на этом входе позволяет ППА передать данные или слово состояния процессору&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/WR&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Write. Запись. Низкий уровень на этом входе позволяет ППА принять данные или управляющую команду&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;RESET&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Reset. Сброс. Высокий уровень на этом входе сбрасывает все внутренние регистры, включая регистры управления, переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода (только при /RD = 0 и /WR = 0)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;A0, A1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Адресные входы. Выбор канала. Позволяют выбрать один из каналов (A, B, C) или регистры управляющего слова и состояния (в зависимости от сигналов на входах /RD и /WR, см. табл. 2)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;PA0…PA7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал A&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;PB0…PB7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал B&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;PC0…PC7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал C&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Первоначальное включение или подача сигнала высокого уровня на вход сброс RESET микросхемы переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода. Сброс выполняется только при условии /RD = 0 и /WR = 0.&lt;br /&gt;
&lt;br /&gt;
Режим работы и направление передачи для каждого канала задается с помощью записи управляющего слова в регистр управления в соответствии с табл. 3 или 4. Отметим возможность комбинирования режимов работы для разных каналов. К примеру, канал B может быть запрограммирован на вывод в режим 0 для управления различными выключателями и реле, в то время как канал A может быть запрограммирован в режим 1 для ввода с клавиатуры или перфоленты.&lt;br /&gt;
&lt;br /&gt;
; Таблица 3. Формат управляющего слова для выбора режима работы&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D7&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D6&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D5&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D4&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D3&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D2&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D1&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;D0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Флаг управления&amp;lt;br&amp;gt;1 = выбор режима&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;Группа A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Группа В&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;Выбор режима:&amp;lt;br&amp;gt;&lt;br /&gt;
00 = режим 0&amp;lt;br /&amp;gt;&lt;br /&gt;
01 = режим 1&amp;lt;br /&amp;gt;&lt;br /&gt;
1х = режим 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал A:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = ввод&amp;lt;br /&amp;gt;&lt;br /&gt;
0 = вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Старшая тетрада канала C:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = ввод&amp;lt;br /&amp;gt;&lt;br /&gt;
0 = вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Выбор режима:&amp;lt;br&amp;gt;&lt;br /&gt;
0 = режим 0&amp;lt;br /&amp;gt;&lt;br /&gt;
1 = режим 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал B:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = ввод&amp;lt;br /&amp;gt;&lt;br /&gt;
0 = вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Младшая тетрада канала C:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = ввод&amp;lt;br /&amp;gt;&lt;br /&gt;
0 = вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
; Таблица 4. Формат управляющего слова для двунаправленного режима.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D6&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D5&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Флаг управления&amp;lt;br&amp;gt;&lt;br /&gt;
1 = выбор режима&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Выбор режима:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = режим 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Произвольное состояние&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Выбор режима для канала B:&amp;lt;br&amp;gt;&lt;br /&gt;
0 = режим 0&amp;lt;br /&amp;gt;&lt;br /&gt;
1 = режим 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал B:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = ввод&amp;lt;br /&amp;gt;&lt;br /&gt;
0 = вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Биты 0..2 канала C:&amp;lt;br&amp;gt;&lt;br /&gt;
1 = ввод&amp;lt;br /&amp;gt;&lt;br /&gt;
0 = вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый из восьми битов канала C может быть независимо от других установлен или сброшен с помощью специальной команды вывода, посылаемой в регистр управления. Это свойство канала C облегчает программирование в случае, когда биты канала C используется для управления передачей данных по каналам A или B. Формат команды приведен в табл. 5.&lt;br /&gt;
&lt;br /&gt;
Работа микросхемы в режиме 1 или 2 характеризуется наличием управляющих сигналов, которые могут вызывать прерывание работы процессора КР580ВМ80.&lt;br /&gt;
&lt;br /&gt;
Команда установки или сброса соответствующего бита канала C позволяет запретить или разрешить выдачу требуемого прерывания.&lt;br /&gt;
&lt;br /&gt;
; Таблица 5. Оперирование битами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D6&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D5&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Флаг управления&amp;lt;br&amp;gt;&lt;br /&gt;
0 = оперирование битами&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Произвольное состояние&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Выбор бита:&amp;lt;br&amp;gt;&lt;br /&gt;
0 0 0 = 0 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
0 0 1 = 1 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
0 1 0 = 2 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
0 1 1 = 3 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
1 0 0 = 4 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
1 0 1 = 5 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
1 1 0 = 6 бит&amp;lt;br /&amp;gt;&lt;br /&gt;
1 1 1 = 7 бит&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1 = установить бит&amp;lt;br&amp;gt;&lt;br /&gt;
0 = снять бит&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Описание режимов работы ==&lt;br /&gt;
=== Режим 0 (простой ввод/вывод) ===&lt;br /&gt;
Работа в этом режиме позволяет организовать простой ввод или вывод для каждого из трех каналов. Данные просто записываются или считываются из выбранного канала. Таким образом, основные особенности функционирования микросхемы в режиме 0 следующие:&lt;br /&gt;
&lt;br /&gt;
* два 8-битовых канала (каналы A и B) и два 4-битовых канала (старшая и младшая половинки канала C);&lt;br /&gt;
* каждый канал может быть независимо от других запрограммирован на ввод или вывод; таким образом, всего может быть 16 различных комбинаций ввода/вывода;&lt;br /&gt;
* выходы имеют память, входы работают без буферной памяти.&lt;br /&gt;
&lt;br /&gt;
=== Режим 1 (тактируемый ввод/вывод) ===&lt;br /&gt;
Этот режим служит для однонаправленного обмена данными по выбранному каналу с периферийным устройством. Для управления передачей или приемом по каналу A используется младшая тетрада канала C, канал B управляется старшей тетрадой канала C.&lt;br /&gt;
&lt;br /&gt;
Основные особенности работы в данном режиме:&lt;br /&gt;
&lt;br /&gt;
* два канала (каналы A и B);&lt;br /&gt;
* каждый канал может быть запрограммирован на вход или выход;&lt;br /&gt;
* одна тетрада канала C используется для управления одного канала передачи данных.&lt;br /&gt;
&lt;br /&gt;
; Описание сигналов для управления операцией ввода&lt;br /&gt;
&lt;br /&gt;
* /STB (STROBE)&lt;br /&gt;
&lt;br /&gt;
По низкому уровню на этом входе входные данные записываются в буферную память.&lt;br /&gt;
&lt;br /&gt;
* /IBF (INPUT BUFFER FULL)&lt;br /&gt;
&lt;br /&gt;
Высокий уровень на этом выходе показывает, что данные загружены в буферную память. Задний фронт сигнала /STB устанавливает этот выход в уровень лог. 1, передний фронт сигнала на входе /RD сбрасывает его в лог. 0.&lt;br /&gt;
&lt;br /&gt;
* INTR (INTERRUPT)&lt;br /&gt;
&lt;br /&gt;
Высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора, чтобы обслужить устройство ввода. Сигнал INTR устанавливается в лог. 1 по переднему фронту сигнала /STB (если установлен сигнал INTE разрешения прерывания) и сбрасывается по заднему фронту сигнала на входе /RD микросхемы. Этот процесс обеспечивает ввод данных в микропроцессор со стороны устройства ввода простым стробированием своих данных.&lt;br /&gt;
&lt;br /&gt;
* INTE A&lt;br /&gt;
&lt;br /&gt;
Разрешение прерывания для канала A. Управляется установкой/сбросом бита 4 канала С.&lt;br /&gt;
&lt;br /&gt;
* INTE B&lt;br /&gt;
&lt;br /&gt;
Разрешение прерывания для канала B. Управляется установкой/сбросом бита 2 канала С.&lt;br /&gt;
&lt;br /&gt;
Взаимодействие описанных сигналов показано на рис. 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Изображение:i8255b.gif|frame|center| Работа ППА в режиме 1 (тактируемый ввод)]]&lt;br /&gt;
&lt;br /&gt;
; Описание сигналов для управления операцией вывода&lt;br /&gt;
&lt;br /&gt;
* /OBF (OUTPUT BUFFER FULL)&lt;br /&gt;
&lt;br /&gt;
Сигнал высокого уровня на этом выходе показывает устройству вывода, что микропроцессор записал данные в канал. Сигнал устанавливается в лог. 1 по переднему фронту на входе /WR микросхемы и сбрасывается по заднему фронту сигнала /ACK.&lt;br /&gt;
&lt;br /&gt;
* /ACK (ACKNOWLEDGEMENT)&lt;br /&gt;
&lt;br /&gt;
Низкий уровень на этом выходе показывает микропроцессору, что периферийное устройство приняло данные.&lt;br /&gt;
&lt;br /&gt;
* INTR (INTERRUPT)&lt;br /&gt;
&lt;br /&gt;
Высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора в момент принятия данных периферийным устройством. Сигнал INTR устанавливается в лог. 1 по переднему фронту сигнала /ACK (если одновременно сигналы /OBF и INTE установлены в лог. 1) и сбрасывается по заднему фронту сигнала на входе /WR микросхемы.&lt;br /&gt;
&lt;br /&gt;
* INTE A&lt;br /&gt;
&lt;br /&gt;
Разрешение прерывания для канала A. Управляется установкой/сбросом бита 6 канала С.&lt;br /&gt;
&lt;br /&gt;
* INTE B&lt;br /&gt;
&lt;br /&gt;
Разрешение прерывания для канала B. Управляется установкой/сбросом бита 2 канала С.&lt;br /&gt;
&lt;br /&gt;
Взаимодействие описанных сигналов показано на рис. 3.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:i8255c.gif|frame|center| Работа ППА в режиме 1 (тактируемый вывод)]]&lt;br /&gt;
&lt;br /&gt;
=== Режим 2 (двунаправленный тактируемый ввод/вывод) ===&lt;br /&gt;
В этом режиме возможен обмен данными по 8-битовой двунаправленной шине данных. Управление обменом данными, а также направление передачи задается с помощью управляющих сигналов аналогичным режиму 1 способом. Возможно также генерирование сигналов прерываний и запрета разрешения.&lt;br /&gt;
&lt;br /&gt;
Основные особенности работы в данном режиме:&lt;br /&gt;
&lt;br /&gt;
* возможно использование только канала A;&lt;br /&gt;
* управление обменом обеспечивается 5 битами канала C;&lt;br /&gt;
* входы и выходы обладают буферной памятью.&lt;br /&gt;
&lt;br /&gt;
; Описание управляющих сигналов для двунаправленного ввода/вывода&lt;br /&gt;
&lt;br /&gt;
* INTR (INTERRUPT)&lt;br /&gt;
&lt;br /&gt;
Высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора.&lt;br /&gt;
&lt;br /&gt;
; Режим вывода&lt;br /&gt;
&lt;br /&gt;
* /OBF (OUTPUT BUFFER FULL)&lt;br /&gt;
&lt;br /&gt;
Сигнал высокого уровня на этом выходе показывает устройству вывода, что микропроцессор записал данные в канал A.&lt;br /&gt;
&lt;br /&gt;
* /ACK (ACKNOWLEDGEMENT)&lt;br /&gt;
&lt;br /&gt;
Низкий уровень на этом выходе выводит выходной буфер канала A из третьего состояния для вывода данных в периферийное устройство. В остальных случаях выходной буфер остается в третьем состоянии.&lt;br /&gt;
&lt;br /&gt;
* INTE 1 (INTE плюс /OBF)&lt;br /&gt;
&lt;br /&gt;
Разрешение прерывания для канала A при работе на вывод. Управляется установкой/сбросом бита 6 канала С.&lt;br /&gt;
&lt;br /&gt;
; Режим ввода&lt;br /&gt;
&lt;br /&gt;
* /STB (STROBE)&lt;br /&gt;
&lt;br /&gt;
Низкий уровень на этом входе загружает данные из периферийного устройства в буферную память канала A.&lt;br /&gt;
&lt;br /&gt;
* /IBF (INPUT BUFFER FULL)&lt;br /&gt;
&lt;br /&gt;
Высокий уровень на этом выходе показывает, что данные загружены в буферную память.&lt;br /&gt;
&lt;br /&gt;
* INTE 2 (INTE плюс /IBF)&lt;br /&gt;
&lt;br /&gt;
Разрешение прерывания для канала A при работе на вывод. Управляется установкой/сбросом бита 4 канала С.&lt;br /&gt;
&lt;br /&gt;
Работа ППА в режиме 2 показана на рис. 4.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:i8255d.gif|frame|center| Работа ППА в режиме 2]]&lt;br /&gt;
&lt;br /&gt;
; Таблица 5. Управляющие сигналы для различных режимов работы&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C7&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C6&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C5&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C4&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C3&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C2&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C1&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;C0&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&amp;amp;nbsp;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Канал A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Канал B&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Режим 1&amp;lt;br&amp;gt;Ввод&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/IBF&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/STB&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;INTR&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/STB&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/IBF&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;INTR&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Канал A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Канал B&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Режим 1&amp;lt;br&amp;gt;Вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/OBF&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/ACK&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;INTR&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/ACK&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/OBF&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;INTR&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Канал A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Режим 2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/OBF&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/ACK&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/IBF&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;/STB&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;INTR&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;I/O&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;StoryRemark&amp;quot;&amp;gt;Примечание: I/O — обычный ввод/вывод.&lt;br /&gt;
&lt;br /&gt;
== Пример программирования ==&lt;br /&gt;
Сразу замечу — использование режимов 1 и 2 подразумевает относительно «разумную» реакцию внешних устройств на сигналы ППА, что сопряжено с усложненной схемотехникой последних. В большинстве же случаев можно обойтись режимом 0 простого ввода/вывода.&lt;br /&gt;
&lt;br /&gt;
В составе одноплатного компьютера «Радио-86РК», описанного в журнале «Радио», используются два ППА. Первый обслуживает клавиатуры, индикацию раскладок клавиатуры и ввод/вывод данных с магнитофона. Второй используется для сопряжения с различными устройствами и его программирование должен осуществлять сам пользователь или программист-разработчик драйвера под конкретное внешнее устройство.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим программирование первого ППА.&lt;br /&gt;
&lt;br /&gt;
Основная матрица клавиатуры размером 8x8 подключена к каналам A и B, причем канал A должен работать на вывод, а канал B на ввод информации. К выводам C5, C6, C7 канала C подключены дополнительные клавиши управления регистрами. Вывод C4 используется для ввода данных с магнитной ленты. Следовательно, старшая тетрада канала C должна быть запрограммирована на ввод. В младшей тетраде канала C используются только два бита: C0 — вывод данных на магнитную ленту и C3 — индикация раскладки клавиатуры «Рус/Лат». Следовательно, младшая тетрада канала C должна быть запрограммирована на вывод.&lt;br /&gt;
&lt;br /&gt;
Программирование производится засылкой одного байта в управляющий регистр.&lt;br /&gt;
&lt;br /&gt;
; Таблица 6. Программирование ППА для обслуживания клавиатуры&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=border&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;Адрес&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th colspan=&amp;quot;8&amp;quot;&amp;gt;Данные&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;A1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;A0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D6&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D5&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;D0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;Регистр управления&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Режим программирования&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;Канал A режим 0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал A вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Старшая тетрада канала C ввод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал B режим 0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Канал B ввод&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Младшая тетрада канала C вывод&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как видно из этого примера, все каналы ППА запрограммированы в режим 0 простого ввода-вывода, то есть разработчики упомянутого компьютера решили пойти по пути упрощения схемотехники и переложить большую часть обработки клавиатуры и периферийных устройств на процессор.&lt;br /&gt;
&lt;br /&gt;
С помощью второго ППА я в свое время эмулировал LPT-порт и подключал к нему матричный принтер. Обходился я опять же программированием всех каналов только в режим 0 и всю обработку обмена с принтером писал на ассемблере.&lt;br /&gt;
&lt;br /&gt;
В заключение отмечу, что описанная микросхема оказалась очень удачной для создания компактных устройств ввода/вывода. В своей практике я ее не раз использовал для увеличения количества внешних линий однокристальных микро-ЭВМ или построения плат ввода/вывода для шин стандарта ISA IBM-совместимых компьютеров.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Kramer M., Wurtenberger S.Datenbuch Mikrorechner Schalkreise.&amp;lt;/span&amp;gt; 1. Auflage. Berlin: Militarverlag der DDR (VEB), 1989.&lt;br /&gt;
# Микропроцессоры. Справочное пособие для разработчиков судовой РЭА. Под ред. Ю. А. Овечкина. Л., «Судостроение», 1988.&lt;br /&gt;
# Зеленко Г., Панов В., Попов С. Модуль программатора ППЗУ.&amp;lt;/span&amp;gt; Радио, 1983, № 6, с. 42-46.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Контроллеры ввода-вывода]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>