Недостаточно контактов, ищем «демультиплексор», который сохраняет состояние [закрыто]

Я хочу управлять простым дисплеем с помощью микроконтроллера. У дисплея 8 входных контактов, у микроконтроллера только 6.

Есть ли IC, который я могу вставить, что

  • позволяет мне установить состояние каждого из его выходных контактов и оставить его таким
  • требует наименьшего количества необходимых входных контактов

Может быть что-то с последовательной шиной?

Я знаю, что обычно используются контроллеры дисплея, но существуют ли устройства общего назначения?

Попробуйте поискать "расширители GPIO"
Это именно то, что я искал, спасибо!
Как ни странно, маленькие микроконтроллеры обычно используются именно для этого. Они называются « последовательный интерфейс ЖК-дисплея » .
В небольшом масштабе это «адресная защелка», например 74HC259.

Ответы (3)

То, что вы ищете, это микросхема «расширителя» GPIO. Их много, обычно они используют I2C или SPI для подключения к микроконтроллеру. Microchip MCP23017(I2C)/MCP23S17(SPI) — это только один пример, который я использовал в прошлом. Есть много других на выбор.

PCF8574 — еще один распространенный чип этого типа (в данном случае I2C), с большим количеством ресурсов, доступных в Интернете по их использованию (они особенно часто используются при подключении Arduino к ЖК-модулям, что породило много обучающего контента).

Типичный сдвиговый регистр - 74HC595. То, что вы передаете, представляет собой байт, содержащий 8 бит, то есть 8 сигналов. Вам нужно только сохранить этот байт (8 контактов) в памяти, которая стоит всего один байт.

Для этого вам понадобится всего 3 булавки. За исключением GND/VCC, вам нужно всего 3 контакта.

Вы даже можете последовательно подключить 4 из них, управляя 32 контактами (для хранения которых требуется 4 байта), и при этом использовать только 3 контакта (кроме GND/VCC).

Скорее всего, вам нужен «регистр сдвига» или «защелка».

Сдвиговые регистры позволяют загружать данные последовательно и обычно используются с микроконтроллерами — очень распространен 74HC595.

Защелки позволяют использовать управляющий сигнал для удержания значения. Они часто используются при доступе к памяти, где вы хотите зафиксировать адрес — например, если вы хотите загрузить 16-битный адрес из 8-битной шины, вы можете загрузить верхнюю половину, зафиксировать ее, а затем загрузить нижнюю половина.

Вы можете создать 8-битную шину, используя две 4-битные защелки. Каждая защелка могла иметь свой сигнал управления с использованием дополнительных 2 контактов. Итого получается 6. Вы также можете сделать это с 5 контактами, используя инвертор, чтобы одна защелка удерживала свое значение, а другая была прозрачной.

Альтернативой является PCF8574, 8-битный двунаправленный параллельный порт I2C. То, что вы используете, зависит от того, предпочитаете ли вы SPI или I2C.
Регистры сдвига с фиксацией также кажутся очень полезными, поскольку они могут быть намного быстрее. Я принял ответ IO Expander, потому что в моем случае информация может течь и в другом направлении, что, похоже, поддерживают многие расширители.