Аппаратные интерфейсы ПК - [214]
Для клавиатуры USB или иного устройства ввода, заменяющего клавиатуру в качестве консоли, прерывание >Int 9h должно вызываться программно при обработке каждого клавиатурного события. Обработчик этого прерывания должен выполнять те же действия: скан-код пропускать через >Int 15h(4Fh) и помещать в клавиатурный буфер, а также модифицировать флаги клавиатуры.
Интерфейс прикладного уровня для клавиатуры представляет BIOS>Int 16h. Его основное назначение — извлечение слов из клавиатурного буфера. Функция задается в регистре >АН при вызове, результат помещается в регистр >АХ.
♦ >АН = 00h — чтение (с ожиданием готовности) и выборка слова из буфера (меняется указатель хвоста). Индикаторы клавиатуры обновляются в соответствии с состоянием флагов. Если буфер пуст, то на AT выполняется прерывание >Int 15h (подфункция 90), что может использоваться ОС, например, для переключения задач. Чтобы программа не «зависала» на ожидании символа, предварительно стоит проверить готовность функцией 01h. Символы расширенной клавиатуры фильтруются — преобразуются в их аналоги 83-клавишной клавиатуры.
♦ >АН = 01h — проверка готовности, чтение без выборки (указатели не изменяются). Признак наличия символа в буфере — установленный флаг >ZF.
♦ >АН = 02h — чтение состояния флагов (в >AL — байт 0:417h, см. выше).
♦ >АН = 03h — установка задержки и частоты автоповтора: >BL — код задержки (00=250, 01=500, 02=750, 03=1000 мс), >ВН — код частоты (см. п. 9.2.1).
♦ >АН = 05h — запись слова из регистра >СХ в буфер (меняется указатель головы). Признак успешной записи — >AL=0, если в буфере нет места, то >AL=1.
♦ >АН = 10h и >AH = 11h — функции, аналогичные 00h и 01h, но предназначены специально для 101/102-клавишных клавиатур — в них не выполняется фильтрация символов расширенной клавиатуры. Для ряда клавиш, отсутствующих в клавиатуре АТ-84, эти функции дадут результаты, отличающиеся от вызовов 00h и 01h.
♦ >AH=12h — чтение расширенного состояния флагов (в >АХ — слово >KbdShiftFlags101Rec), в котором младший байт совпадает с тем, что дает функция 02h (слово из 0:417h), а старший байт похож на слово из 0:418h. Назначение бит >АХ:
• бит 0 — клавиша >Shift (правая) нажата;
• бит 1 — клавиша >Shift (левая) нажата;
• бит 2 — клавиша >Ctrl (любая) нажата;
• бит 3 — клавиша >Alt (любая) нажата;
• бит 4 — включен индикатор >Scroll Lock;
• бит 5 — включен индикатор >Num Lock;
• бит 6 — включен индикатор >Caps Lock;
• бит 7 — включен режим >Insert;
• бит 8 — клавиша >Ctrl (левая) нажата;
• бит 9 — клавиша >Alt (левая) нажата;
• бит 10 — клавиша >Ctrl (правая) нажата;
• бит 11 — клавиша >Alt (правая) нажата;
• бит 12 — клавиша >Scroll Lock нажата;
• бит 13 — клавиша >Num Lock нажата;
• бит 14 — клавиша >Caps Lock нажата;
• бит 15 — клавиша >SysReq нажата.
Функции чтения буфера (00 и 10h) в регистре >AL возвращают ASCII-код символа, в >АН — скан-код. Символы, полученные нестандартным способом (в русском регистре или >Alt-набором), сопровождаются нулевым скан-кодом. >Alt-набор позволяет ввести в буфер любой символ — для этого его код в десятичной системе набирается на цифровой клавиатуре при нажатой клавише >Alt, результат заносится в буфер при отпускании клавиши >Alt.
При >AL=0 регистр >АН содержит расширенный ASCII-код (Extended ASCII Keystroke). Дополнительные клавиши 101/102 клавиатур при использовании функций 10h-12h генерируют код E0h в младшем байте и скан-код, соответствующий аналогичным управляющим клавишам 83/84-клавишных клавиатур.
Функция записи (05h), несколько неожиданная для клавиатуры, позволяет легко имитировать работу оператора для различных демонстрационных программ. Если прикладная программа не перехватывает обслуживание клавиатуры на уровне аппаратного прерывания (>Int 9h), то резидентная программа может ей «подбрасывать» слова в буфер, которые будут восприниматься как нажатие клавиш.
ASCII-коды буфера, соответствующие нажатию клавиш, приведены в [1, 7]. При русификации (или другой локализации) клавиатуры отслеживание переключения регистров (языков) ложится на обработчик аппаратного прерывания клавиатуры.
12.8.2. Int 10h — видеосервис
Int 10h — видеосервис — предназначен для работы с графическим адаптером. Его первичной задачей является управление видеорежимом (BIOS Video Mode), определяющим формат экрана. BIOS адаптера должна выполнять программирование всех стандартных и специфических управляющих регистров для установки (смены) требуемого видеорежима и выбранных параметров развертки — кроме нее о способах этих переключений остальное ПО может и не знать.
В пределах возможностей установленного видеорежима видеосервис предоставляет возможности отображения информации на различных уровнях. Простейший для программиста телетайпный режим позволяет посылать поток символов, которые будут построчно отображаться на экране с отработкой символов возврата каретки, перевода строки, обеспечивая «прокрутку» изображения при заполнении экрана. Есть функции и для полноэкранной работы с текстом, при которой доступны и атрибуты символа. В графическом режиме имеется возможность чтения и записи пиксела с указанными координатами. Однако видеосервисом
Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches».
Книга посвящена вопросам ремонта и обслуживания импульсных источников вторичного электропитания, которые используются практически во всем современном импортном и отечественном радиоэлектронном оборудовании.В книге рассмотрены теоретические вопросы проектирования и расчета импульсных источников питания, подробно описаны основы их схемотехники и принципы функционирования. Описываются различные способы стабилизации выходных напряжений, способы защиты источников питания от перегрузок во вторичных цепях, а также рассматриваются способы отключения источников питания при повышении выходных напряжений выше установленных пределов.В качестве примеров рассмотрены источники питания современных компьютеров AT и ATX форм-факторов.
Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров.
Вы приобрели нетбук? И теперь хотите понять, чем он отличается от привычного всем ноутбука? Тогда вы держите в руках действительно необходимую книгу. Прочитав ее, вы не только освоите все тонкости, относящиеся к работе с нетбуками, но и узнаете о том, как работать на компьютере. Вы научитесь выбирать мобильный компьютер и аксессуары к нему, узнаете, как установить и настроить операционную систему, научитесь пользоваться пакетом Microsoft Office, выясните, какие программы следует иметь на жестком диске, как защитить сам ноутбук и данные на нем, можно ли модернизировать нетбук и что делать в случае его поломки.
Определение своего положения с помощью GPS навигатора, отдельного прибора, или устройства, встроенного в карманный компьютер или сотовый телефон, уже стало совершенно обычной вещью.Постепенно столь же привычным становится определение положения объекта с помощью систем телематики на основе GPS/GSM/GPRS, когда на мониторе компьютера или экранчике сотового телефона можно увидеть участок карты с отметкой, где находится другой человек или его автомобиль.«GPS» — это первые буквы английских слов «Global Positioning System» — глобальная система местоопределения.
Рассмотрены основы информатики и описаны современные аппаратные средства персонального компьютера. Сформулированы подходы к определению основных понятий в области информатики и раскрыто их содержание. Дана классификация современных аппаратных средств персонального компьютера и приведены их основные характеристики. Все основные положения иллюстрированы примерами, в которых при решении конкретных задач используются соответствующие программные средства.Рекомендуется для подготовки по дисциплине «Информатика».