Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЫШЬ_1.doc
Скачиваний:
22
Добавлен:
24.08.2019
Размер:
501.76 Кб
Скачать

Лабораторная работа Изучение принципа работы и принципов связи с пэвм манипулятора "мышка"

1. Краткие сведения из истории изобретения

Вместе с появлением персональных компьютеров возникло и получило огромную популярность графическое устройство ввода информации – мышь - она же "индикатор позиций x и y", она же устройство управления манипуляторного типа. В настоящее время практически каждый персональный компьютер оснащен этим устройством. Более того, многие программы специально ориентированы на использование мыши. Например, графический редактор Picture Maker из пакета Story Editor. В этом редакторе можно сделать почти всю работу, не прикасаясь к клавиатуре (за исключением операции набора текстовых строк).

Количество компьютерных мышей на планете исчисляется сотнями миллионов. Один только Logitech - лидер в производстве компьютерных аксессуаров - выпускает около 50 миллионов мышей в год.

По одной из версий, мышь придумали в лаборатории Xerox, но это не так. Xerox придумал ксерокс, а мышь использовал только в 1973 году в компьютере Alto. Газета "New York Times" писала: "После того, как Xerox упустил из рук компьютерную мышь и лазерный принтер, он будет изо всех сил бороться с технологическим воровством".

Н а самом деле, мышь, "увидела свет" в 1964 году. Её изобрёл Дуглас Карл Энгельбарт (Douglas Carl Engelbart) из Стэнфордского исследовательского института. Энгельбарт работал над созданием манипулятора не один: он является автором идеи и разработчиком концепции, но само устройство сделал не он.

Первая мышь была сделана руками аспиранта по имени Билл Инглиш (Bill English) и выглядела как деревянная коробочка, которая перемещалась по столу на колёсиках, отсчитывая их обороты и развороты. Затем эта информация вводилась в компьютер и управляла перемещением курсора на экране. Энгельбарт не мог припомнить, кому принадлежит авторское право на название устройства: "Устройство выглядело как мышь с хвостом, и мы все в лаборатории его так и называли".

Позднее Джеф Рулифсон (Jeff Rulifson) существенно улучшил конструкцию мыши и разработал для неё программное обеспечение. Основное назначение манипулятора - целеуказание на экран дисплея. Потребность возникает во многих случаях автоматизации проектно-конструкторских работ, при использовании программ для редактирования изображений (графические редакторы), в игровых программах и т.д. В перечислении приборов, которые созданы для графического ввода (световое перо, джойстик, трекбол, планшет и др.) манипулятор "мышка" занимает особое место благодаря своим преимуществам. Этот прибор наименьший по размерам, удобный и недорогой, а типовая чувствительность датчика перемещения (200 микки на дюйм) достаточна для многих приспособлений. Микки – наименьшее расстояние на площади, которое может быть зарегистрировано при перемещении «мышки». Курсор, управляемый мышкой, можно переместить в какое-либо место экрана дисплея намного быстрее, чем это можно сделать с помощью клавиатуры.

2. Механическая и оптическая мыши

В соответствии с принципом действия различают механические и оптические мыши.

Оптическая мышь перемещается по специальному планшету, на поверхности которого нанесена сетка из разноцветных линий. Оптоэлектронный узел фиксирует направление движения манипулятора, посылая на планшет луч от светодиода и принимая отражённый сигнал. В беспроводных манипуляторах этого типа информация о перемещении передаётся инфракрасными лучами или радиосигналами.

Н а рисунках 2 и 3 показано внутреннее устройство механического манипулятора "мышь". На рисунке 2 отмечены следующие обязательные компоненты мыши: 1 – фотоизлучатель; 2 – фотоприемник; 3 – шарик; 4 - вращающийся валик; 5 - прижимное колесико; 6 – кнопка; 7 – кабель; 8 - контроллер (специальная микросхема).

Принцип работы механического манипулятора заключается в следующем. При перемещении мыши по поверхности шарик крутится, и его вращение передается двум взаимно перпендикулярным вращающимся валикам, которые генерируют сигналы перемещения "влево - вправо", "вверх - вниз". Каждый из двух вращающихся валиков имеет диск с прорезями. Круговое движение шара приводит к обороту валов с разложением общей скорости движения на две составные части с направлениями вправо - влево и вперед - назад. На каждом вале расположен диск с отворами на краю. Считывание наличия отверстия производится оптоэлектронными приборами (светодиоды, фотодиоды), из полученных сигналов формируются электрические импульсы, которые возникают через расстояние движения, которое равно микки. Также есть возможность узнать направление движения вдоль оси. Импульсов отсчета микки и показателя направления движения достаточно для подсчета чисел, которые служат относительными координатами поточного расположения "мышки". Координаты относительные в том смысле, что подсчитаны относительно позиции "мышки", в которой она была во время предыдущей передачи информации в ПЭВМ. Такое определение координат целесообразно, так как позволяет уменьшить поток данных от "мышки" в ПЭВМ. У "мышек" с повышенной чувствительностью датчика перемещения (600 микки на дюйм) поток данных в ПЭВМ повышенный, что усложнило аппаратуру и привело к использованию специального интерфейса для связи "мышки" с ПЭВМ (Microsoft Inport и IBM PS/2 pointing device port). Но в большинстве случаев для подключения "мышки" к ПЭВМ используют коммуникационный порт ПЭВМ. Поэтому электронные схемы "мышки" выполняют подсчет координат; подсчет скорости перемещения по отдельным координатам; определение нажатий или отпусканий клавиш; формирование сообщений для ПЭВМ и их передача через коммуникационный порт.

Компьютером управляют перемещением мыши по плоскости и кратковременными нажатиями правой и левой кнопок (эти нажатия называются щелчками). В отличие от клавиатуры мышь не может напрямую использоваться для ввода знаковой информации – ее принцип управления является событийным. Перемещения мыши и щелчки ее кнопок являются событиями с точки зрения ее программы - драйвера. Анализируя эти события, драйвер устанавливает, когда произошло событие и в каком месте экрана в этот момент находился указатель. Эти данные передаются в прикладную программу, с которой работает пользователь в данный момент. По ним программа может определить команду, которую имел в виду пользователь, и приступить к ее исполнению.

Комбинация монитора и мыши обеспечивает наиболее современный тип интерфейса пользователя, который называется графическим. Пользователь наблюдает на экране графические объекты и элементы управления. С помощью мыши он изменяет свойства объектов и приводит в действие элементы управления компьютерной системой, а с помощью монитора получает от нее отклик в графическом виде.

Стандартная мышь имеет только две кнопки, хотя существуют нестандартные мыши с тремя кнопками или с двумя кнопками и одним вращающимся регулятором. В последнее время все большее распространение получают мыши с колесиком прокрутки, расположенным между двумя кнопками и позволяющим выполнять прокрутку в любых приложениях Windows. Функции нестандартных органов управления определяются тем программным обеспечением, которое поставляется вместе с устройством.

К числу регулируемых параметров мыши относятся: чувствительность (выражает величину перемещения указателя на экране при заданном линейном перемещении мыши), функции левой и правой кнопок, а также чувствительность к двойному нажатию (максимальный интервал времени, при котором два щелчка кнопкой мыши расцениваются как один двойной щелчок). Программные средства, предназначенные для этих регулировок, обычно входят в системный комплект программного обеспечения – мы рассмотрим их при изучении операционной системы.

Определение скорости (трехклавишная "мышка" Genius-MS) позволяет при обработке сообщений от "мышки" воспользоваться экстраполяцией для определения будущего расположения курсора, что важно при быстрых перемещениях "мышки", или с той же целью, когда скорость "мышки" превзойдет определенный уровень, менять вдвое отношение пиксель/микки при отображении движений курсора на экране.

Важно знать две важных характеристики своей мыши: какой у нее интерфейс и какой она использует протокол.

Интерфейс - это совокупность аппаратных параметров мыши, включающая такие параметры, как используемые мышью прерывания, порты ввода-вывода и количество контактов в разъеме. Однозначного алгоритма определения типа интерфейса мыши не существует.

Первый, самый старый тип - это типа COM. На конце находится плоский двухрядный разъём, обычно девятиконтактный (но встречались и 25-ти контактные). Подобным же разъёмом модемы соединяются с компьютером. Применяется в старых корпусах, типа АТ.

Более новый - типа PS/2. Это круглый шестиконтактный разъём, который впервые появился в компьютерах IBM того же названия - собственно оттуда и название разъёма. Долго влачил жалкое существование только на этих типах компьютерах IBM, которые благополучно вымерли. Вторую жизнь этому разъёму дало появление корпусов типа АТХ, в которых этот разъём становится стандартным. Мыши типа PS/2 подключаются не к плате расширения, а к специальному разъему (PS/2 Auxiliary Device port) на контроллере клавиатуры. Этот разъем похож на разъем для подключения клавиатуры. В настоящее время успешно существует совместно с разъёмом типа COM и ожидает, когда их выживет новый, 3-й тип. Разъём PS/2 ОЧЕНЬ не любит, когда мышь выдёргивают при включенном компьютере - может при обратном включении пожечь порт компьютера.

USB - это плоский разъём с 4-мя контактами, который подключается к порту того же наименования. Совершенно безразлично относится к включению/отключению мышей (и не только) на ходу. Знаменит тем, что если мышей COM к одному компьютеру можно подключить парочку, мышей типа PS/2 - одну (или 3- в компании с 2-мя COM), то этих - до 127-ми!

Мыши типа Inport обычно подключаются к интерфейсной карте на материнской плате. Если разъем, который подключается к интерфейсной карте, круглый, имеет 9 контактов и желобок (направляющую выемку) с одной стороны, то вполне возможно, что у вас мышь типа Inport. Если только не Logitech, поскольку эти мыши внешне имеют те же характеристики. Различить их можно только если у вас сохранилась упаковка или руководство, в котором указан тип мыши.

Мыши типа ATI-XL - это вариант мышей типа Inport. Они подключаются к комбинированной карте, являющейся видео-адаптером и контроллером мыши. Если только вы не знаете точно, что у вас видеоадаптер ATI-XL (и следовательно мышь ATI-XL), то, скорее всего, у вас мышь другого типа.

Протокол — это чисто программная характеристика мыши. Большинство мышей Inport, Logitech и ATI-XL используют протокол ''BusMouse'', а мыши типа PS/2 используют протокол ''PS/2''.

Мышь типа COM самая медленная. Мышь типа PS/2 выдаёт 40 отсчётов в секунду (60 с Windows NT). Мышь типа USB - 125 отсчётов в секунду. При этом и PS/2 и USB мыши позволяют регулировать refresh rate до 200 отсчётов, что вполне достаточно даже для самого тяжёлого случая.

Электропитание "мышки" обеспечивается иногда с помощью гальванических батарей. Такие "мышки" не имеют "хвостов", т.к. связь с ПЭВМ у них через радиоканал. Но намного дешевле "хвостатые" "мышки", электропитание которых осуществляется через линии интерфейса коммуникационного порта (RS-232). Основные разновидности "мышек" - это двухклавишная Microsoft Mouse и трехклавишная Mouse System Mouse. Трехклавишная "мышка" может эмулировать двухклавишную (т.е. иметь такой же состав сообщений). Для изменения режима следует воспользоваться переключателем на корпусе "мышки" или включать электропитание, нажимая клавишу "мышки".

При движении мыши, нажатии или отпускании кнопок микросхема, стоящая в мыши, обрабатывает это событие и посылает в компьютер пачку байтов с информацией о событии. Приход байтов вызывает в компьютере аппаратные прерывания (IRQ3 или IRQ4), обрабатываемые драйвером мыши. Драйвер устанавливается либо при первом подключении мыши, либо при установке операционной системы компьютера. Хотя мышь и не имеет выделенного порта на материнской плате, для работы с ней используют один из стандартных портов, средства для работы с которыми имеются в составе BIOS. Драйвер мыши предназначен для интерпретации сигналов, поступающих через порт. Кроме того, он обеспечивает механизм передачи информации о положении и состоянии мыши операционной системе и работающим программам.

Рис. 4. Конструкция манипулятора мышь.

Для активизации мыши необходимо разместить обработчик на соответствующее аппаратное прерывание, размаскировать это прерывание и установить в порту биты питания мыши. Обработчик аппаратного прерывания обязан, помимо обработки приходящих от мыши данных, также восстанавливать в порту биты питания. Эти биты устанавливаются в порту базовый адрес, который называется Modem Control Register. Известны мыши, для питания которых нужно выдавать в этот порт число 8, число 0Bh, а также мышь, которая в зависимости от этого числа меняет свой режим работы (0B-MS, 08-PC). Драйвер TRUEDOX обеспечивает это переключение по функциям A0 (PC mouse) и A1 (MS mouse).

Существуют два распространенных протокола обмена - Microsoft Mouse и PC Mouse System.

Microsoft Mouse. Протокол обмена: 1200, N71 обеспечивает информацию о 2 клавишах. По каждому событию выдается пачка из 3 байт:

1

- 1 LB RB Y7 Y6 X7 X6

2

- 0 X5 X4 X3 X2 X1 X0

3

- 0 Y5 Y4 Y3 Y2 Y1 Y0

LB, RB - состояние клавиш, нажатая клавиша = 1. Остальные значащие биты- относительное пеpемещение в дополнительном коде со времени последней посылки.

Определить наличие мыши можно следующим образом: в порт xFC записать число 8, подождать, а потом опять 0Bh. На запись числа 0Bh мышь реагирует посылкой одного или нескольких байтов, среди которых обязательно должен быть байт 4Dh (буква 'M' в таблице ASCII).

PC Mouse System. Протокол обмена: 1200, N81. Обеспечивает информацию о 3 клавишах. По каждому событию выдается пачка из 5 байт:

1

1 0 0 0 0 LB MB RB

2

X7 X6 X5 X4 X3 X2 X1 X0

3

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

4

X7 X6 X5 X4 X3 X2 X1 X0

5

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

LB, MB, RB - состояние клавиш, нажатая клавиша = 0. Остальные значащие биты - относительное пеpемещение со времени последней посылки в дополнительном коде в друх частях, которые надо суммировать. Видимо, это связано с тем, чтобы не использовать X7 и Y7, чтобы не пересекаться с первым ключевым байтом.

Современные мыши могут переключаться между этими двумя протоколами тремя способами:

1. По нажатой средней кнопке в момент инициализации мыши.

2. Переключателем MS-PC.

3. Комбинацией напряжений на питающих пинах COM-порта.

В отличие от клавиатуры, мышь не является стандартным органом управления, и персональный компьютер не имеет для нее выделенного порта. Для мыши нет и постоянного выделенного прерывания, а базовые средства ввода и вывода (BIOS) компьютера, размещенные в постоянном запоминающем устройстве (ПЗУ), не содержат программных средств для обработки прерываний мыши.