хочу подключить обычную писишную клавиатуру к пику. Вот в принципе нашел описание на авр http://kazus.ru/articles/18.html
хотелось бы услышать как эти же прерывания настроить в пике и с какого адреса считывать код. в общем для ясности нашел на форуме melabsа, пример на бейсике, правда там была одна маленькая ошибка.
Code
FOR A = 1 to 11 '11 байт данных с клавиатуры
loop1: IF clock = 1 THEN GOTO loop1 'ждем низкого уровня синхроимпульса -ждемс
IF A=1 OR A=10 or A=11 THEN GOTO loop2 'стартовые и стоповые биты исключаем
Key_data = Key_data/2 ' перемещаем все биты вправо
Key_data.7 = dataline ' 7 биту присваеваем значение уровня информационного канала
portb=portb/2 ' перемещаем все биты вправо( это визуалиция для наглядности)
portb.7=dataline ' 7 биту присваеваем значение уровня информационного канала( это визуалиция для наглядности)
loop2: IF clock = 0 THEN GOTO loop2 ' ждем высокого уровня синхроимпульса
NEXT A
на эмуляторе все работает, щас хочу на макетке собрать. по времени не считал, хватит ли 4 mhz для приема и обработки всех данных, пока беру 20 mhz.
[b]Добавлено (14.12.2008, 3:34:45)
---------------------------------------------
Решил развить тему, первоначально хотел просто поставить пиликалку на клавиатуру (дитям забава, взрослым разобраться в протоколе), но как-то показалось мало, щас поставил 873 контроллер, и LED матрицу 8х8,eepromkу 128ую, установил все внутри клавы, вывел ICSP, и теперь сесть написать под все программу осталось, потом для автономности работы впихну внутрь два li-on аккумулятора с ноутбуков.
хочется чтобы на матрицу выводил русский текущий нажатый символ, а может и анимацию нарисовать какую нить.
( в общем игрушка, но это практика + можно развить саму идею, может и игрушку типа змейки написать)