Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Belenko.doc
Скачиваний:
3
Добавлен:
28.10.2018
Размер:
193.02 Кб
Скачать

11. Регістри сом-портів і їх призначення.

Программирование СОМ – портов сводится к управлению линий интерфейса RS-232с. Стандарт RS-232с определяет каждую линию с помощью 2-х или 3-х алфавитных символов (RTS, RD, TD, DCD). Для подключения компьютера к внешним устройствам через RS-232с используют 2 типа разъёма: DB9P; DB25P. Разъёмы предусматривают 3 выходных линии, по которым компьютер передаёт сигнал об оборудовании, и 5 входных, через которые внешние устройства посылают сигнал комп-ру.

Каждый из разъёмов СОМ1 и СОМ2 аппаратно подключаются к микросхемам, которые назыв. UART.

Базовые адреса UART1 и 2 находятся в ячейках оперативной памяти.

Address COM1  0040:0000

Address COM2  0040:0002

Mov AX, 40h

Mov ES, AX

Mov DX, ES:[0]

Mov DX, ES:[2]

COM – порты сопряжены с контроллером аппаратных прерываний.

Обработчик прерывания: адрес: 8+4=0Ch

COM IRQ: 8+3=0Bh

Микросхема UART содержит 10 программных регистров (1 байтовых).

Программное обращение к регистру:

Add DX, 3 Dec DX, 1

Назначение регистров.

UART (COM1)

0

3F8h

1)запись последовательного символа и чтение (OUT если бит7=0 Reg 3FBh)

2)Регистр данных приемника (IN если бит7=0 Reg 3FBh)

3)делитель скорости обмена (OUT если бит7=1 Reg 3FBh)

+1

3F9h

4)делитель скорости обмена – старшая составляющая (IN если бит7=1 Reg 3FBh)

5)регистр разрешения прерываний (OUT если бит7=0 Reg 3FBh)

+2

3FAh

6)регистр идентификации прерываний (IN)

+3

3FBh

7)регистр управления линиями (OUT)

+4

3FCh (RTS, DTR)

8)регистр управления модемом (OUT)

+5

3FDh

9)регистр статуса линий (IN)

+6

3FEh

10)регистр статуса модема (IN)

Mov DX, ES:[0]

Add DX, 4

Add DX, 2

Суть программирования UART сводится к установке соответствующих битов в соотв. регистрах и чтении битов в регистрах. Программирование СОМ – портов начинается с открытий СОМ – порта. Нужно задействовать 4 регистра.

Назначение и структура регистров 3F:

Port 3F8h служит для записи в него передаваемых символов (7=0 - 3FВh, 7=1 – служит составной частью).

Port 3F9h в случае установки бита 7=1 служит старшим составляющим делителя скорости, при 7=0 – для управления прерываний.

Port 3FВh служит для установления формата передачи данных.

13. СОМ-порти і їх програмування.

COM-порт-последовательный порт для передачи данных между ПК, телефонами, карманными компьютерами, а также для подключения периферии.

Сводится к управлению линией интерфейса RS-232c. Для подключения компьютера к внешним устройствам через RS-232с используют 2 типа разъёма: DB9P; DB25P. Разъёмы предусматривают 3 выходных линии, по которым компьютер передаёт сигнал об оборудовании, и 5 входных, через которые внешние устройства посылают сигнал компу. каждый из разъемов COM-1, COM-2 аппаратно сопрягаются с микросхемой, которая называется UART-универсальный асинхронный приемник передач. Базовые адреса UART 1, UART 2 находится в ячейках оперативной памяти:

Address COM 1->0040:0000

Address COM 2->0040:0002

Mov AX,40h Mov ES,AX

Mov DX,ES:[0]; DX=3FEh…3FEh

Mov DX,ES:[2]; DX=2FEh…2FEh

Как физические устройства, СОМ-порты сопряжены с контроллером аппаратного прерывания по линии СОМ1 IRQ4(обработка прерывания адрес:8+4=0Ch), СОМ2 IRQ3(обработка прерывания адрес:8+3=0Ch). Микросхема UART содержит 10 программируемых регистров(однобайтовых) через которые программ. линии интерфейса RS-232c. Доступ к программи. этих линий осуществляется через 7 адресов в сторону увеличения. Программно обращение к регистрам осуществляется так:

Add DX,3 DEC DX,1

Порт 3F8h.Этот порт соответствует регистру передаваемых данных. Для передачи в порт 3F8h необходимо записать байт передаваемых данных. После приема данных от внешнего устройства они могут быть прочитаны из этого порта. В зависимости от состояния бита управляющего слова, выводимого в управляющий регистр с адресом 3F8h, назначение порта 3F8h изменяться. Если этот бит равен 0,порт используется для записи передаваемых данных.Если же этот бит равен 1, порт используется для вывода значения младшего байта делителя частоты тактового генератора. Изменяя содержимое делите- ля, можно изменять скорость передачи данных. Старший байт делителя записывается в порт 3F9h.

Порт 3F9h.Порт используется как регистр управления прерываниями от асинхронного адаптера или (после вывода в порт 3F9h байта с установленым в 1 стар- шим битом) для вывода значения старшего байта делителя частоты тактового генератора. В режиме регистра управления прерываниями порт имеет следующий формат.

Бит Значение

    1. 1 - разрешение прерывания при готовности принимаемых данных.

    2. 1 - разрешение прерывания после передачи байта (когда выходной буфер передачи пуст.)

    3. 1 - разрешение прерывания по обнаружении состояния "BREAK" или ошибки.

    4. 1 - разрешение прерывания по изменению на разъёме RS-232-C.

Порт 3FAh.

Регистр идентификации прерывания. По его содержимому программа может определить причину прерывания. Формат регистра приведён в таблице 3.

Таблица 3.

Бит

Значение

0

1 - нет прерываний, ожидающих обслуживания.

1-2

00 - прерывание по линии состояния приёмника, возникает при переполнении приёмника, ошибка чётности или формата данных, или при состоянии "BREAK". Сбрасывается после чтения состоя-

Бит

Значение

0

Линия CTS изменила состояние.

1

Линия DSR изменила состояние.

2

Линия IR изменила состояние.

3

Линия DCD изменила состояние.

4

Состояние линии CTS

5

Состояние линии DSR

6

Состояние линии IR.

7

Состояние линии DCD.

Приём и передача данных.

Перед записью байта данных в регистр передатчика нужно убедиться, что регистр хранения передатчика свободен, то есть убедиться в том, что передача предыдущего символа завершена. Признаком свободы регистра передатчика является установленный в 1 бит 5 регистра состояния линии с адресом 3FDh.

Аналогично передачи данных перед вводом символа из порта приёмника 3F8h следует убедиться, что бит 0 порта 3FDh установлен в 1, то есть что символ принят из линии и находиться в буферном регистре приёмника.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]