Во всех тех режимах порт С отражает сигналы на линиях РС7-РСО и его можно считать командой IN.
9 2.2 Пример использования
На рис. 9.23 показано возможное подключение микросхемы 8255А к аналого-цифровой и цифро-аналоговой подсистемам. Так во время аналого-цифрового преобразования аналоговое напряжение должно оставаться неизменным, необходима схема выборки и сохранения. Группа А работает на ввод в режиме 1. Преобразование инициируется сигналом на выходе РС7, это стимулирует преобразователь выдать сигнал занятости. Линия занятости подключена на. вход управления выборкой и сохранением (S/H) и на вход одновибратора, запускаемого спадающим фронтом. Пока сигнал занятости имеет высокий уровень, схема выборки и сохранения поддерживает постоянный выход, а когда в конце преобразования сигнал занятости снимается, запускается одновибратор. Его выход инвертируется и подается на вход SТВA (РС4) микросхемы 8255А. Он заставляет цифровой отсчет стробироваться в порт А. В цифро-аналоговой части подсистемы порт В работает как выходной в режиме 0; он подключен непосредственно на двоичный вход цифро-аналогового преобразователя. Квитирование здесь не применяется.
Предположим, что порты А, В и С и регистр управления имеют адреса FFF8, FFF9 FFFA и FFFB. Тогда команды
MOV AL, 10110000В
OUT DX, AL
заставляют порт А работать в режиме 1, порт В - в режиме 0, а РС7 быть выходом. Следующий фрагмент формирует импульс на входе запуска аналого-цифрового преобразователя.
MOV DX, OFFFBH
MOV AL, 00001111B
OUT DX, AL
MOV AL, 00001110B
OUT DX, AL
Здесь первая команда загружает в регистр DX адрес, ассоциируемый с командой установки/сброса, который coвпадает с адресом регистра управления Следующие две команды формируют сигнал PC7 = 1, а последние две - сигнал РС7 = 0. Фрагмент программного ввода преобразованных данных имеет вид
MOV DX. OFFFAH
AGAIN; IN AL, DX
TEST AL.,001OOOOOB
JZ AGAIN
MOV DX. OFFF8H
IN AL, DX

Рис. 9.23. Интерфейс аналого-цифровой и цифро-аналоговой подсистем с применением микросхемы 8255А
Для вывода байта из регистра AL в цифро-аналоговый преобразователь требуются только две команды.
MOV DX, OFFF9H
OUT DX, AL
Как только байт появляется в порту В, его биты сразу подаются на входы цифро-аналогового преобразователя, который в свою очередь сразу же преобразует их в аналоговый сигнал.
В данном примере предполагается, что синхронизация преобразований осуществляется программой и что коэффициенты усиления входного и выходного аналоговых усилителей регулируются. Чтобы получить от программы равномерное распределение входных и выходных отсчетов, необходимо учитывать времена выполнения команд.

Между отсчетами выполняются одни и те же команды и общее время их выполнения точно известно Прерывания необходимо запретить, так как они случайным образом вводят выполнение разного числа команд. Интервал между отсчетами можно скорректировать с помощью цикла "ничего-не-делания", например:
MOV CX, N
IDLE NOP
LOOP IDLE
между вводами или выводами. Схема ввода с программной синхронизацией отсчетов аналого-цифрового преобразования представлена на рис. 9.24
Часто в аналого-цифровой и цифро-аналоговой подсистеме применяются программируемые генераторы синхронизации и усилители, что позволяет более точно управлять расположением отсчетов и цифро-аналоговых выходов, а также динамически изменять усиление. Кроме того, в такую подсистему часто вводят контроллер ПДП для увеличения скорости ввода и вывода.
На рис 9.23 показаны только 8-битные преобразователи, имеющие разрешающую способность 1 из 256. Если диапазон входного или выходного напряжений равен -10 . . . +10 В, разрешающая способность составляет
20/256= 0,078В.
Для улучшения разрешающей способности применяются 10-, 12- или 14-битные преобразователи. В этом случае приходится пользоваться комбинацией портов А и С или В и С или параллельно включать две микросхемы 8255А.
Лекция 12. Параллельный интерфейс:LPT-порт.
Порт параллельного интерфейса был введен в PC для подключения принтера —LP'T-порт (Line PrinTer — построчный принтер).
Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 386h, 378h и 278h. Порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов.
BIOS поддерживает до четырех LPT-портов (LPT1-LPT4) своим сервисом — прерыванием INT 17h, обеспечивающим через них связь с принтерами по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа, инициализацию интерфейса и принтера, а также опрос состояния принтера.
Интерфейс Centronics
Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах. Назначение сигналов приведено в табл. 1.
Таблица 1.
Сигналы интерфейса Centronics
Сигнал | I/O* | Контакт | Назначение |
Strobe | I | 1 | Строб данных. Данные фиксируются по низкому уровню сигнала |
Data [0:7] | I | 2-9 | Линии данных. Data 0 (контакт 2) — младший бит |
Actt | 0 | 10 | Acknowledge — импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования запроса прерывания |
Busy | 0 | 11 | Занято. Прием данных возможен только при низком уровне сигнала |
PaperEnd | 0 | 12 | Высокий уровень сигнализирует о конце бумаги |
Select | 0 | 13 | Сигнализирует о включении принтера |
Auto LF# | I | 14 | Автоматический перевод строки. |
Еггог | 0 | 32 | Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтера |
Imt# | I | 31 | Инициализация |
Slot In# | I | 36 | Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы интерфейса |
GND | - | 19-30 33 | Общий провод интерфейса |
* I/O | Задает | Направление | (вход/выход) применительно к принтеру. |
Интерфейс Centronics поддерживается большинством принтеров с параллельным интерфейсом, его отечественным аналогом является интерфейс ИРПР-М.
Традиционный LPT-порт
Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2) соответствуют интерфейсу Centronics.
Таблица 2.
Разъем стандартного LPT-порта
Контакт DB-25S | Провод шлейфа | Назначение | ||
I/O* | Reg. Bit** | Сигнал | ||
1 | 1 | 0/1 | CR: 0\ | Strobe# |
2 | 3 | 0(1) | DR:0 | Data 0 |
3 | 5 | 0(1) | DR: 1 | Data 1 |
4 | 7 | 0(1) | DR: 2 | Data 2 |
5 | 9 | 0(1) | DR:3 | Data 3 |
6 | 11 | 0(1) | DR: 4 | Data 4 |
7 | 13 | 0(1) | DR:5 | Data 5 |
8 | 15 | 0(1) | DR:6 | Data 6 |
9 | 17 | 0(1) | DR:7 | Data 7 |
10 | 19 | I | SR: 6 | Ack# |
11 | 21 | I | SR: 7\ | Busy |
12 | 23 | I | SR: 5 | PaperEnd |
13 | 25 | I | SR: 4 | Select |
14 | 2 | 0/1 | CR: 1\ | Auto LF# |
15 | 4 | I | SR: 3 | Error# |
16 | 6 | 0/1 | CR: 2 | Init# |
17 | 8 | 0/1 | CR:3\ | Select In# |
18-25 | 10, 12, 14, 16 | 18, 20, 22, 24, 26 | - | - |
* I/O задает направление передачи (вход/выход) сигнала порта; 0/I обозначает выходные линии, состояние которых считывается при чтении из соответствующих портов вывода.
** Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).
*** Вход Ack# соединен резистором (10 кОм) с питанием +5 В.
Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |



