Игровой д птер Этот интерфейс - интересное и полезное окошко в PC. Он позво- ляет в м подсоединить к системе дв джойстик или до четырех игро- вых ручек с помощью пл ты д птер , вст вляемой в слот р сшире- ния. К к пок з но н рис. 3-32, н 15-конт ктном D-р зъеме, уст нов- ленном н пл те д птер , имеются восемь доступных входных линий. 4 из них - цифровые, ост льные 4 - резистивные, или н логовые входы. Подключение джойстик пок з но н рис. 3-33. Н рисунке дв джой- стик подключены к 15-конт ктному D-р зъему т к, что Х-координ т вводится через входные конт кты 3 и 11, Y-координ т - через вход- ные конт кты 6 и 13. Н к ждый вход под ются сигн лы от 100К перемен- ного сопротивления, встроенного в джойстик. Н жимн я кнопк , или кнопк "огонь", подключ ется через входные конт кты 2 и 10. Вместе, резистивный вход (ХY координ ты) и вход н жимной кнопки формируют 8-битное слово д нных, которое можно прочит ть по дресу 00201Н. Входные конт кты D-р зъем могут быть соотнесены с 8-р з- рядным словом д нных в порте 201Н, к к пок з но н рис. 3-34. ^ +5 │ │ ┌───┐ ├─────┤ 1 │ ├─────┤ 8 │ ├─────┤ 9 │ └─────┤ 15│ 15- ┌──┐ ┌────────────┐ │ │ к │ │ A0-A9 │ │ │ │ о │ ├─────────┘\ │ │ │ │ н │ │ >┤ │ │ │ т │ ├─────────┐/ │ │ │ │ │ │ │ │ Цифровой вход │ 2 │ к │ │ AEN │ ИГРОВОЙ │ /└──────────────────────┤ 7 │ т │ ├───────────>┤ ├< (4) │ 10│ н │ │ │ │ \┌──────────────────────┤ 14│ ы │ │ IOW/ │ АДАПТЕР │ │ │ й │ ├───────────>┤ │ │ │ │ │ │ │ Резистивный вход │ │ D- │ │ IOR/ │ │ /└──────────────────────┤ 3 │ │ ├───────────>┤ ├< (4) │ 6 │ р │ │ │ │ \┌──────────────────────┤ 11│ │ │ D0-D7 │ │ │ 13│ з │ ├─────────┘\ │ │ │ │ ъ │ │ >┤ │ │ │ е │ ├─────────┐/ │ │ │ │ м │ │ │ │ ┌─────┤ 4 │ └──┘ └────────────┘ ├─────┤ 5 │ ├─────┤ 12│ Слоты р сширения │ │ │ │ └───┘ (к н л ввод /вывод ) ▀▀▀▀▀ Рис. 3 32. Восемь входных линий соединены с игровым д птером, вст вленным в один из слотов р сширения. + 5 ^ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ ┌─────┐ ДЖОЙСТИК А │ │ │ │ │ └───────┼ 1 o─┼────────────────────────┐ ( 100 К │ │ │ ─┴─ кнопк │ │ потенциометр) Кнопк А <────┼ 2 o─┼──────■ ■──┐ │ │ │ │ │ │ │ ┌────────────┼ 4 o─┼───────────┘ │ ▀▀▀ │ │ │ X │ │ Х координ т <┼ 3 o─┼──────────────────┐ │ │ │ │ ┌──┴──┐ │ │ │ 5 o │ ┤ ├──┤ │ │ │ └─────┘ │ │ Y координ т <┼ 6 o─┼──────────────────┐ Y │ │ │ │ ┌──┴──┐ │ │ │ 7 o │ ┤ ├──┘ + 5 │ │ │ └─────┘ │ ^ │ 8 o │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ │ │ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ └───────┼ 9 o─┼────────────────────────┐ ДЖОЙСТИК B │ │ │ ─┴─ кнопк │ │ Кнопк B <────┼ 10o─┼──────■ ■──┐ │ ( 100 К │ │ │ │ │ │ потенциометр) ┌────────────┼ 12o─┼───────────┘ │ ▀▀▀ │ │ │ X │ │ Х координ т <┼ 11o─┼──────────────────┐ │ │ │ │ ┌──┴──┐ │ │ │ │ ┤ ├──┤ │ │ │ └─────┘ │ │ Y координ т <┼ 13o─┼──────────────────┐ Y │ │ │ │ ┌──┴──┐ │ │ │ 14o │ ┤ ├──┘ │ │ │ └─────┘ │ │ 15o │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ │ └─────┘ 15-конт ктный D-р зъем (вилк ) Рис. 3-33. Сигн лы н конт кт х р зъем игрового д птер для подключения п ры джойстиков Обозн чения конт ктов Функция D-р зъем ┌───────┐ │ │ ┌│ Бит 7 │ 14 Кнопк 2 \ ││ │ > Джойстик В Цифровые ││ Бит 6 │ 10 Кнопк 1 / ─┤│ │ входы ││ Бит 5 │ 7 Кнопк 2 \ ││ │ > Джойстик А └│ Бит 4 │ 2 Кнопк 1 / │ │ ┌│ Бит 3 │ 13 Y координ т \ ││ │ > Джойстик В Резистивные││ Бит 2 │ 11 X координ т / ─┤│ │ входы ││ Бит 1 │ 6 Y координ т \ ││ │ > Джойстик А └│ Бит 0 │ 3 X координ т / │ │ └───────┘ (Адрес 00201Н) Рис. 3-34. Связь между обозн чениями выводов и бит ми шины д нных ┌──────┐ ┌───┐ A4-A9 │ │ │ ├──────┘\ │ LS138│ │ │ >┤ ├─┐ │ ├──────┐/ │ (U2) │ │ │ │ │ │ │ ┌──────┐ │ │ AEN └──────┘ └>┤ │ │ ├───────────────────>┤ LS138│ │ ├─────────────────┘\ │ ├─┐ │ │ │ A0-A3 >┤ (U1) │ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │ ├─────────────────┐/ │ │ └─>┤ │ │ ├<──┬───────┤ ├<──│ 13 │ │ IOW/ └──────┘ │ LS32 │FIRE/ │ │ === C14 │ │ │ │ ├───────────────────────────────>┤ ├──┐ │ │ ├────┐ │ │ │ │ │ IOR/ │ (U3) │ │ │ │ === ▀▀▀ │ RP2 │ │ Резистивные │ ├───────────────────────────────>┤ │ │ │ 558 ├<──┴───────┤ ├<──│ 11 │ │ └───┬──┘ └──>┤ │ C13 │ 2.2K │ │ входы │ │ │ │ (U4) ├<──┬───────┤ ├<──│ 6 │ │ │ ENAB/ │ │ === C12 │ │ │ │ │ ┌───┴──┐ /└───┤ │ ├────┐ │ │ │ │ │ D0-D7 │ ├< │ │ === ▀▀▀ │ │ │ │ │ /└─────────────────────────────┤ LS244│ \┌───┤ ├<──┴───────┤ ├<──│ 3 │ ├< │ │ └──────┘ C11 └──────┘ │ __________ │ │ \┌─────────────────────────────┤ (U5) │ /└────────────────┐ ┌──────┐ │ │ │ │ ├< │ │ ├<──│ 14 Цифровые └───┘ └──────┘ \┌────────────┐ └─────┤ RP1 ├<──│ 10 │ │ │ │ входы └─────────┤ 1K ├<──│ 7 │ ├<──│ 2 └──────┘ │ │ │ Рис. 3-35. Схем игрового д птер . Схем игрового д птер пок з н н рис. 3-35. Чтобы использо- в ть игровой д птер, необходимо и прогр ммное, и пп р тное обес- печение. Прогр мм посыл ет д птеру переключ ющий сигн л с OUT н порт 201Н (десятичное 513). Схем д птер отвеч ет уст новкой входных резистивных конт ктов (3,6,11 и 13) в состояние логической 1 з период времени, пропорцион льный величине сопротивления в к ж- дой из этих линий. Прогр мм выполняет циклический опрос порт 201Н, определяя, к к долго логическ я 1 в к ждом из четырех подключенных резистив- ных входных битов возвр щ ется в 0. Количество циклов опрос прямо пропорцион льно сопротивлению, уст новленному в джойстике (или руч- ке). Величин сопротивления, уст новленного н 100К потенциометре в одном из н логовых входов, является сост вляющей временной це- почки, состоящей из 100К потенциометр , резистор , конденс тор и ч сти счетверенного т ймер NE558 (U4). U4 - просто четыре т ймер 555 в одном корпусе. Когд NE558 переключ ется при обр щении к д- ресу 201Н, все его четыре выход уст н влив ются в логическую 1 и временн я цепочк н чин ет обр тный отсчет. Этот уровень ост ется в 1 н время, определяемое уст новкой потенциометр к ждой ручки. Процедур в игровой прогр мме может регулярно проверять, ос- т ется ли выход т ймер в 1. Он дел ет это, чит я по дресу 201Н (IN 00201H). Когд он дел ет это, ИС 74LS244 (восемь буферных эле- ментов с тремя состояниями н выходе) (U5) выст вляет информ ци- онный б йт н шину д нных. Логические уровни к ждого из четырех мл дших битов в этом б йте могут быть прочит ны прогр ммой. Эти уровни предст вляют состояние выходов к ждого т ймер U4. Бит бу- дет в логической 1, пок т ймер производит обр тный отсчет. Счет- чик в прогр мме хр нит число проверок т ймер до того, к к его вы- ход изменился в 0. Когд считыв ется 0, прогр мм ост н влив ет счет н вели- чине (между 0 и 255), прямо пропорцион льной уст новке потен- циометр в ручке. Кнопочные переключ тели могут быть счит ны т ким же обр зом. В этом случ е ст ршие четыре бит 8-р зрядного слов д нных мо- гут быть счит ны прогр ммой. Если бит в логическом 0, то кнопк был н ж т . Н оборот, логическ я 1 в этой позиции озн ч ет, что кнопк р зорв н (нен ж т ). Т ким обр зом, прогр мм может периодически вызыв ть подпро- гр мму для постоянного н блюдения з кнопк ми. Прогр мм может быть н пис н т к, чтобы действов ть только при н ж той кнопке. Имейте в виду, что эти кнопки не з щищены от "дребезг ". Когд вы н жим ете н кнопку, конт кт "подпрыгнет" несколько р з перед тем, к к з мкнуться, т к что компьютер должен выполнить несколько считыв ний к ждого конт ктного вход (используя IN 00201H) до того, к к конт кт з мкнется.