ZXNet эхоконференция «hardware.zx»


тема: Маленькая доработка схемы контроллера мыши на AT89C2051 (MSC-51)



от: Eugene Stahov
кому: All
дата: 21 Aug 2000
Hello All. === Cut === ================== kmsps2 .t ================================= PS/2 -> Kempston Mouse Adapter v1.03 (c) 1999-2000 Studio STALL Версия для микроконтроллеров AT89C1051/AT89C2051 (MSC-51) (+) Изменена схема сброса - RC заменена на DD1D - теперь схема сбрасывается по общему сбросу (раньше только при включении) =============================================================== DD1A DD1B DD1C DD2A 1┌───┐ 4┌───┐ 9┌───┐ 1┌───┐ A7 ──────┤& 0───┬──┤& 0──────┤& 0──────┤1 ├──┐ A6 ──────┤ │3 └──┤ │6 ┌──┤ │8 ┌──┤ │3 │ 2└───┘ 5└───┘ │10└───┘ │ 2└───┘ │ A4 ─────────────────────────┘ │ │ A5 ────────────────────────────────────┘ DD2C │ ┌─────────────────────────────┘ DD2D │ 4┌───┐ DD2B 9┌───┐ 12┌───┐ └──┤1 ├────────┬──────┤1 ├───|<|── /WAIT /RD ─────┤1 ├────────┤ │6 │ ┌───┤ │8 /IORQ ───┤ │11 5└───┘ │ │ 10└───┘ 13└───┘ │ │ DD2C /CS │ │ ┌──/RES ┌───────────────────────┴──│─┐ │ DD1D │ ┌───────────────────────┘ │ │13┌───┐ │ │ C1 10uF + │ +5V ├──┤& 0──┐│ │ ┌────│────────────────┤ └──┤ │11││ │ 1┌───┬─────┬───┐20│ │1┌───┬────┬───┐20 12└───┘ └│──│───┤RES│ A │VCC├──┘ └─0 OC│ RG │VCC├─┘ MDAT───────│──│───┤P30│ T │P17├─────────┤ I7│ │O7 ├─────D7 │ └───┤P31│ 8 │P16├─────────┤ I6│ │O6 ├─────D6 │ ─┤X2 │ 9 │P15├─────────┤ I5│ │O5 ├─────D5 14MHZ ─────│──────┤X1 │ C │P14├─────────┤ I4│ │O4 ├─────D4 └──────┤P32│ 2 │P13├─────────┤ I3│ │O3 ├─────D3 MCLK──────────────┤P33│ 0 │P12├─────────┤ I2│ │O2 ├─────D2 A10───────────────┤P34│ 5 │P11├───┬─────┤ I1│ │O1 ├─────D1 A8────────────────┤P35│ 1 │P10├───│┬────┤ I0│ │O0 ├─────D0 ┌────┤GND│ │P37├─ ││ ┌──┤GND│IR33│ C ├── +5V │ 10└───┴─────┴───┘11 ││ │10└───┴────┴───┘11 ─┴─ DD3 ││─┴─ DD4 ┌─┘└─┐ ┌┴┐ ┌┴┐ R1,2 │ │ │ │ 1K └┬┘ └┬┘ └────┴──+5V Расположение контактов в PS/2 ┌──┐ ┌──┐ N/C 6 ──── ┌┘* └─┘ *└┐ ─── 5 MCLK +5V 4 ──── │* *│ ─── 3 GND N/C 2 ──── └─┐* *┌─┘ ─── 1 MDAT └─────┘ Вид на розетку со стороны контактов (не со стороны пайки) Микросхемы: DD1 1533ЛА3 DD2 1533ЛЛ1 DD3 AT89C2051 DD4 1533ИР33 (АHАЛОГ ИР22, HО БОЛЕЕ УДОБHАЯ ЦОКОЛЕВКА), можно и АП6, только с учётом цоколёвки Схема рассчитана на подключение к компьютеру, не имеющему конфликтов по порту #DF. Eсли конфликт все же есть, либо есть порт #FF, то необходимо собрать схему управления /IORQGE Kaк реализован интерфейс с компьютером? В состоянии ожидания линия P31=0, поэтому при обращении процессора к порту DF будет выдан /WAIT. После того, как нужная координата выдается, /WAIT отпускается переводом P31->1. После завершения Z80 цикла IOR P31->0. О назначении резисторов R1,2: Линии P10 и P11 не имеют внутренних подтягивающих резисторов. Дешифрация довольно жесткая: задействованы A7,А6,А5,А4,А10,А8 Данная схема поддерживает только 2-x-кнопочных мышей (у меня была только такая), у 3-х-кнопочных средня кнопка не используется. При включении, если не было ни одного перемещения мыши, а также, если мышь не подключена к разъему, из портов будет прочитано : #fadf (64223) = 255 - buttons #fbdf (64479) = 40 - x #ffdf (65503) = 41 Предупреждение: Данная версия прошивки не допускает подключения мыши при включенном компьютере. Прошивка версии 2.0 будет допускать: 1. Подключение мыши в "горячем" состоянии В данной версии контроллер "увидит" мышь по сбросу 2. Возможность переключения левой и правой кнопки, как из программы, так и кнопками самой мыши. 3. Возможность идентификации данной схемы (порт #FEDF) 4. Поддержка трехкнопочных (и более) мышей. ================== PS2DRV.HEX ===================== :1000000002002630B51730B40B85059000D2B1C27E :10001000B1D2213285049000D2B1C2B13285239091 :1000200000D2B1C2B13275A80175880175B80174EA :1000300028F50404F505E4F520F521F522C2B17593 :1000400023FFC221D2AF3021FDD2B374F475F00882 :10005000C2B020B3FD1392B030B3FDD5F0F413A2BB :10006000D0B320B3FD92B030B3FD20B3FDD2B03099 :10007000B3FD20B3FD30B3FDD2AF1200800200A665 :10008000D2B0D2B320B3FD30B3FD75F00820B3FD7C :10009000A2B01330B3FDD5F0F420B3FD30B3FD2092 :1000A000B3FD30B3FD227820D2AF1180F608B8231B :1000B000F9E5022521F502F504E5032522F503F50E :1000C00005A200B39219A201B3921880D9A2E1331C :0E00D00092E2A2E33392E4A2E53392E6C42268 :00000001FF ======== [ Пилите, Шура, пилите ... ] ========================= Планируется переход на микроконтроллер AT90C1200 (AVR) - длительность /wait сократится в 12 раз микроконтроллер по цоколевке совпадает с АТ89С2051, за исклю- чением сигнала RESET - в AT90C1200 он /RESET, т.е. надо будет исключить DD1D Eugene Stahov Пн 21 Авг 2000 18:42:29 === Cut === Eugene




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Список BBS - Сетевые новости.
Разберемся - Описание миссий игры LASER SQUAD.
Обьявления - Продается компьютер "БАЙТ" 128.
real life - depression.
Злоба дня - проект нового трекера для спектрума Master Tracker!

В этот день...   7 мая