Биты
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Значение
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
Табл. 117. Старший значащий разряд делителя.
Биты
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Значение
|
D15
|
D14
|
D13
|
D12
|
D11
|
D10
|
D9
|
D8
|
Старший байт делителя передается по адресу 3F9H (или 2F9H), младший – по адресу 3F8H (или 2F8H). Зависимость скорости передачи данных от некоторых значений делителя частоты представлена в табл. 118. Первый столбец делителя содержит старший значащий байт MSB, второй – младший значащий байт LSB.
Табл. 118. Скорость передачи данных.
Скорость передачи, Бод
|
Значение делителя
|
MSB
|
LSB
|
110
|
1047h
|
417h
|
300
|
384h
|
180h
|
1200
|
96h
|
60h
|
2400
|
48h
|
30h
|
9600
|
12h
|
0Ch
|
19200
|
6
|
6
|
38400
|
3
|
3
|
57600
|
2
|
2
|
115200
|
1
|
1
|
Регистр сверхоперативной памяти SCR (Scratch Register) является 8-разрядным и служит для временного хранения данных. Его содержимое не влияет на работу адаптера. Формат хранения данных регистра приведен в табл. 119. При использовании регистра в прикладных программах следует помнить, что его услугами могут пользоваться и другие программы, поэтому всегда необходимо сохранять в стеке его содержимое, а затем вновь восстанавливать.
Табл. 119. Формат регистра сверхоперативной памяти.
Биты
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Значение
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
Регистр состояния модема MSR (Modem Status Register) позволяет узнать текущие значения сигналов состояния модема и фиксировать их изменения с момента последнего считывания данных из MSR (табл. 120). При считывании разряды регистра сбрасываются в ноль и их необходимо вручную восстанавливать.
Табл. 120. Формат регистра состояния модема.
Биты
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Значение
|
DCD
|
RI
|
DSR
|
CTS
|
DDCD
|
TERI
|
DDSR
|
DCTS
|
Разряд DCTS (сброс передатчика) позволяет отследить изменение входного сигнала CTS. Любое изменение приводит к установке разряда в 1.
Разряд DDSR (готовность модема) отслеживает уровень сигнала на входе DSR, что приводит к установке в 1.
Разряд TERI (задний фронт сигнала или «указатель вызовов») отслеживает изменение сигнала на входе RI, что приводит к установке в 1.
Разряд DDCD («указатель несущей» или «указатель сигнала на линии приема») отслеживает любое изменение сигнала на входе DCD и устанавливает 1.
Разряд CTS («сброс передатчика») указывает текущее значение сигнала на входе CTS.
Разряд DSR («готовность модема») указывает текущее значение сигнала на входе DSR.
Разряд RI («указатель вызовов») указывает текущее значение сигнала на входе RI.
Разряд DCD («указатель несущей») указывает текущее значение сигнала на входе DCD.
Регистр управления модемом MCR (Modem Control Register) выдает управляющие сигналы устройству сопряжения, например, модему (табл. 121).
Табл. 121. Формат регистра управления модемом.
Биты
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Значение
|
0
|
0
|
0
|
LOOP
|
OUT2
|
OUT1
|
RTS
|
DTR
|
Разряд DTR (готовность терминала, Data Terminal Ready) определяет сигнал на выходе DTR микросхемы 8250. При DTR = 0 на выходе устанавливается 1 и наоборот.
Разряд RTS (запрос передатчика, Request Terminal Station) определяет сигнал на выходе RTS микросхемы 8250. При RTS = 0 на выходе устанавливается 1 и наоборот.
Разряды OUT1 и OUT2 являются выходами общего назначения. При 0 на выходе устанавливается 1 и наоборот.
Разряд LOOP (петлевая конфигурация) обеспечивает выполнение процедуры самопроверки. При установлении 1 происходит следующее (табл. 122):
последовательный вход SIN отсоединяется от внешнего соединения и внутренне подключается к последовательному выходу SOUT;
выход сдвигового регистра передатчика подключается к входу сдвигового регистра приемника;
старшие 4 разряда регистра состояния отключается от внешних соединений и внутренне связывается с младшими 4 разрядами регистра управления.
Табл. 122. Схема петлевого подключения.
MCR
|
MSR
|
OUT2
|
DCD
|
OUT1
|
RI
|
DTR
|
DSR
|
RTS
|
CTS
|
В результате, любые отправляемые данные будут сразу приниматься. Сравнивая полученные данные с отправленными, можно проверить функциональные узлы адаптера. В этом режиме можно также провести проверку системы прерываний. Для этого необходимо записать 1 в любой из значимых разрядов регистра разрешения прерывания IER.
13.5. Стандартные средства программирования последовательного порта
Операционная система MS-DOS не содержит серьезной поддержки асинхронного адаптера. Функции прерывания INT 21h с номерами 3 и 4 предназначены для чтения и записи байтов через адаптер. Обе функции работают с COM1 и COM2. Функция 3 получает в регистр AL символ, принятый от адаптера, а функция 4 передает в адаптер символ, записанный в регистр DL.
Основной недостаток функций MS-DOS заключается в отсутствии их функциональной полноты. Например, используя только эти функции, нельзя проанализировать ошибочные ситуации и изменить режим работы адаптера.
Функции BIOS, определенные за прерыванием 14h, более разнообразны. Параметры вызова основных функций приведены в табл. 123. Байты состояния линии и модема, возвращаемые обработчиком INT 14h, полностью соответствуют регистру состояния линии и регистру состояния модема адаптера порта.
Табл. 123. Основные функции INT 14h.
Do'stlaringiz bilan baham: |