8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 1 2 3 4 5 ... 55

Пример 1.1. Вывести байт 41 h (код латинской прописной буквы А) в порт RS232

ассемблер

Бейсик

Кларион

mov al,41h mov dx,3f8h out dx,al

out&h3f8,&h41

b byte CODE

b=41h out(3f8h,b)

Пример 1.2. Ввести байт данных из порта

ассемблер

Бейсик

Кларион

mov dx,3f8h in al.dx ;Введенный байт в

; регистре al.

byte%=inp(&h3f8) Введенный байт в переменной byte%.

b byte

CODE (Введенный байт в

in(3f8h,b) [переменной Ь.

2. Установка скорости обмена по интерфейсу RS232. Скорость обмена по интерфейсу устанавливается следующим образом. Вначале в порт с адресом 3fbh (см. далее) необходимо записать байт, равный 80h, далее в порт с адресом 3f8h — младший байт делителя максимальной скорости обмена 115200 бод, а затем в порт 3f9h -старший байт делителя. Как правило, старший байт делителя используется достаточно редко (для очень медленных скоростей обмена), поэтому он должен быть равен нулю.

Если в младший байт (3f8h) записать 1, то скорость обмена будет равна, как указывалась, 115200 бод. При записи 2 имеем: 115200/2 = 57600 бод; при записи 3 - 115200/3-38400 бод; при записи 12 - 115200/12 = 9600 бод и т.п.

Пример 1.3. Установить скорость обмена 9600 и 115200 бод. Поскольку эта операция осуществляется только один раз - при инициализации порта, она не требует высокой скорости и приводится только на Бейсике и Кларионе.

Бейсик

Кларион

out&h3fb,&h80

out &h3fB, 12 Установка скорости out &h3f9,0 обмена 9600 бод.

b byte CODE b=80h

out(3fbh,b) [Установка скорости b=l [обмена out(3f8h,b) !115200 бод. b=0

out(3f9h,b)


Регистр разрешения прерываний (interrupt enable register). Адрес 3f9h. Доступен только для записи. Для того чтобы разрешить перечисленные ниже прерывания, необходимо записать в этот регистр байт, содержимое которого приводится в следующей таблице.

7 6 5 4 3

О О

/ О

Бит №: -► 0:

>2:

-Разрешение прерывания, когда принятые данные готовы.

-Разрешение прерывания, когда буфер передатчика пуст.

-Разрешение прерывания по состоянию бит ERROR или BREAK.

-Разрешение прерывания по состоянию бит CTS,DSR,RI,DCD.

Отметим, что для того, чтобы задействовать этот регистр как регистр разрешения прерываний, а не как старший байт делителя для установки скорости обмена, имеющий тот же адрес (3f9h), нужно вначале обнулить бит 7 в порту с адресом 3fbh (см. с. 11).

Регистр идентификации прерывания (interrupt identification register). Адрес 3fah. Доступен только для чтения. Читая содержимое трех младших бит этого регистра, можно определить источник прерывания.

7 6 5 4 3 2 1 0

Бит №: -► 0:

>2:

- Прерываний нет.

00: Прерывание по состоянию линий модема. Устанавливается при изменении состояния линий CTS, DSR, RI или DCD. Сбрасывается при чтении регистра состояния модема (адрес 3feh - см. далее).

01: Регистр передатчика пустой. Сбрасывается после записи новых данных в регистр данных (адрес 3f8h).

10: Принятые данные готовы для чтения. Сбрасывается после чтения данных из регистра данных (адрес 3f8h).

11: Прерывание по значению регистра состояния линий приемника (адрес 3fdh). Возникает при переполнении (ОЕ), ошибке паритета (РЕ), ошибке формата (FE) или сигналу BREAK (BI). Сбрасывается при чтении регистра состояния линий приемника (адрес 3fdh).


Регистр управления линиями (line control register). Адрес 3fbh. Доступен по записи и чтению. Определяет формат передаваемых данных, контроль паритета, количество стоп-бит, управляет линией TxD при отсутствии передачи и устанавливает скорость обмена.

7 6 5 4 3 2 1 0

Бит №:

-►з

071 Установить длину слова в битах: 1J 00-5,01 - б, 10-7, И -8. 2: Установить количество стоп-бит: 0 - 1 бит, 1 - 2 бита.

-►4 -►5

>б:

>7

}Установить паритет (четкость): Х0 - нет, 01 - нечетность, 11 - четность. Установить паритет: 1 - бит четности равен 0, если биты 3 и 4 равны 11; бит четности равен 1, если биты 3 и 4 равны 01. Разрешить выдачу сигнала BREAK в отсутствие передачи.

1 - Перевести линии TxD в состояние 0 (-10 В) - сигнал BREAK.

0- Перевести линии TxD в состояние 1(+10В).

Установить скорость обмена/Обычный режим.

1- Установить скорости обмена в регистрах 3f8h и 3f9h.

0 - Регистры 3f8h и 3f9h используются в обычном режиме.

Регистр управления модемом (modem control register). Адрес 3fch. Доступен по записи. Управляет линиями DTR и RTS и диагностикой интерфейса RS232.

7 6 5 4 3 2 1 0

о 1 о о

Бит №: -►

0: 1 -

>1:1

-►2:

3:

->4:1-

Установить сигнал на линии DTR в лог.1 (+10 В), 0 - в лог.О (-10 В). Установить сигнал на линии RTS в лог.1 (+10 В), 0 - в лог.О (-10 В). Установить запасную линию OUT1 (не используется), установить запасную линию OUT2 (не используется).

Замкнуть линию TxD на линию RxD для диагностики порта, 0 - обычный режим.

Регистр состояния линии (line status register). Адрес 3fdh.

Доступен по чтению. Контролирует правильность обмена по интерфейсу RS232.



0 1 2 3 4 5 ... 55