Реферат: Программирование - интерфейс RS-232
<span Courier New""> ПРОГРАММИРОВАНИЕПОСЛЕДОВАТЕЛЬНОГО ПОРТА
<span Courier New"">
<span Courier New""> Последовательный порт в системе MS-DOSобеспечивает вход во
<span Courier New"">внешний мир. Основной задачейпоследовательного порта является
<span Courier New"">направление иполучение данных по шине в виде потока битов. (В
<span Courier New"">противоположностьпараллельному порту, в которомвнутренний байт
<span Courier New"">передаетсяцеликом). Вы можете использовать последовательный порт
<span Courier New"">для подключения к системе «мыши», направления данных на принтер
<span Courier New"">или дляустановления автоматической телефонной связи с использо-
<span Courier New"">ванием модема.Хотя системы MS-DOS не нуждаются для работы в пос-
<span Courier New"">ледовательномпорте, эти порты стали стандартнойпериферией сис-
<span Courier New"">темы.
<span Courier New""> Последовательный порт в системах MS-DOSспособен поддерживать
<span Courier New"">стандартасинхронной передача данных RS-232C. Хотя даже посредс-
<span Courier New"">твом ROM-BIOS,стандартной части всех систем MS-DOS, MS -DOS сама
<span Courier New"">по себе включает некоторую поддержку программирования портов
<span Courier New"">RS-232C(например, прерывание номер 14h), этаподдержка не отве-
<span Courier New"">чает требованиямвысокоскоростной связи. Если Вы хотитевключить
<span Courier New"">в свою прикладнуюпрограмму эффективные возможности последова-
<span Courier New"">тельнойсвязи, Вы должны осуществлять доступ кпоследовательному
<span Courier New"">порту нааппаратном уровне. В этой главепоказано, как это дела-
<span Courier New"">ется.
<span Courier New"">
<span Courier New"">
<span Courier New""> Основы асинхронной последовательнойсвязи
<span Courier New"">
<span Courier New""> Говоря о передаче данных, мы интересуемся передачей байтов
<span Courier New"">данных от одногоустройства к другому, например, от персонального
<span Courier New"">компьютера кмодему или к последовательному принтеру. Если мы
<span Courier New"">имеем восемь линий между двумя устройствами, то мы можем назна-
<span Courier New"">чить каждой линиибит и послать сразу один байт данных. Это будет
<span Courier New"">параллельная передача. Таким образом работает параллельный порт
<span Courier New"">персональногокомпьютера, кроме того, в дополнение к восьми лини-
<span Courier New"">ям данных имеются другие сигнальные линии, оказывающие помощь в
<span Courier New"">передаче данных.
<span Courier New""> С другой стороны, если мы имеем одну линию для передачи сиг-
<span Courier New"">налов, тонеобходимо посылать каждый байт данных последовательно,
<span Courier New"">по одномубиту. Более того, мы может посылать данные синхронно,
<span Courier New"">такимобразом, что каждый байт посылаетсяв ранее определенное
<span Courier New"">время (скажем,один байт каждые х секунд), или асинхронно со ско-
<span Courier New"">ростью, которуюпредварительно определять необязательно.
<span Courier New""> Последовательная связь дешевле, чем параллельная, так как
<span Courier New"">требует меньшелиний передачи данных — минимум две для двусторон-
<span Courier New"">ней связи. Крометого режим асинхронной передачи оказывает значи-
<span Courier New"">тельно меньшеевоздействие на аппаратуру ввиду того, что не тре-
<span Courier New"">буется дополнительное специальное оборудование для поддержки
<span Courier New"">синхронизациимежду передатчиком и приемником.
<span Courier New""> Таким образом, асинхронная последовательная связь является
<span Courier New"">предпочтительнымрешением ввиду низкой стоимости и простоты ис-
<span Courier New"">пользуемых аппаратныхсредств. Конечно, в этом режиме передачи мы
<span Courier New"">должныпреобразовывать каждый байт данных в серию битов и указы-
<span Courier New"">вать приемникуначало и конец каждого байта. На рисунке8-1 про-
<span Courier New"">иллюстрированаконцепция асинхронной последовательной связи.
<span Courier New""> Предположим, что мы умеем преобразовыватькаждый байт в поток
<span Courier New"">единиц инулей, то есть биты, которые могут быть переданы через
<span Courier New"">среду связи(например, телефонную линию). В самом деле, универ-
<span Courier New"">сальныйасинхронный приемопередатчик (UART), как мы увидим в сле-
<span Courier New"">дующемразделе, выполняет точно такую жефункцию. Обычно, в то
<span Courier New"">время как линиянаходится в режиме ожидания, для демонстрации то-
<span Courier New"">го, что линия впорядке, по ней передается единица, обозначая не-
<span Courier New"">занятость линии.С другой стороны, когда линия находится в состо-
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> ┌ ─ ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ┐
<span Courier New""> Восстанавливается один байт
<span Courier New""> │ └ 7 6 5 4 3 2 2 1┘└──┐
<span Courier New""> ┌───Принимается одинсимвол────┐└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘┌─┐|
<span Courier New""> │ |A||B||7||6||5||4||3||1||0||C| ^ ^ ^ ^ ^ ^ ^ ^ ||
<span Courier New"">-->└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘┌─────┬─────────┬─────┐ |─┘└┐
<span Courier New"">┌──────────────────────────────────| D | | | | |
<span Courier New"">|│ от модема └─────┴─────────┴─────┘ |───|
<span Courier New"">| UART на приемном конце скорость в бодах | |
<span Courier New"">|└ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ─ ─ ─ ─| |
<span Courier New"">| |───|
<span Courier New"">| ┌───────┐ | |
<span Courier New"">└──| |──┐ |───|
<span Courier New""> └───────┘ │ Принимающий
<span Courier New""> │ Телефонная линия компьютер
<span Courier New""> ┌┼┐___________________________┌─┐
<span Courier New""> └─┘ <-- └┼┘
<span Courier New""> │
<span Courier New""> │
<span Courier New""> │
<span Courier New""> │ ┌───────┐
<span Courier New""> └───────| модем|───|
<span Courier New""> ┌────────┐ └───────┘ |
<span Courier New""> │ │ |
<span Courier New""> │ PC │ |
<span Courier New""> ┌──┴────────┴──┐ |
<span Courier New""> │ │ |
<span Courier New""> └┐┌────────────┘ v
<span Courier New""> || ┌ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ─ ─ ─ ───┐
<span Courier New""> || │ ┌────────Байт───────────┐
<span Courier New""> || 7 6 5 4 3 2 2 1 |
<span Courier New""> |└──┘ └─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘┌───Посылаемый один символ──┐
<span Courier New""> └───┐ |A||B||7||6||5||4||3||1||0||C|
<span Courier New""> ┌─────┬─────────┬─────┐└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘
<span Courier New""> | | | | D |──────────────────────────────┘
<span Courier New""> └─────┴─────────┴─────┘ к модему --> |
<span Courier New""> | скорость в бодах UART впоследовательном адаптере PC
<span Courier New""> └ ─ ─ ─ ── ─ ─ ─ ─── ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ┘
<span Courier New""> A-стоп; B-четность; C-начало;D-сдвиговый регистр
<span Courier New"">янии логического нуля, говорится, что она стоит в режиме
<span Courier New"">выдерживанияинтервалов. Таким образом, логические единица и ноль
<span Courier New"">рассматриваются,соответственно, как MARK и SPACE.
<span Courier New"">
<span Courier New""> Рис.8-1. Асинхронная последовательнаясвязь.
<span Courier New"">
<span Courier New"">
<span Courier New""> В асинхронной связи изменение условия состояния линии сMARK
<span Courier New"">на SPACE означаетначало символа (смотри рисунок 8-2). Этоназы-
<span Courier New"">вается стартовымбитом. За стартовым битом следует комбинация би-
<span Courier New"">тов, представляющая символ, и затем бит контролячетности. Нако-
<span Courier New"">нец, линия переходит в состояние ожидания MARK, которая
<span Courier New"">представляетсобой стоповый бит и означает конец текущего симво-
<span Courier New"">ла. Число битов, используемых для представлениясимвола, называ-
<span Courier New"">ется длиной словаи обычно бывает равно семи или восьми. Конт-
<span Courier New"">рольный бит используется для выполнения элементарнойпроверки на
<span Courier New"">наличие ошибки.
<span Courier New"">
<span Courier New""> <--------- Направление передачи
<span Courier New"">Линия Линиявозвращается в
<span Courier New"">свободна свободноесостояние
<span Courier New""> A
<span Courier New"">B────┐ ┌ ─ ┬ ─ ┬ ─ ┬ ─ ┬─ ┬ ─ ┬ ─ ┬ ─ ┬ ─┬───┬───────┐ ┌ ─ ─
<span Courier New""> │ │ 0 1 2 3 4 5 6 7 │ │
<span Courier New"">C ─ ─└──┘ ─ ┴ ─ ┴ ─ ┴─ ┴ ─ ┴ ─ ┴ ─ ┴ ─ ┴─ ┴ ─ ┴ ─ ─ ─ └──┘─ ─
<span Courier New""> ^└──────── 7 или 8 битданных ───┘ ^ ^ ^
<span Courier New""> Стартовый бит четности│ Начало другого
<span Courier New""> бит │ символа
<span Courier New""> битстоповый
<span Courier New""> Время ----->
<span Courier New"">
<span Courier New""> A-длительность 1 бита; B-MARK или 1;C-SPACE или 0
<span Courier New"">
<span Courier New""> Рис.8-2. Представление васинхронной последовательной
<span Courier New""> связи формата одиночногосимвола
<span Courier New"">
<span Courier New"">
<span Courier New""> Как передатчик (или приемник) узнают о длительности каждого
<span Courier New"">бита? Действительно, и передатчик, и приемник должны знать его
<span Courier New"">длительность илидетектирование битов будет невозможно. Длитель-
<span Courier New"">ность каждогобита определяется генераторами тактовых импульсов
<span Courier New"">приемника ипередатчика. Отметим, однако, что генераторы в прием-
<span Courier New"">нике ипередатчике должны иметь одну и ту же частоту, но не тре-
<span Courier New"">буется, чтобы онибыли синхронизированы. Выбор частоты генератора
<span Courier New"">зависит отскорости передачи в бодах, котораяозначает число из-
<span Courier New"">менений состояниялинии каждую секунду. Номинально тактовая час-
<span Courier New"">тота«16-кратная скорость передачи в бодах» означает, что линия
<span Courier New"">проверяется достаточно часто для надежного распознаваниястарто-
<span Courier New"">вого бита.
<span Courier New""> Существует одно обычное состояние линии, которое иногда ис-
<span Courier New"">пользуется дляпривлечения внимания приемника. Нормальным состоя-
<span Courier New"">нием линии является MARK (или 1) и началосимвола определяется
<span Courier New"">переходом SPACE(0). Если линия находится в состоянии SPACE в те-
<span Courier New"">чение периодавремени большем, чем время, которое она затратила
<span Courier New"">бы на получениевсех битов символа, тогда мы говорим,что насту-
<span Courier New"">пило состояние BREAK. В кодах ASCII отсутствует представление
<span Courier New"">BREAK — этоозначает, что линия «умерла» на непродолжительный
<span Courier New"">промежутоквремени, который составляет BREAK.
<span Courier New"">
<span Courier New"">
<span Courier New""> Контроль по четности и обнаружениеошибок
<span Courier New"">
<span Courier New""> Ранее мы упоминали, что бит контроля четностиполезен для об-
<span Courier New"">наружения ошибок. Например, если выбрана проверкана четность,
<span Courier New"">этот битустанавливается таким образом, что общеечисло единиц в
<span Courier New"">текущем слове является четным (такая же логика используется для
<span Courier New"">проверки нанечетность). В приемнике четностьвычисляется заново
<span Courier New"">и сравнивается сбитом контроля четности. Если они неравны, то
<span Courier New"">приемниксообщает, что имеет место ошибкачетности. Главный не-
<span Courier New"">достатокобнаружения ошибки посредством проверки на четность зак-
<span Courier New"">лючается втом, что можно только обнаружить ошибки,которые вли-
<span Courier New"">яют на одинединственный бит. Например, битовая комбинация 0100
<span Courier New"">0001 0 (ASCIIA), переданная восемью битами спроверкой на чет-
<span Courier New"">ность, можетизмениться (скажем, из-за шума в линии) на 0100 01110
<span Courier New"">(ASCII G), однакоприемник не обнаружит ошибку, так как провер-
<span Courier New"">ка на четностьвыполняется.
<span Courier New"">
<span Courier New"">
<span Courier New""> Связь с использованием стандартаRS-232C.
<span Courier New"">
<span Courier New""> Ранее мы упоминали о передаче по телефонной линии единиц и
<span Courier New"">нулей. Несмотря на то, что в персональном компьютере мы пред-
<span Courier New"">ставляем единицыи нули посредством уровней напряжения, сигналы,
<span Courier New"">передаваемые потелефонной линии обычно являются тонами различной
<span Courier New"">частоты. Устройство, которое находится между аппаратурой персо-
<span Courier New"">нальногокомпьютера и передающей линией и делает возможной пере-
<span Courier New"">дачу данных, называется модемом(модулятор/демодулятор). Модем
<span Courier New"">можетпреобразовывать информацию в представление «напряжение/нет
<span Courier New»">напряжения"цифровых схем и обратно, а так жеаналоговые сигналы
<span Courier New"">(например, тоны), предназначенные для передачи потелефонной ли-
<span Courier New"">нии. Стандарты, такие как RS-232C (выдвинутыйАссоциацией элект-
<span Courier New"">роннойпромышленности, EIA), описывают метод обмена информацией
<span Courier New"">между модемом (или, в соответствии с терминологией ассоциации
<span Courier New"">EIA, «аппаратура передачи данных, DCE») и связной аппаратурой
<span Courier New"">персонального компьютера (или «оконечная аппаратура обработки
<span Courier New»">данных, DTE"). Модем может работать в двухрежимах: полудуплекс-
<span Courier New"">ном и дуплексном. В полудуплексномрежиме модем может осущест-
<span Courier New"">влять передачутолько в одном направлении в один промежуток вре-
<span Courier New"">мени, в то время как при работе в дуплексном режиме
<span Courier New"">осуществляетсянезависимая двухсторонняя связь. Стандарт RS-232C
<span Courier New"">обеспечиваетуправление такими сигналами, как «запрос-на-передачу
<span Courier New»">(RTS)" и«открыт-для -передачи (CTS)», которые могут быть исполь-
<span Courier New"">зованы для координации процесса передачи и приемаданных. Термин
<span Courier New"">«квитированиеустановления связи» используется для описания коор-
<span Courier New"">динации приема ипередачи сигналов. Как показано нарисунке 8-3,
<span Courier New"">стандарт RS-232Cсоответствует кабелю и соединителям, используе-
<span Courier New"">мым для связиперсонального компьютера и модема.
<span Courier New""> Несмотря на то, что мы использовали модем в качестве примера
<span Courier New"">аппаратурыпередачи данных (DCE), другиеустройства, такие как
<span Courier New"">«мышь»или принтер с соответствующей схемой, также могут обмени-
<span Courier New"">ваться данными сперсональным компьютером черезпоследовательный
<span Courier New"">порт. Таким образом, в этой главе все упоминания омодеме прием-
<span Courier New"">лемы в равнойстепени как к последовательному принтеру так и к
<span Courier New"">последовательной«мыши».
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> ┌ ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ── ─ ─ ┐
<span Courier New""> ОАОД ┌───── Номер контакта──────┐ DCE
<span Courier New""> | ┌─────┐ ┌─────┐ |
<span Courier New""> | 2|─────────────ПД───────────|2 |
<span Courier New""> | | 3|──────────────П───────────|3 | |
<span Courier New""> | 4|─────────────ЗП───────────|4 |
<span Courier New""> | | 5|────────────ОДП───────────|5 | |
<span Courier New""> | 6|────────────ГПД───────────|6 | к
<span Courier New""> | |┌──7|───────────Общий──────────|7──┐| телефонной
<span Courier New""> | 8|───────────ДСПЛ───────────|8 | линии
<span Courier New""> | | 20|────────────ТДГ───────────|20 | | ^
<span Courier New""> | 22|─────────────RI───────────|22 | |
<span Courier New""> | | .| | . | |────┐ |
<span Courier New""> | .| | . | | |
<span Courier New""> ┌─| | .| |. | | | |
<span Courier New"">RS ---> | └─────┘ └─────┘ | |
<span Courier New""> | └ ─ ─ ── ─ ─ ─ ─ ─ ─ ─ ─ ── ─ ─ ─ ── ─ ─ ┘ | |
<span Courier New""> ┌───┴────┐ | |
<span Courier New""> │ │ |--| |
<span Courier New""> │ │ | ---|
<span Courier New""> ┌──┴────────┴──┐ ┌─┴───┴─┐
<span Courier New""> │ │ | |
<span Courier New""> └──────────────┘ └───────┘
<span Courier New""> PC или ОАОД Модемил
<span Courier New"">
<span Courier New""> ОАОД-оконечная аппаратура обработкиданных;RS-кабельRS-232C;
<span Courier New""> ПД — передача данных; П-прием данных; ЗП-запрос на передачу;
<span Courier New""> ОДП — открыт для передачи; ГПД — готов кпередаче данных;
<span Courier New""> ДСПЛ — детектор сигнала приемной линии;ТДГ -терминал данных
<span Courier New""> готов; АПД — или аппаратура передачи данных
<span Courier New"">
<span Courier New""> Рис.8-3. СвязьRS-232C.
<span Courier New"">
<span Courier New"">
<span Courier New""> Управление потоком с помощьюXON/XOFF
<span Courier New"">
<span Courier New""> В дополнение к квитированию установления связи посредством
<span Courier New"">аппаратныхсигналов RTS/CTS, для достиженияуправления потоком с
<span Courier New"">использованиемпрограммного обеспечения применяются специальные
<span Courier New"">управляющие символы ASCII (Control-Q/Control-S илиXON/ XOFF).
<span Courier New"">Управлять потокомнеобходимо ввиду того, что иногда либо передат-
<span Courier New"">чик либо приемник не могут поддерживать скорость передачи и они
<span Courier New"">должны иметьвозможность информировать другую сторону о необходи-
<span Courier New"">мости остановки на время, требуемое длятого, чтобы отставшая
<span Courier New"">сторона смогладогнать другую.
<span Courier New""> Предположим, что приемник имеет буфер дляхранения поступаю-
<span Courier New"">щих символов. Кактолько буфер после заполнения закрывается, при-
<span Courier New"">емник можетпослать символ XOFF передатчику, сигнализируя, что
<span Courier New"">передача должнабыть приостановлена. Конечно, приемник должен по-
<span Courier New"">нять значениеXOFF и прекратить передачу символов. Затем, когда
<span Courier New"">приемникобработает символы (скажем, запишет их вфайл на диске)
<span Courier New"">и буферосвободится, тогда посылается символXON, показывающий,
<span Courier New"">что передачаможет быть продолжена. Эта схемауправления потоком
<span Courier New"">широкоприменяется ввиду ее простоты. Большинство связных прог-
<span Courier New"">раммпредоставляют возможность дуплексной связи с управлением по-
<span Courier New"">током, основанномна применении символов XON/XOFF.
<span Courier New"">
<span Courier New"">
<span Courier New""> Последовательный порт с точки зрения программиста
<span Courier New"">
<span Courier New""> Аппаратура последовательного порта всистемах MS-DOS известна
<span Courier New"">какпоследовательный адаптер или асинхронный связной адаптер (да-
<span Courier New"">лее мы будем называть его последовательным адаптером). Адаптер
<span Courier New"">основан на Intel8259 UART (универсальный асинхронный приемопере-
<span Courier New"">датчик), имеетпорт RS-232C для подключения к модему и, как адап-
<span Courier New"">тер дисплея, программируется посредством наборарегистров. Мик-
<span Courier New"">ропроцессор имеет доступ к регистрам через ранее определенные
<span Courier New"">адреса портаввода/вывода.
<span Courier New""> Универсальный асинхронный приемопередатчик Intel 8250 управ-
<span Courier New"">ляетсяпосредством записи в набор восьмибитовых регистров и чте-
<span Courier New"">ния из них. Эти регистры доступны программисту черезадреса пор-
<span Courier New"">та. Адреса портов задаются последовательно, поэтому достаточно
<span Courier New"">знать адрес первого порта. Он также известенкак базовый адрес
<span Courier New"">последовательногоадаптера. В персональном компьютере IBM PC двум
<span Courier New"">последовательнымпортам COM1 и COM2 присвоены базовые адреса пор-
<span Courier New"">та 3F8h и 2F8hсоответственно. Так, для последовательного адапте-
<span Courier New"">ра COM1 первыйрегистр имеет адрес 3F8h, следующий 3F9h и так да-
<span Courier New"">лее.
<span Courier New""> В 8250 имеется семь физических регистров и они описываются в
<span Courier New"">порядкевозрастания начального номера, начиная с базового адреса.
<span Courier New"">Как показанона рисунке 8-4, базовый адрес порта имеет один ре-
<span Courier New"">гистр, который делится на два, как приемный буферный регистр и
<span Courier New"">регистр храненияпередачи (THR), который используется дляхране-
<span Courier New"">ния одногопередаваемого или принимаемого символа. Затем следует
<span Courier New"">регистрразрешения прерываний, которыйиспользуется для разреше-
<span Courier New"">ния илиблокировки генерации прерываний последовательным адапте-
<span Courier New"">ром. Третий регистр, называемый регистромидентификации прерыва-
<span Courier New"">ний, содержит сообщение универсального асинхронного
<span Courier New"">приемопередатчика об идентичности прерывания. Затем следует ре-
<span Courier New"">гистр управлениялинией, используемый для установленияразличных
<span Courier New"">связных параметров, таких как длина слова, количествостоповых
<span Courier New"">битов, четность и скорость передачи в бодах. Пятыйрегистр — это
<span Courier New"">региструправления модемом, который используется для передачи мо-
<span Courier New"">демусигналов, таких как DTR (терминал готов)и RTS (запрос на
<span Courier New"">передачу).Наконец, два последних регистра, регистр состояния ли-
<span Courier New"">нии и регистрсостояния модема, показывают соответственно состоя-
<span Courier New"">ние линии имодема.
<span Courier New""> Первые два регистра применяются также дляустановки скорости
<span Courier New"">передачи в бодах. Скорость передачи в бодах определяется как
<span Courier New"">16-битовыйделитель тактовой частоты, используемой для последова-
<span Courier New"">тельного адаптера(1.8432 МГц в большинстве систем MS -DOS). Зна-
<span Courier New"">чение делителявычисляется по формуле
<span Courier New"">
<span Courier New""> 1,843,200
<span Courier New""> делитель= ------------------------------
<span Courier New""> 16 Х скорость передачи в бодах
<span Courier New"">
<span Courier New""> Чтобы установить скорость передачи вбодах, Вы должны проде-
<span Courier New"">лать следующее:
<span Courier New""> 1. Установить в 1 наиболее значимыйбит регистра управления
<span Courier New""> линией (он называется битом защелкидоступа делителя или
<span Courier New""> DLAB).
<span Courier New""> 2.Загрузить младший и старший байтыделителя соответственно в
<span Courier New""> приемный буфер и регистр разрешенияпрерываний.
<span Courier New""> 3. Установить DLAB в 0 для обеспечениянормальной работы уни-
<span Courier New""> версального асинхронногоприемопередатчика.
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> A Приемный буфер/регистр хранения передачи
<span Courier New""> B ┌───┬───┬───┬───┬───┬───┬───┬───┐
<span Courier New"">(COM1-3F8|1.| | | | | | | 2.|
<span Courier New"">COM2-2F8)└───┴───┴───┴───┴───┴───┴───┴───┘
<span Courier New"">
<span Courier New""> Регистр разрешения прерывания
<span Courier New""> B+1 ┌───┬───┬───┬───┬───┬───┬───┬───┐
<span Courier New""> | 0 | 0 | 0 | 0 | 3.| 4.| 5.| 6.|
<span Courier New""> └───┴───┴───┴───┴───┴───┴───┴───┘
<span Courier New""> Установить бит в 1 для разрешения
<span Courier New"">
<span Courier New""> Регистр идентификации прерывания
<span Courier New""> B+2 ┌───┬───┬───┬───┬───┬───┬───┬───┐
<span Courier New""> | 0 | 0 | 0 | 0 | 0 | | |7.|
<span Courier New""> └───┴───┴───┴───┴───┴───┴───┴───┘
<span Courier New""> └─3-битовый идентификатор прерывания
<span Courier New""> 110 = состояниелинии
<span Courier New""> 100 = приемныеданные
<span Courier New""> 010 = буферпередачи свободен
<span Courier New""> 000 = состояниемодема
<span Courier New""> Регистр управления линией
<span Courier New""> B+3 ┌───┬───┬───┬───┬───┬───┬───┬───┐
<span Courier New""> | 8.| | 9. |10.| 11. |
<span Courier New""> └───┴───┴───┴───┴───┴───┴───┴───┘
<span Courier New""> └─BREAK: 1 устанавливаетлинию в SPACE
<span Courier New""> Регистр управления модемом
<span Courier New""> B+4 ┌───┬───┬───┬───┬───┬───┬───┬───┐ a. — OUT2
<span Courier New""> | 0 | 0 | 0 |12.| a.| b.| c.| d.| b. — OUT1
<span Courier New""> └───┴───┴───┴───┴───┴───┴───┴───┘ c. — RTS
<span Courier New""> └──13. d. — DTR
<span Courier New""> Регистр состояния линии
<span Courier New""> B+5 ┌───┬───┬───┬───┬───┬───┬───┬───┐
<span Courier New""> | 0 |14.|15.|16.|17.|18.|19.|20.|
<span Courier New""> └───┴───┴───┴───┴───┴───┴───┴───┘
<span Courier New"">
<span Courier New""> Регистр состояния модема a. — RLSD
<s