Приемник смонтирован на двух печатных платах. На первой (рис. 2) установлены фотодиод VD1, микросхема DA1, конденсаторы С1—С4 и резистор R1. Ее размещают на лицевой панели внутри системного блока компьютера (способ крепления значения не имеет), закрыв металлическим экраном, соединенным с общим проводом. Напротив фотодиода VD1 в корпусе компьютера сверлят отверстие для прохода И К лучей, которое можно закрыть светофильтром из красного органического стекла.
На второй плате (рис.3) монтируют микросхему DD1
и конденсаторы С5, С6. Необходимо как можно точнее выдержать длину платы
(48 мм) и указанные на рисунке расстояния контактных площадок от ее левого
края. Это обеспечит надежное соединение приемника с компьютером. Плату
вставляют в дополнительную (короткую) часть любого свободного ISA-слота
таким образом, чтобы стрелка на ней была направлена в сторону лицевой панели.
Одноименные контактные площадки 1—3 обеих плат соединяют между собой ленточным
кабелем или жгутом из трех обычных проводов.
Платы рассчитаны на установку оксидных конденсаторов
К50-35, К50-16, керамических К10-17 или любых других малогабаритных, резистора
МЛТ-0,125. Микросхему К1056УП1 (DA1) можно заменить на КР1084УИ1 или импортную
ТВА2800 (с учетом различий в цоколевке). В качестве элемента DD1.1 пригоден
любой инвертор с открытым коллектором. Налаживания приемник не требует,
но иногда бывает полезно подобрать конденсатор С3, добиваясь максимальной
дальности действия.
В таблице приведен
исходный текст программы RCU.COM — драйвера ПДУ на
микросхеме КР1506ХЛ1 для телевизоров ЗУСЦТ, описанного в книге Ельяшкевича
С. А. "Цветные стационарные телевизоры и их ремонт" (М.: Радио и связь,
1980). При нажатии любой кнопки пульт передает серию из 14 ИК-импульсов,
длительностями интервалов между которыми закодирована посылаемая команда.
Приемник может работать и с другими, в том числе импортными ПДУ, но для
них придется написать соответствующий драйвер.
RCU.COM работает с операционной системой MS DOS
и загружается в память компьютера резидентно, позволяя прикладным программам
получать и выполнять команды, посылаемые с пульта. Программа состоит из
трех частей. Первая, начинающаяся меткой init, выводит на экран сообщение
о загрузке драйвера, инициализирует обработчики прерываний и оставляет
их резидентными в памяти.
Вторая часть — обработчик аппаратного прерывания
IRQ10, которому соответствует вектор 72Н. Компьютер выполняет ее после
приема от ПДУ каждого импульса, заполняет буфер but последовательностью
значений длительности интервалов между импульсами и считает их. Приняв
всю серию, обработчик выставляет в ячейке ре флаг готовности кода.
Для того чтобы получить принятую команду, прикладная
программа должна вызвать программное прерывание 2FH. Именно его обрабатывает
третья часть рассматриваемого драйвера. В зависимости от кода, загруженного
в регистр АХ перед вызовом, она работает по разному.
Свою основную функцию это прерывание выполняет при
вызове с кодом 0Е401Н. В регистре DX оно возвращает прикладной программе
принятый код, а в АХ — флаг его готовности. Нулевое значение флага готовности
говорит о том, что с момента последнего вызова прерывания новой команды
принято не было и кодом в DX пользоваться нельзя. Флаг, равный 1, свидетельствует
о приеме команды и необходимости прочитать из DX и сохранить ее код. Сделать
это нужно обязательно, так как до следующего вызова код может измениться.
Вызов с кодом 0Е400Н служит для проверки, загружен
ли в ОЗУ драйвер ПДУ. Если да, в регистре АХ будет возвращен код 0E4FFH.
Вызов прерывания 2FH с другими кодами приводит к исполнению "старого" обработчика,
действовавшего до загрузки программы RCU.COM.
Радио 8, 1999 С. КУЛЕШОВ, г. Курган