Главная Новости

Программируемый параллельный периферийный адаптер


Опубликовано: 01.09.2018

видео Программируемый параллельный периферийный адаптер

ЭЛЕКТРОНИКА МК

ПРОГРАММИРУЕМЫЙ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС КР580ВВ55 предназначен для ввода-вывода параллельной информации в 8-битном формате. Он позволяет реализовать большинство известных протоколов обмена по параллельным каналам. БИС программируемого параллельного интерфейса может использоваться для соединения МП со стандартным периферийным оборудованием (дисплеем, телетайпом, накопителем и т.п.)


ME-SERIAL LCD ADAPTER BOARD

В состав БИС входят:

Двунаправленный 8-разрядный буфер данных, соединяющий линии данных БИС с системной шиной данных; Блок управления чтением/ записью, обеспечивающий управление внешней и внутренней передачей данных и управляющих слов; Три 8-разрядных порта ввода/ вывода (A, B, C) для обмена информацией, причем порт С разделен на 2 четырехразрядных: С’ (PC7 – PC4) и C” (PC3 – PC0). Порты А С’ объединены в группу А, порты В и С” — в группу В.

Адресные разряды А1, А0 позволяют выбрать один из портов A, B, C или регистр управляющего слова RCW. В таблице приведены адреса портов и регистра RCW:

порт a7 a6 a5 a4 a3 a2 a1 a0 адрес
a 0 0 0 0 1 0 0 0 08
b 0 0 0 0 1 0 1 0 0a
c 0 0 0 0 1 1 0 0 0c
rcw 0 0 0 0 1 1 1 0 0e

Программирование БИС заключается в загрузке управляющего слова режима при А1=1, А0=1. Формат управляющего слова режима приведен на рисунке 1. управляющее слово определяет один из трех режимов портов параллельного интерфейса: режим «0» — основной режим ввода/ вывода; режим «1» — режим стробированного ввода/ вывода; режим «2» — режим двунаправленной передачи данных. На рис. 1 приведен формат управляющего слова режима:

В этом формате:

Биты М1, М0 задают режим группы А. При М1М0 = 00 задается режим 0, при 01 – режим 1, при 10 и 11 – режим 2. Бит IOA задает режим ввода или вывода порта А. При IOA =1 осуществляется ввод информации, при значении ноль – вывод. Бит IOC задает режим ввода или вывода порта С’ ( 1 – ввод, 0 – вывод) Бит М задает режим группы В. При М=0 – режим 0, при М=1 – режим 1 Бит IOB задает режим ввода или вывода порта В ( 1 – ввод информации, 0 – вывод) бит IOC” задает режим ввода или вывода порта С” ( 1 – ввод, 0 – вывод)

Управляющее слово может устанавливать разные режимы работы для каждого из портов. Порт А может работать в любом из 3 режимов, порт В – в режимах 0 и 1. Порт С можно использовать для передачи данных только в режиме 0, в других режимах его применяют для передачи управляющих сигналов, которые сопровождают процесс обмена по портам А и В.

Отдельные разряды порта С можно устанавливать или сбрасывать программно с помощью управляющего слова установки/ сброса, формат которого показан на рисунке:

Биты N2, N1, N0 задают номер разряда, который надо установить или сбросить. Значения этих битов =000 – выбирает разряд РС0, 001 – РС1, 010 – РС2, 011 – РС3, 100 – РС4, 101 – РС5, 110 – РС6, 111 – РС7.

Бит S/ R задает режим установки или сброса разряда порта С, который выбран значениями N2, N1, N0. При S/ R = 1 происходит установка разряда, при 0 – сброс.

Рассмотрим режимы работы портов программируемого параллельного интерфейса.

Режим 0
применяется при синхронном обмене или при программной организации асинхронного обмена. В этом режиме БИС представляет собой устройство, которое состоит из четырех портов (два 8-разрядных А, В и два 4-разрядных C’, C”), которые могут независимо настраиваться на ввод или вывод информации. Вывод информации осуществляется по команде OUT с фиксацией выведенной информации в регистрах портов, а ввод – по команде IN без запоминания информации.

Режим 1
обеспечивает однонаправленный обмен информацией МП с УВВ по стробу готовности. Информация передается по портам А и В, а линии порта С управляют передачей. Работу порта в режиме 1 сопровождают три управляющих сигнала. Если один из портов запрограммирован на режим 1, то оставшиеся 13 линий портов можно использовать в режиме 0. если оба порта запрограммированы на режим 1, то оставшиеся 2 линии порта С могут быть запрограммированы на ввод или вывод.

Режим 2 обеспечивает двунаправленную передачу информации из порта А во внешнее устройство и наоборот. Процесс обмена сопровождают 5 управляющих сигналов, которые передаются по линиям РС7 – РС3. 11 интерфейсных линий, которые остались, могут быть запрограммированы на режим 0 или режим 1.

Назначение разрядов порта С при вводе данных из портов А и В в режиме 1:

Назначение разрядов порта С при выводе данных на порты А и В в режиме 1:

OBF ( Output Buffer Full) – выходной сигнал, который сообщает про заполненность выходного буфера порта данными.

Назначение разрядов порта С в режиме 2:

Вывод INTR A используют как запрос прерывания, как при вводе, так и при выводе информации.

Пример. Написать программу установки порта А в режим ввода 2, а потом осуществить ввод (вывод) информации через порт А в этом режиме.

Управляющее слово режима в этом случае будет равняться С0:

Программа двунаправленного ввода/вывода по стробу готовности должна сначала обнаружить готовность порта к вводу или выводу информации по единичному состоянию сигнала INTR A (линия ЗС3), а потом установить, какие именно данные готовы – для ввода (единичное состояние линии РС4) или вывода (единичное состояние линии РС6). После этого можно осуществлять обмен данными.

Программа имеет вид:

MOV A, C0H ; формирование управляющего слова режима в A OUT OEH, A ; запись в регистр RCW M1: IN A, 0CH ; содержимое порта С переместить в A MOV B, A ; сохранение содержимого A в регистре B AND A, 00001000B ; маскирование всех разрядов, кроме PC3 (INTR A) JZ M1 ; если данные не готовы, то на М1 MOV A, B ; переместить в A содержимое регистра B AND A, 00010000B ; маскирование всех разрядов, кроме РС4 (INTR A) JZ M2 ; если данные готовы не для ввода, то переход на М2 IN A, 08H ; иначе – ввод информации из порта А JMP M3 M2: OUT 08H, A ; вывод информации на порт А M3: ; продолжение программы
rss