intel 8255 (Курсовой проект неизвестного варианта), страница 2
Описание файла
Файл "intel 8255" внутри архива находится в следующих папках: Курсовой проект неизвестного варианта, unsorted. Документ из архива "Курсовой проект неизвестного варианта", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "intel 8255"
Текст 2 страницы из документа "intel 8255"
Разрешение прерывания для канала A. Управляется установкой/сбросом бита 4 канала С.
INTE B
Разрешение прерывания для канала B. Управляется установкой/сбросом бита 2 канала С.
Взаимодействие описанных сигналов показано на рис. 2.
|
|
|
| Работа ППА в режиме 1 (тактируемый ввод) |
|
Описание сигналов для управления операцией вывода
/OBF (OUTPUT BUFFER FULL)
Сигнал высокого уровня на этом выходе показывает устройству вывода, что микропроцессор записал данные в канал. Сигнал устанавливается в лог. 1 по переднему фронту на входе /WR микросхемы и сбрасывается по заднему фронту сигнала /ACK.
/ACK (ACKNOWLEDGEMENT)
Низкий уровень на этом выходе показывает микропроцессору, что периферийное устройство приняло данные.
INTR (INTERRUPT)
Высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора в момент принятия данных периферийным устройством. Сигнал INTR устанавливается в лог. 1 по переднему фронту сигнала /ACK (если одновременно сигналы /OBF и INTE установлены в лог. 1) и сбрасывается по заднему фронту сигнала на входе /WR микросхемы.
INTE A
Разрешение прерывания для канала A. Управляется установкой/сбросом бита 6 канала С.
INTE B
Разрешение прерывания для канала B. Управляется установкой/сбросом бита 2 канала С.
Взаимодействие описанных сигналов показано на рис. 3.
|
|
|
| Работа ППА в режиме 1 (тактируемый вывод) |
|
Режим 2 (двунаправленный тактируемый ввод/вывод)
В этом режиме возможен обмен данными по 8-битовой двунаправленной шине данных. Управление обменом данными, а также направление передачи задается с помощью управляющих сигналов аналогичным режиму 1 способом. Возможно также генерирование сигналов прерываний и запрета разрешения.
Основные особенности работы в данном режиме:
-
возможно использование только канала A;
-
управление обменом обеспечивается 5 битами канала C;
-
входы и выходы обладают буферной памятью.
Описание управляющих сигналов для двунаправленного ввода/вывода
INTR (INTERRUPT)
Высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора.
Режим вывода
/OBF (OUTPUT BUFFER FULL)
Сигнал высокого уровня на этом выходе показывает устройству вывода, что микропроцессор записал данные в канал A.
/ACK (ACKNOWLEDGEMENT)
Низкий уровень на этом выходе выводит выходной буфер канала A из третьего состояния для вывода данных в периферийное устройство. В остальных случаях выходной буфер остается в третьем состоянии.
INTE 1 (INTE плюс /OBF)
Разрешение прерывания для канала A при работе на вывод. Управляется установкой/сбросом бита 6 канала С.
Режим ввода
/STB (STROBE)
Низкий уровень на этом входе загружает данные из периферийного устройства в буферную память канала A.
/IBF (INPUT BUFFER FULL)
Высокий уровень на этом выходе показывает, что данные загружены в буферную память.
INTE 2 (INTE плюс /IBF)
Разрешение прерывания для канала A при работе на вывод. Управляется установкой/сбросом бита 4 канала С.
Работа ППА в режиме 2 показана на рис. 4.
|
|
|
| Работа ППА в режиме 2 |
|
Таблица 5. Управляющие сигналы для различных режимов работы
C7 | C6 | C5 | C4 | C3 | C2 | C1 | C0 |
|
Канал A | Канал B | Режим 1 | ||||||
I/O | I/O | /IBF | /STB | INTR | /STB | /IBF | INTR |
|
Канал A | Канал B | Режим 1 | ||||||
/OBF | /ACK | I/O | I/O | INTR | /ACK | /OBF | INTR |
|
Канал A |
| Режим 2 | ||||||
/OBF | /ACK | /IBF | /STB | INTR | I/O | I/O | I/O |
|
Примечание: I/O – обычный ввод/вывод.
Пример программирования
Сразу замечу – использование режимов 1 и 2 подразумевает относительно "разумную" реакцию внешних устройств на сигналы ППА, что сопряжено с усложненной схемотехникой последних. В большинстве же случаев можно обойтись режимом 0 простого ввода/вывода.
В составе одноплатного компьютера "Радио-86РК", описанного в журнале "Радио", используются два ППА. Первый обслуживает клавиатуры, индикацию раскладок клавиатуры и ввод/вывод данных с магнитофона. Второй используется для сопряжения с различными устройствами и его программирование должен осуществлять сам пользователь или программист-разработчик драйвера под конкретное внешнее устройство.
Рассмотрим программирование первого ППА.
Основная матрица клавиатуры размером 8x8 подключена к каналам A и B, причем канал A должен работать на вывод, а канал B на ввод информации. К выводам C5, C6, C7 канала C подключены дополнительные клавиши управления регистрами. Вывод C4 используется для ввода данных с магнитной ленты. Следовательно, старшая тетрада канала C должна быть запрограммирована на ввод. В младшей тетраде канала C используются только два бита: C0 – вывод данных на магнитную ленту и C3 – индикация раскладки клавиатуры "Рус/Лат". Следовательно, младшая тетрада канала C должна быть запрограммирована на вывод.
Программирование производится засылкой одного байта в управляющий регистр.
Таблица 6. Программирование ППА для обслуживания клавиатуры
Адрес | Данные | ||||||||
A1 | A0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
Регистр управления | Режим программирования | Канал A режим 0 | Канал A вывод | Старшая тетрада канала C ввод | Канал B режим 0 | Канал B ввод | Младшая тетрада канала C вывод |
Как видно из этого примера, все каналы ППА запрограммированы в режим 0 простого ввода-вывода, т. е. разработчики упомянутого компьютера решили пойти по пути упрощения схемотехники и переложить большую часть обработки клавиатуры и периферийных устройств на процессор.
С помощью второго ППА я в свое время эмулировал LPT-порт и подключал к нему матричный принтер. Обходился я опять же программированием всех каналов только в режим 0 и всю обработку обмена с принтером писал на ассемблере.
В заключение отмечу, что описанная микросхема оказалась очень удачной для создания компактных устройств ввода/вывода. В своей практике я ее не раз использовал для увеличения количества внешних линий однокристальных микро-ЭВМ или построения плат ввода/вывода для шин стандарта ISA IBM-совместимых компьютеров.
Литература:
-
Kramer M., Wurtenberger S. Datenbuch Mikrorechner Schalkreise. 1. Auflage. Berlin: Militarverlag der DDR (VEB), 1989.
-
Микропроцессоры. Справочное пособие для разработчиков судовой РЭА. Под ред. Ю. А. Овечкина. Л., "Судостроение", 1988.
-
Зеленко Г., Панов В., Попов С. Модуль программатора ППЗУ. Радио, 1983, № 6, с. 42–46.
Статья опубликована 23.01.2003 г.