Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Булатов В.Н. Архитектура микропроцессороной системы, состав машинных команд и основы программирования микропроцессорной .pdf
Скачиваний:
97
Добавлен:
02.05.2014
Размер:
7.1 Mб
Скачать

│ │ │ │ │ │ чтением приемника;

│ │ │ │ │

└── 1 — потеря предыдущего символа («наезд»);

│ │

│ │

 

│ │

│ │

└──── 1 — ошибка четности;

│ │ │ │

│ │ │ └────── 1 — неверный стоп-бит;

│ │

│ └──────── 1 — обнаружен обрыв линии;

└────────── 1 — сдвиговый регистр передатчика пуст;

└────────────1 — регистр передатчика пуст (вытолкнут последний бит)

А2 А1 А0

Операция

 

Назначения

1 1 0

 

 

Чтение

Регистр состояния модема. Биты 0-3 вызывают

 

 

прерывание по изменению состояния модем,

 

 

 

 

 

 

 

 

если оно разрешено:

7

6

 

5

4

3

2

1

0

┌─┬─┬─┬─┬─┬─┬─┬─┐

└─┴─┴─┴─┴─┴─┴─┴─┘

│ │

 

│ │ └

1 — изменилось состояние линии CTS;

│ │

 

│ └──

1 — изменилось состояние линии DSR;

│ │

 

└──── 1 — изменилось состояние линии RI;

│ │

 

└────── 1 — изменилось состояние линии DCD;

│ │

 

└────────

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

│ └────────── Состояние линии DSR;

└──────────── Состояние линии RI ;

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

Примечание: «Изменилось состояние линии...» означает, что данная линия стыка RS-232 изменила свое состояние по сравнению с последним чтением этого регистра.

15.4 Порядок инициализации 8250

Для подготовки контроллера 8250 к работе необходимо выполнить следующие шаги.

1) Установить бит DLAB регистра 011 и заслать делитель, задающий скорость обмена, в порты 000 и 001.

100

2)Инициализировать регистр управления линией (порт 011); при этом сбросить бит DLAB.

3)Инициализировать регистр управления модемом (порт 100).

4)Инициализировать регистр управления прерываниями (порт 001) и, если прерывания разрешены, установить адрес программы обработки прерываний от стыка RS-232.

В состав IBM PC могут входить до четырех последовательных интерфейсов, работающих в стандарте RS-232 (отечественный аналог — стык С2) и именуемых СОМ1 —СОМ4. Им выделены следующие адреса в области портов ввода-вывода (по умолчанию):

СОМ1:

3F8h-3FFh,

COM3:

338h-33Fh,

COM2:

278h-2FFh,

COM4:

238h-23Fh,

где каждый интерфейс связан с определенным уровнем контроллера прерываний:

СОМ1 вызывает прерывание IRQ4 (Int 0Ch); COM2 вызывает прерывание IRQ3 (Int 0Bh);

СОМ3 и СОМ4 не имеют стандартных векторов прерываний.

Кроме этого, современные компьютеры IBM PC позволяют свободно комбинировать логические и физические адреса и вектора прерываний последовательных интерфейсов через SETUP BIOS.

Пример 1 —Пусть необходимо настроить порт СОМ1 со следующим режимом работы:

скорость приемо-передачи: 9600 бит/с;

длина посылки —8 бит;

контроль чет/нечет отсутствует;

длина стоп-бита —1 бит;

прерывание только от приемника по моменту приема символа.

Определяем число деления: 11520010/960010=1210=000С. Составляем подпрограмму инициализации:

MOV DX,3FB

; Установить адрес регистра управления линией

MOV AL,80

; и установить

OUT DX,AL

; DLAB=1.

SUB DX,+3

; Установить адрес младшей части делителя

MOV AL,0C

; и заслать туда 0С —

OUT DX,AL

; число десятичное 12.

XOR AL,AL

; Заслать «0»

INC DX

; в старшую часть

OUT DX,AL

; делителя.

MOV AL,03

; Заслать в регистр управления линией: DLAB=0;

ADD DX,+2

; длина посылки=8, контроль паритета=нет,

OUT DX,AL

; длина стоп-бита=1 бит.

MOV AL,80

; Разрешить выход INT

INC DX

; разблокированием выхода OUT2, которые соеди-

101