В репозиторий добавил схему индикации и клавиатуры под шину I2C.
Выводит текстовую информацию на ЖК индикатор и отображает до 10 отдельных ошибок + состояния до 5 различных "концевиков". Имеется возможность расширить схему еще на 3 5-и разрядных регистра.
Число кнопок 5, может быть увеличено за счет применения диодного "шифратора".
http://subversion.assembla.com/svn/secu ... erface.pdf
По схеме:
Индикатор - стандартный текстовый. Пока подразумевается формата 16х2, как наиболее универсальный, потом точно будет поддержка 16х4 и 20х2, так как такие у меня есть для проверки.
PCF8574 - I2C расширитель на 8 входов/выходов. Может быть любой, при необходимости прийдется поменять базовый адрес в прошивке.
74HC42 - любой дешифратор на 3(4) входа и 8 выходов с инверсными выходами.
74HC86 - любые элементы "исключающее или".
74HC574 - любые регистры на 8(5) разрядов с записью данных по переднему фронту импульса записи. Если регистры будут с инверсными выходами, то нужно изменить полярность подключения светодиодов и подключить их не на землю, а на VDD. При использовании регистров-защелок нужно поменять местами резисторы и конденсаторы в RC цепочках.
Постоянная времени RC цепочкек приблизительная и особой роли не играет.
Плату не привожу, так как она у меня на макетке.
В данный момент на индикатор выводится информация об оборотах, УОЗ, напряжении и температуре, отображаются ошибки на светодиодах. Пока не разобрался, но компилятор не выводит числа с десятичной точкой, по этому отображаемые величины - целые числа. Ввод пока не реализован.
P.S. Одолел вывод с десятичной точкой - теперь ОУЗ и напряжение отображаются с десятыми. Осталось проверить вывод отрицательных значений.