Мышка в Орион-128 по журналу Радиолюбитель
Как подключить мышь к Ориону-128, работа с мышкой
Публиковалось в журнале Радиолюбитель №4 - 1995 год
Р. ИШ, 606000, Россия, Нижегородская обл., г. Дзержниск, пр. Ленина, 58-3.
Подключение мыши в 2004г, контроллер для мышки
MICROSOFT SERIAL MOUSE В ПРК "ОРИОН-128"
Манипулятор "мышь" - одно из наиболее распространенных устройств,
повышающих удобство при работе с компьютером.
Среди пользователей ПК "Орион" распространены несколько простейших схем
подключении "мышеи" с выводом информации в виде байта многопроводным
шпуром (польская Poltik Mouse- ММП 832, "мышь" ПК "БК-0010" - УВК-0l и
т.д.). Эти схемы были разработаны из расчета максимальной простоты
изготовления, для тою чтобы пользователь оценил преимущество
использования "мышки" вместо клавиш курсора.
В этой статье я расскажу как подключить к ПК "Орион" профессиональную
"мышь" стандарта Microsoft Serial Mouse от IBM PC. Существует несколько
конструкций "мышек": механические, оптико-механические и оптические. Как
показала практика, механические наименее надежны. Желающие подробнее
ознакомиться с "анатомией" этих устройств могут обратиться к (1).
Самым распространенным способом подключения "мышки" является подключение
через последовательный порт (serial port
- интерфейс RS-232C или "стык С2"). Существуют "мыши", подключаемые к
компьютеру па системную шину Х2 с помощью специального адаптера ("Bus mouse").
Такие устройства достаточно редки и здесь не будут рассматриваться.
АППАРАТНАЯ ЧАСТЬ
На рпс.1 приведена схема реализации последовательного порта в ПК
"Орион". Она выполнена па двух БИС: таймере DD1
- КР580ВИ53 и последовательном порте ввода-вывода DD2 - КР580ВВ51. Это
минимальный набор микросхем, образующих порт COM2. Если пользователю
необходим еще один последовательный порт (СОМ1), можно установить
дополнительную микросхему КР580ВВ51, о чем будет сказано ниже.
Расположение регистров микросхем в адресном пространстве компьютера:
0F730H - регистр данных КР580ВВ51 (COM1, на схеме отсутствует);
0F731Н - регистр управления КР580ВВ51 (СОМ 1, на схеме отсутствует);
' 0F734H - регистр данных DD2 КР580ВВ51 (COM2);
0F735H - регистр управления DD2 КР580ВВ51 (COM2);
0F738H - счетчик канала О DD1 КР580ВИ53;
0F739H - счетчик канала 1 DD1 КР580ВИ53;
0F73AH - счетчик канала 2 DD1 КР580ВИ53;
0F73BH - регистр управления DD1 КР580ВИ53.
Данная распортовка является стандартной для ПК "Орион" [2].
Стандарты адресов и разьемов Х1, Х2, Х3, Х4 и прочих
Собственно дешифратор на схеме рис. 1 отсутствует, так как у
читателей он, возможно, уже собран, например на ПЗУ, а тем, кто повторил
схему, опубликованную в [3], можно посоветовать подключить
дополнительную микросхему К155ИД4 к выводу 4 МС DD1 (по рис.5 [3])
аналогично уже подключенной МС DD2. Проделав эту операцию, на выводах 9,
10,11, 12 вновь подключенной микросхемы вы получаете сигналы выборки
адресов F730...F733, F734...F737, F738...F73B; F73C...F73F
соответственно.
Вернемся к схем с рис. 1. Таймер DD1 служит для генерации импульсов
синхронизации приема/передачи, поступающих на входы RxC и ТхС. Это
делается путем деления частоты, подаваемой с внешнего генератора,
собранного на МС DD3. Коэффициент деления таймера программируется
пользователем в зависимости от скорости приема или передачи.
Предполагается, что внутренний коэффициент деления порта ВВ51 равен 16.
Значения коэффициентов для различных скоростей приема и передачи
приведены в табл.1.
Па МС DD6, DD4 и DD5 собрана схема согласования входов и выходов порта с
внешними устройствами по стандарту V.24, "стык С2". Вели вы испытываете
затруднения с микросхемами К170УП2 и К170ЛП2, можно собрать схему на
транзисторах [4].
Разъем XI - системный разъем Г1К "Орион", Х2 - разъем последовательного
интерфейса. Существует две разновидности этих разъемов: девятиштырьковый
"Canon" DB-9 и двадцатипятиштырьковый "Canon" DB-25 (отечественные
аналоги СПП101-9 и СНП101-25). Ваша "мышка" может быть оснащена одним из
этих двух типов разъемов (гнездовой частью). В габл.2 вы найдете
описание сигналов интерфейса RS-232C. а также соответствие контактов
разъемов DB-9 и DB-25.
Как отмечалось выше, предлагаемая схема подразумевает подключение еще
одного порта ввода/вывода СОМ1, поэтому тс, кому он необходим для связи
с другим компьютером, графопостроителем, модемом и т.п., могут легко его
установить. Для этого необходима дополнительная микросхема KP580BB5I.
Она подключается аналогично МС DD2 за исключением нескольких выводов:
входы 25 п 9 подключаются к выходу 10 МС DD1, вход 11 (/CS) - к выходу
выборки адресов F730...1-733 вашего дешифратора. Кроме КР580ВВ51 еще
потребуется схема согласования (DD4'...DD6'), которая включается
совершенно аналогично.
Таблицы:
КОНСТРУКТИВНОЕ ИСПОЛНЕНИЕ
Рисунок печатной платы устройства не приводится, так как это далеко не последнее устройство, подключаемое к системной шине ПК "Орион". Авторы компьютера рекомендуют кросшиновый конструктив: параллельно расположенные ответные части разъемов СНП-59-96 или СПО-53-60 с распаянными параллельно одноименными контактами. При таком решении изготавливать для каждого устройства свою плату и ставить сев крейт нецелесообразно - получается слишком толстый "бутерброд". Поэтому рекомендую читателям установить в крейт одну большую макетную плату, примерно равную по площади основной плате ПК "Орион", и на ней собрать дешифратор [3], предлагаемую схему, порт Centronics [3], а в дальнейшем - и другие устройства.
ПРОГРАММНАЯ ПОДДЕРЖКА
Двухкнопочные "мыши" Microsoft Mouse используют трех-байтный формат
передачи данных со скоростью 1200 бит/с, 7 бит данных без контроля на
четность, один столовый бит. Старший бит во всех грех байтах не
используется. Пока "мышь" не двигается и на ней не нажимаются кнопки, по
интерфейсу ничего не передастся. Как только с "мышкой" что-нибудь
происходит (начинается движение, нажимаются или отпускаются кнопки), она
передает свое состояние в компьютер в виде трехбайтного пакета,
расшифровка которого приведена на рне.2.
Биты пакета Y0...Y7, Х0...Х7 показывают, насколько изменилось положение
"мыши" со времени посылки предыдущего трех-байтного пакета. Смещение по
осям X и Y передается в дополнительном коде и составляет or -128 до +128
единиц. Анализируя старший бит смещения, программа определяет, в какую
сторону двигалась "мышь". Положительное число вправо пли вниз,
отрицательное- влево или вверх. Расстояние измеряется в мышиных" шагах.
Для каждого типа "мышки" - свой шаг, который обычно указан на коробке.
Например, "мышь" Scpom LH150 имеет разрешение 250 точек на дюйм (250 dot
per inch), т.е. ее шаг составляет 1/250=0,004 дюйма.
Для приема данных от мыши на уровне "железа" разработан специальный
драйвер MOUSE, листинг которого приведен в табл.3. Драйвер необходимо
ассемблировать и держать на дисках "А:" или "В:". Адрес старта не имеет
значения, лишь бы он не "конфликтовал" с другими драйверами и
программами.
По адресу старта расположен вход в процедуру опроса готовности "мыши" и
получения от нее статуса кнопок и приращения коорллиат.
Эта процедура возвращает:
- флаг переноса С Y=1 при возникновении ошибки в BB5I в процессе
приема, в противном случае CY=1;
- регистр "A"=OFFH - "мышь" не передает данные;
- регистр "A"<>OFFH -данные приняты. При этом биты аккумулятора
показывают состояние кнопок. Бит 0 - правая кнопка, бт I - левая кнопка;
"I" - нажато, "О" - отпущено. Регистр "В" смешение в дополнительном коде
по оси X, регистр "С" - по оси Y.
По [(адресу старта)->-3] расположен вход в подпрограмму быстрого опроса
активности "мыши" Возвращается СУ=1 при готовности байта, в противном
случае С Y=0.
АДАПТАЦИЯ ПРОГРАММЫ PENX4
Популярный графический редактор PENX4, созданный авторами IIK "Орион", заезживает того, чтобы к нему подключить "мышку". Переименуйте файл PENX4S в PNX и "посадите" его в память командой LPNX. Теперь с помощью Ml28$ или DUMPCOR$ измените код в памяти согласно табл.4 и 5. Вернувшись в ORDOS, директивой S PENX4M$ 0.219F создайте файл PENX4M$ ваш новый редактор. Обращаю внимание читателей на то, что адаптация возможна только для версии PENX4$ V4.00, распространяемoй фирмой "ORION-SOFT". В обновленном редакторе работают как "мышь", так и клавиатура. В вертикальном меню и в меню выбора цвета из палитры указатель перемещается движением "мыши" вверх и вниз, выбор пункта - нажатием и отпусканием левой кнопки "мыши". В горизонтальном меню, например, в режиме "РИСУНОК" указатель перемещается нажатием кнопок "мыши": влево - левая кнопка, вправо - правая. О меню выбора цвета из палитры следует сказать особо. В нем опрос клавиатуры происходит очень медленно, поэтому для фиксации выбранного цвета нужно нажать левую кнопку "мыши" и одновременно слегка сместить "мышь". При включенном режиме вывода координат движение "мыши" имеет некоторые особенности. Если "мышь" перемещается быстро, вывод координат запрещается. Только при медленном движении "мышки" координаты в левом нижнем углу экрана истинны. Это связано с особенностями редактора PENX4.
НАЧАЛО РАБОТЫ
Соберите схему (рнс.1) и еще раз внимательно ее проверьте, особенно
цепи земли и питания. Кроме напряжения +5 В, для питания схемы
необходимы еще два источника: -12 В и +12 В, от которых потребляется не
более 50 мА. Выключите компьютер, подключите собранную вами схему к
системному разъему, по "мышь" пока не подсоединяйте. Включите питание,
запустите PENX4MS. После появления генеральной заставки редактора
нажмите [ВК]. Теперь проконтролируйте
напряжения на разъеме Х2. Должна наблюдаться следующая картина: TxD
составляет примерно -10 В, DTR и RTS примерно +10 В. Когда убедитесь,
что эти напряжения присутствуют, подключайте "мышь".
Правильно собранная схема при исправных элементах начинает работать
сразу, в противном случае - проконтролируйте осциллографом основные
сигналы: входы 15 и 9 МС DD3.3 - импульсы ТТЛ -уровня 1536 кГц, выход 13
МС DD3.3 - 19200 Гц, на входе 3 МС DD2 - импульсы ТТЛ-уровня при
движении "мыши". Убедитесь, что с системной шины на МС DD1 и DD2
поступают сигналы управления (/WR, /RD, Т1), данных D0...D7 и
адреса АО, Д1. Обратите внимание на инвертор па элементе DD3.3. Сигнал
RESET, снимаемый с контакта С30 системного разъема, необходимо
инвертировать. На схеме [3] инвертор ошибочно отсутствует.
В заключение хотелось бы дать несколько советов по приобретению
манипулятора "мышь" для работы в составе предлагаемой схемы, а в
перспективе - и с ПК "Orion-pro".
Обычно на коробках, в которых продаются "мыши", пишут их характеристики
на английском языке. Итак: приобретаете ТОЛЬКО совместимые с Microsoft
устройства (Microsoft mouse compatible), желательно оптико-механические
(Encoding mechanism: Opto-mechaical encoding) со скоростью передачи
данных 1200 Вод (Baud rate: 1200 band) и протоколом RS-232 (Standart
RS-232 output).
На рынке внешних устройств для ПК имеются как двухкнопочные, так и
трехкнопочные "мыши". Третья кнопка (средняя) редко используется
программным обеспечением, поэтому такие "мыши" работают и в
двухкнопочном режиме, для чего у них снизу имеется переключатель режима
MS-2KEY PC-3KEY. Установите этот переключатель в положение MS-2KEY.
К устройству "мышь" как дополнительная принадлежность продается
специальный резиновый коврик (mouse pad). На нем "мышь" проскальзывает
меньше чем на столе и меньше забивается пылью.
С возникшими вопросами по ПК "Орион" и за разъемами "Сапой" можно
обращаться к автору статьи (не забудьте, пожалуйста, конверт с обратным
адресом).
Литература
1. А.Борзенко. Путешествие в мышиное царство. КомпьютерПресс, 1993, N
10.
2. В. Сугоняко, В.Сафронов. "Орнон-128":
Контроллер дисковода.
Радиолюбитель, 1993, N 5.
3. В. Сугоняко, В.Сафронов. "Орнон-128":
PRINT-MASTER.
Радиолюбитель, 1993, N 10.
4. А.Долгий. Контроллер последовательного интерфейса. Радио, 1989, N 6.
На предыдущую страницу На главную страницу На следующую страницу