Таки с наступившим в часовом поясе +6 от гринвича!
Вид для печати
Таки с наступившим в часовом поясе +6 от гринвича!
Вечером сделаю платку контроллера клавиатуры. А потом буду прошивку писать. Ножек для кварцевого резонатора не хватило, поэтому буду пытаться на 8 Мгц работать. А там не 4 команды в прерывании, как у Ориона, а 20.
http://s42.radikal.ru/i096/1301/93/6ed8b36aa0e8.png
http://s017.radikal.ru/i443/1301/bd/ef35d7a1cc22.png
Наброски обработчика прерывания
Код:SER R28 ; 1
OUT 0x15, R28 ; 1 PORTB = 0xFF
OUT 0x15, R28 ; 1 PORTC = 0xFF
OUT 0x15, R28 ; 1 PORTD = 0xFF
IN R28, PINB ; 1 R28 = PINB
LD R30, Y ; 2 R30 = b2c[R28]
IN R28, PIND ; 1 R28 = PIND
ANDI R28, 0110011b; 1 R28 &= 0110011b
INC R29 ; 1
LD R28,Y ; 2 R28 = b2d[R28]
AND R30, R28 ; 1 R30 &= R28
IN R28, PINC ; 1 R28 = PINC
INC R29 ; 1
LD R28,Y ; 2 R28 = c2b[R28]
OUT POTRB, R28 ; 1 PORTB = R28
IN R28, PINC ; 1 R28 = PINC
INC R29 ; 1
LD R28,Y ; 2 R28 = c2d[R28]
OUT PORTD, R28 ; 1 PORTD = R28
OUT PORTC,R30 ; 1 PORTC = R30
MOV R29, 1
---------- Post added at 15:40 ---------- Previous post was at 15:25 ----------
Подтяжку PS/2 надо к питанию сделать, а не к земле. Вторая микросхема возможно не нужна.
Не подведены RD и RESET. Ещё нет адреса порта А1А0 - как без него?
Очень жду результатов. Удачи!
Этот контроллер цепляется после ВВ55-ой и работает только лишь с её выходами. Эмулирует матрицу кнопок. Ему A0,A1 не нужны.
А сигналы WR+CS заведены, что бы узнать, что на выходе ВВ55-ой что то изменилось.
Порядок контактов кстати совпадает 1 в 1 с порядком на плате моего специалиста. Можно разъем поставить.
Был бы рабочий экземпляр. Плату можно подогнать под панельку ВВ55. Пойду Atmeg'у 8 искать.
Скорее всего любая подойдет, главное что бы ножек хватило.
Печатная плата готова.
http://s019.radikal.ru/i630/1301/10/380147beb9db.jpg
Плата простая, поэтому получилось сделать её дорожками 0.5 мм. Обычно получается развести плату только для 0.25 мм, но на такой толщине часто получается брак.
Адаптировал программу настройки раскладки, которая до этого работала на Орионе.
http://tmaplatform.ru/media/spec_keyb_setup.html
Вторую микросхему лучше не ставить. Можно обойтись двумя диодами. На их катоды подать сигналы /WR и /CS. Аноды соединить вместе, соединить через резистор с +5В. Освободится один элемент ЛП5. У тебя кстати не правильно выбран логиченский элемент. Нужен 2ИЛИ. При появлении двух единиц на /WR и /CS нв выходе твоей ЛП5 тоже будет ноль.
А я предлагаю такую печатку потом сделать. Предусмотреть штырьки для вставки платы вместо ВВ55. Параллельно им поставить панельку на печатке под ВВ55. Под панелькой поставить Атмегу8, она как раз в узком корпусе. Размеры печатки будут чуть больше панельки DIP40 под ВВ55.
---------- Post added at 12:18 ---------- Previous post was at 10:41 ----------
Предлагаю создать новую тему про PS/2 адаптер клавиатуры для Специалиста.
Да, адаптеры под клавы для старых компов нужная вещь, особенно для плат где нет клав заводских.