
- •Введение
- •1. Общие принципы построения эвм и вычислительных систем
- •2.1. Взаимодействие клавиатуры с эвм
- •2.2. Устройство и программирование манипулятора мышь"
- •3. Видеосистемы
- •3.1. Структура видеосистем
- •3.2. Программирование видеосистем
- •3.4. Мониторы
- •3.5. Плазменные панели
- •3.6. Электронный цифровой проектор
- •4. Накопители информации на магнитных дисках
- •4.1. Структура накопителей информации на магнитных дисках
- •4.2. Физические принципы магнитной записи. Магнитная головка
- •4.3. Конструкция магнитных дисков
- •4.4. Кодирование и сжатие записываемой информации
- •4.5. Программирование работы диковых накопителей
- •5. Накопители цифровой информации типа cd-rom
- •5.1. Общие сведения о накопителях цифровой информации типа cd-rom
- •5.2. Структура каналов записи и чтения в системе cd
- •5.3. Circ кодирование
- •5.4. Circ декодирование
- •5.5. Конструкция оптического блока
- •5.6. Система слежения за дорожкой
- •5.6. Многофункциональные цифровые оптические диски - dvd
- •6.1. Назначение и устройство модемов
- •6.2. Программирование модемов
- •7. Сетевые устройства
- •7.1. Основные элементы сетей эвм
- •7.2. Сетевые адаптеры
- •7.3. Сетевое программное обеспечение
- •8. Звуковые платы
- •8.1. Структура зуковых плат
- •8.2. Программирование звуковых плат
- •9. Устройства ввода изображений в эмв
- •9.1. Сканеры
- •9.2. Программное обеспечение сканеров
- •9.3. Фотокамеры и видеокамеры
- •10. Принтеры
- •10.1. Устройство и принципы работы принтеров
- •10.2. Программирование принтеров
- •11. Многофункциональные измерительные платы
- •11.1. Характеристики и структура измерительных плат
- •11.2. Аналого-цифровые преобразователи
- •11.3. Цифро-аналоговые преобразователи
- •12. Цифровые системы связи и навигации
- •12.1. Системы цифровой подвижной связи
- •12.2. Спутниковые системы связи
- •12.3. Спутниковые навигационные системы
2.1. Взаимодействие клавиатуры с эвм
Непосредственное управление работой ЭВМ оператор (пользователь) осуществляет с помощью клавиатуры и манипуляторов. Клавиатура предназначена для введения алфавитно-цифровой информации и управления графическим курсором. Работой клавиатуры управляет специальная электронная схема - контроллер клавиатуры [3,4]. В его функции входит распознавание нажатой клавиши и помещение закрепленного за ней кода в свой выходной регистр (порт), обычно с номером 60h.
Процесс взаимодействия ЭВМ с клавиатурой отображен на рис.2.1. Код клавиши, поступающий в порт, называется скан - кодом. Каждой клавише присвоено два скан-кода: код нажатия и код отпускания, больший на 80h. Кнопки основной части клавиатуры образуют матрицу контактов из 23 строк и 4 столбцов, что сокращает количество необходимых проводников и контактов микросхемы контроллера.
Рис.2.1. Взаимодействие клавиатуры с системой
Нажатие и отпускание любой клавиши вызывает сигнал аппаратного прерывания, заставляющий процессор прервать выполняемую программу и перейти на программу обработки прерывания (ПОП) от клавиатуры INT09h (вектор прерывания имеет адрес 24h). Обработчик прерывания работает с двумя областями оперативной памяти: кольцевым буфером ввода, располагаемым по адресам от 40h:1Eh до 40h:3Dh, куда помещаются коды ASCII нажатых клавиш, и словом состояния (словом флагов) клавиатуры, находящимся по адресу 40h:17h, где фиксируется состояние управляющих клавиш (<Shift>, <Caps Lock>, <Num Lock>, и другие).
Если скан-код принадлежит одной из управляющих клавиш, и представляет собой код нажатия, то в слове флагов устанавливается в 1 бит (флаг), соответствующий нажатой клавише. Сброс флага происходит при отпускании такой клавиши.
При нажатии любой другой клавиши ее скан-код считывается из порта 60h и по таблице трансляции формируется двухбайтовый код, старший байт которого содержит скан-код, а младший - код ASCII, с учетом состояния слова флагов. Например, буквы Q и q находятся на одной клавише, и соответствующие им коды имеют вид: 1051h и 1071h.
Полученный в результате трансляции двухбайтовый код направляется в кольцевой буфер, который служит для синхронизации процессов ввода данных с клавиатуры и приема их выполняемой компьютером программой. Объем кольцевого буфера составляет 15 слов. Коды символов извлекаются из буфера в том порядке, в каком они в него поступали. Указатель начала содержит адрес первого из не считанных кодов, а указатель конца - адрес первой свободной ячейки буфера, куда будет записаны коды следующей нажатой клавиши. Совпадение содержимого указателей начала и конца соответствует опустошенности кольцевого буфера. При переполнении кольцевого буфера указатели не изменяются и ПОП формирует звуковой сигнал.
Пользовательские программы могут использовать программное прерывание INT 16h, предназначенное для работы с клавиатурой. Функции данного прерывание позволяют:
ожидать нажатия клавиши и считывать коды из кольцевого буфера, очищая эти ячейки (00h, 10h);
определять наличие (и коды) в кольцевом буфере не считанных кодов (01h, 11h);
получать состояние флагов клавиатуры (02h, 12h).
Прерывание DOS INT 21h тоже имеет несколько функций для обработки сигналов клавиатуры. Эти функции обеспечивают посимволь-ный ввод и обращение к клавиатуре, как к файлу.