ВУЗ:
Составители:
Рубрика:
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 бит;
— прерывание только от приемника по моменту приема символа.
Определяем число деления: 115200
10
/9600
10
=12
10
=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
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
Страницы
- « первая
- ‹ предыдущая
- …
- 99
- 100
- 101
- 102
- 103
- …
- следующая ›
- последняя »