- •Лабораторная работа №1 исследование работы устройства чтения и записи на гипком магнитном диске
- •Коды ошибок дисковой операции
- •Формат адресного поля для гибкого диска
- •Литература
- •Лабораторная работа №2 клавиатура
- •Биты статуса по адресу 0040:0017
- •Биты статуса по адресу 0040:0018
- •Литература
- •Лабораторная работа №3 изучение принципов работы параллельного порта
- •Назначение контактов 8-ми разрядного параллельного порта
- •Формат регистра состояния
- •Формат регистра управления
- •Литература
- •Лабораторная работа №4 Основы работы с устройством ввода типа «мышь»
- •Стандартный формат Microsoft (ms Mouse)
- •Формат Mouse System (pc Mouse)
- •Стандартный формат ps/2 Mouse
- •Литература
- •Лабораторная работа №5 модемы
- •Сигналы интерфейса rs-232
- •Стандартный набор ответов модема
- •Литература
- •Лабораторная работа №6 исследование монитора на базе элт
- •Литература
- •Лабораторная работа №7 Последовательный интерфейс rs-232c
- •Разводка разъема последовательной передачи данных db25
- •Разводка разъема последовательной передачи данных db9
- •Длина соединительного кабеля для rs-232c
- •Зависимость скорости передачи данных от значения делителя частоты
- •Назначение битов регистра управления прерываниями
- •Назначение битов регистра идентификации прерывания
- •Назначение битов управляющего регистра
- •Назначение битов регистра управления модемом
- •Назначение битов регистра состояния линии
- •Назначение битов регистра состояния модема
- •Литература
- •Лабораторная работа №8 матричные Принтеры. Расширенные возможности печати
- •Слово состояния принтера
- •Назначение битов параметра n
- •Р исунок 1 – Система нумерации иголок
- •Максимальные значения для параметров d0, d1, d2 для различных наборов символов
- •Литература
Длина соединительного кабеля для rs-232c
скорость передачи в бодах |
максимальная длина для экранированного кабеля, м |
максимальная длина для неэкранированного кабеля, м |
110 |
1524,0 |
914,4 |
300 |
1524,0 |
914,4 |
1200 |
914,4 |
914,4 |
2400 |
304,8 |
152,4 |
4800 |
304,8 |
76,2 |
9600 |
76,2 |
76,2 |
Уровни напряжения на линиях разъема составляют для логического нуля -15..-3 вольта, для логической единицы +3..+15 вольт. Промежуток от -3 до +3 вольт соответствует неопределенному значению. При подключении устройства к разъему интерфейса RS-232-C (а также при соединении двух компьютеров нуль-модемом), необходимо предварительно выключить компьютер, а также снять статический заряд (подсоединив заземление). В противном случае можно вывести из строя асинхронный адаптер. Земля компьютера и земля внешнего устройства должны быть соединены вместе.
Программирование асинхронного адаптера. Подключение внешних устройств к системной шине, для связи с процессором, выполняется через дополнительные переходные устройства - адаптеры. B архитектуре IBM PC регистры ввода/вывода соединяются с системной шиной через порты. Порт рассматривается как байтовая ячейка в пространстве адресов ввода/вывода; диапазон адресов — от 0 до 0ffff. Поскольку общая размерность регистров устройства, как правило, превышает один байт, для соединения с устройством используется массив портов. Начальный адрес массива портов при соединении с некоторым устройством называют базовым адресом этого устройства.
Имеются функции MS-DOS и BIOS, предназначенные для работы с адаптером. Однако они не отличаются функциональной полнотой. Например, используя только функции MS-DOS нельзя проанализировать ошибочные ситуации и изменить режим работы асинхронного адаптера. Функции BIOS, обслуживающие адаптер, более разнообразны. Однако и им присущи недостатки. Например, нельзя установить скорость передачи более 9600 бод или использовать режим фиксации четности. Нет возможности узнать текущий режим асинхронного адаптера, отсутствует поддержка модема. Поэтому для программирования асинхронного адаптера лучше использовать порты ввода/вывода микросхемы 8250.
Порты асинхронного адаптера. Способ доступа к регистрам устройства определяется схемой их подключения к портам ввода/вывода. Если количество программно доступных регистров устройства превышает 6-7, то к одному порту обычно подсоединяют несколько регистров через схему коммутации. Регистр данных передатчика и регистр данных приемника последовательного канала связи подключены к общему порту, расположенному по смещению 0 от базового адреса устройства. При чтении этого порта к нему подключается регистр данных приемника последовательного канала связи, а при записи - регистр данных передатчика.
На этапе инициализации системы, модуль POST BIOS тестирует имеющиеся асинхронные порты RS-232-C и инициализирует их. В зависимости от версии BIOS инициализирует первые два или четыре порта. Их базовые адреса располагаются в области данных BIOS, начиная с адреса 0000:0400h.
Первый адаптер COM1 имеет базовый адрес 3F8h и занимает диапазон адресов от 3F8h до 3FFh. Второй адаптер COM2 имеет базовый адрес 2F8h и занимает адреса 2F8h...2FFh. Третий адаптер COM3 имеет базовый адрес 3E8h и занимает диапазон адресов от 3E8h до 3EFh. Четвертый адаптер COM4 имеет базовый адрес 2E8h и занимает адреса 2E8h...2EFh.
Асинхронные адаптеры могут вырабатывать прерывания:
COM1, COM3 - IRQ4 (соответствует INT 0Ch);
COM2, COM4 - IRQ3 (соответствует INT 0Bh).
Регистр данных (base_adr). Регистр данных расположен непосредственно по базовому адресу порта RS-232-C и используется для обмена данными и для задания скорости обмена. Для передачи данных в этот регистр необходимо записать передаваемый байт данных. После приема данных от внешнего устройства принятый байт можно прочитать из этого же регистра. В зависимости от состояния старшего бита управляющего регистра (расположенного по адресу base_adr + 3, где base_adr соответствует базовому адресу порта RS-232-C), назначение этого регистра может изменяться. Если старший бит равен нулю, регистр используется для записи передаваемых данных. Если же старший бит равен единице, регистр используется для ввода значения младшего байта делителя частоты тактового генератора. Изменяя содержимое делителя, можно изменять скорость передачи данных. Старший байт делителя записывается в регистр управления прерываниями по адресу base_adr + 1. Зависимость скорости передачи данных от значения делителя частоты представлена в таблице 4.
Таблица 4
