![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Порт ввода-вывода можно определить как 8-, 16- или 32-раз рядный аппаратный регистр, имеющий определенный адрес в адресном пространстве ввода-вывода.
Принципиально управлять устройствами напрямую через порты несложно. Сведения о номерах портов, их разрядности, формате управляющей информации приводятся в техническом описании устройства. Необходимо знать лишь конечную цель своих действий, алгоритм, в соответствии с которым работает конкретное устройство, и порядок программирования его портов. То есть, фактически, нужно знать, что и в какой последовательности нужно послать в порт (при записи в него) или считать из него (при чтении) и как следует трактовать эту информацию. Для этого достаточно всего двух команд, присутствующих в системе команд процессора:
in <аккумулятор>,<номер_порта> – ввод в аккумулятор из порта с номером <номер_порта>;
out <номер_порта>,<аккумулятор> – вывод содержимого аккумулятора в порт с номером <номер_порта>.
В качестве примера рассмотрим, как на уровне аппаратуры заставить компьютер издавать звуки через свой внутренний динамик. На большинстве компьютеров это будет некоторый треск. Изменяя различные параметры программы, в идеале, вы можете получить звук, напоминающий сирену.
Как это ни удивительно, но специальной схемы генерации звука для внутреннего динамика нет. Сигнал для управления динамиком формируется в результате совместной работы следующих микросхем:
программируемого периферийного интерфейса (ППИ) i8255;
таймера i8253.
Дата публикования: 2014-11-28; Прочитано: 230 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!