![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Бит | Назначение |
«1» – разрешает прерывание по окончании приема; «0» – запрещает прерывание | |
«1» – разрешает прерывание по окончании передачи; «0» – запрещает прерывание | |
«1» – разрешает прерывание при обнаружении сбоя на линии | |
«1» – разрешает прерывание по любому изменению входных управляющих сигналов | |
4..7 | не используются |
Base + 2 – регистр причины прерывания
Бит | Назначение |
«1» – нет запроса на прерывание; «0» – есть причина прерывания | |
1,2 | 00 – переполнение приемника, ошибка четности, ошибка формата; 01 – данные переданы, завершена передача; 10 – завершен прием; 11 – изменение управляющего сигнала; |
3..7 | не используются |
Этот регистр доступен только для чтения.
Base + 3 – управляющий регистр.
Бит | Назначение |
0,1 | Кодирует количество бит в информационном слове. «00» - 5 бит; «10» - 6 бит; «01» - 7 бит; «11» - 8 бит. |
Количество стоповых битов (гарантированная пауза). «0» - 1 бит; «1» - 2 бита. | |
3,4 | Режим контроля по паритету. «0Х» - не используется, т.е. не контролируется передача по паритету (понижается надежность передачи); «10» - контроль по нечетности; «11» - контроль по четности. |
Принудительное формирование бита паритета. «0» - контрольный бит генерируется в соответствии с паритетом символа. «1» - постоянное значение бита паритета в соответствии с инверсным значением 4-го разряда этого регистра (Base + 3[4]). | |
«1» - устанавливает режим постоянной передачи нуля, т.е. +12 В (используется для отладки линии связи); «0» - нормальная передача символов. | |
управляющий бит режима портов Base и Base + 1. |
Base + 4 – регистр управления модемом.
Бит | Назначение |
DTR (Data Terminal Ready) – сигнал готовности COM-порта. | |
RTS (Request To Send) – управление выходом запроса передачи. | |
Функции сигналов разные. (См. описание выходов линий RTS и DTR). | |
Состояние выхода OUT1. | |
Состояние выхода OUT2. | |
Используются при отладке аппаратуры. | |
4..7 | Как правило не используются. |
Base + 5 – регистр состояния линии (LSR – Line Status Register).
Организует работу COM-порта
.
Бит | Назначение |
«1» - данные получены и готовы для чтения. Сброс («0») этого разряда при чтении регистра данных. | |
Ошибка переполнения при приеме. Принят новый байт раньше, чем прочитан предыдущий. Предыдущий может быть потерян. | |
Ошибка паритета при приеме. | |
Ошибка синхронизации формата кадра. «1» - не принят стоповый бит. | |
Обнаружен обрыв линии (+12 В на входе приемника). | |
Характеристики передатчика. «1» - буферный регистр передатчика пустой, можно записывать следующий байт. | |
«1» - передача байта закончена. | |
«1» - ошибка режима FIFO (Согласованная скорость приемника и передатчика). |
Base + 6 – регистр состояния модема. (Гук)
Base + 7 – не документирован.
4.8. Общий порядок программного обслуживания COM–порта.
1. Инициализация (установка режима).
2. Прием/передача.
Инициализация.
1. Установка режимов регистров с адресами Base и Base + 1 путем присвоения 7-ому разряду регистра Base + 3 значения 1 (Base + 3[7]=1).
Устанавливается скорость передачи данных Vпер.
Vпер.→ (Base),(Base + 1)
Lo Hi
2. Запись кода делителя частоты по адресам Base и Base + 1.
3. Восстановление значений регистров Base и Base + 1, как регистра данных и регистра управления частот.
Base + 3[7]=0
Управляющее слово регистра Base + 3 формируется с учетом требований к:
- длине слова;
- числу стоповых битов;
- режима контроля частоты.
4. Устанавливается режим управления прерываний, регистр Base + 1.
Если к –порту подключен модем, то нужно установить режим работы модема.
Прием/передача.
Общая часть для приемника и передатчика.
1. Убедиться, что буферный регистр передатчика пуст: опрос регистра (Base + 5)[5]=?
2. Запись данных в регистр N→Base. Начинается передача.
Прием.
1. Убедиться, что данные переданы (Base + 5[0]=?).
2. Чтение регистров данных с адресом Base позволяет записать в память прочитанный код.
Замечание: возможен дуплексный режим работы, благодаря тому, что выделено 2 линии.
4.9. Пример программирования COM –порта.
Требуется COM-порт с физическим адресом Base$3F8 подготовить к работе со скоростью V=9600 бод. Режим обслуживания – сканирование, т.е. прерывание запрещено. Статические сигналы управления TS/CTS – не используются. Длина информационного слова 8 бит. Пауза, т.е. число стоповых бит 2. Контроль по паритету отсутствует.
Оператор, позволяющий читать астрономическое время в Pascal:
Time:=MemW[$40:$6С]
Время измеряется в тактах системных часов Δτ = 55 мсек.
Time – Word {двухбайтное целое}
{Инициализация}
Base:=$378;
port[Base+3]:=$80; {1000’0000}
{v=9600 DN=$000C=1210}
port[Base]:=$0C;
port[Base+1]:=$00;
{0000’0111=$07=07}
port[Base +3]:=07;
port[Base +1]:=0; {запрет всех прерываний}
Дата публикования: 2014-11-28; Прочитано: 285 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!