Комментарии 15
А для реальных проектов есть MCP23017 с 16 I/O, управлением по I2C и другими плюшками.
Есть еще интересная микросхема PCA9534.
Не стоит забывать и о MCP23S17, то же самое для SPI.
Вы цену (новую) видели, что на MCP23017 , что на MCP23S17? Вот поглядите!
Да я и взялся за эту схему, чтоб поиграться. Так бы в реальном железе вряд-ли стал делать. Но для разнообразия один раз можно было повозиться
Если использовать внутреннюю подтяжку режим INPUT через резистор для генерирования clock, а режим OUTPUT через пару диодов для data?
Сижу, думаю, как можно сделать простейший мультиплексор, чтобы регистры подключать параллельно, а не последовательно, лучше жлобоплексирования (управление N ногами N*(N+1) выходами) ничего в голову не идет.
Костылинг как он есть :)
Максимум бы до чего додумался - это превратить 595 в 164 объединив CLK сдвига (через инвертор). Допустимо для не динамической индикации.
Но в этой нише вроде как была платка TM1637 с индикатором в сборе по цене одной 595 у нас. Жаль, что 1637 задружить с соседями по шине у меня (в теории) не получилось.
Это уже бывало на Хабре, но поиск неудобен...
Что касается 595-го регистра, то можно получить ограниченную только фантазией и нагрузочной способностью ёмкость шины SPI и число управляемых выходов на 4 проводах. Было это в какой-то давней и забытой интернетом App. note фирмы [тогда еще] Motorola. Суть в том, что сигналы !CS ко всем ведомым раздаются через несколько первых в цепочке ИМС 595. При необходимости — каскадом.
![](https://habrastorage.org/webt/3p/zu/mz/3pzumzkvssxsryefg551oqxs2te.png)
Три провода, а тем более 4, это слишком расточительно)))
По поводу "бывало". В нашем интернете про это решение не много написано. Меня зацепил модуль от Амперки с касяками в номиналах компонентов. А так, управление сдвиговым регистром по одному проводу я еще в журнале "радиомир" встречал лет 15-20 назад.
Экономим выводы для Arduino. Управление сдвиговым регистром 74HC595 по одному проводу