Изменить значение только одного регистра на 8-разрядной регистровой интегральной схеме (74hc273 / DM74LS273)?

Во-первых, пожалуйста, наберитесь терпения, я не электронный человек. Я изучаю Arduino и электронику для хобби, и это мой первый опыт работы с интегральными схемами.

  • Ситуация: Я хочу расширить контакты Arduino Nano (Де/мультиплексор) и сохранить состояние (Высокое/низкое) новых контактов, пока я не решу изменить его снова. Для сохранения состояний я думаю, что система на основе памяти Flipflop типа D может помочь .
  • Вопрос 1: В этой системе я могу изменить только один бит с уникальным сигналом или мне нужно установить все состояния битов ?
  • Пример (эталонное изображение):
  1. Память, предыдущее состояние: Q0=0, Q1=1, Q2=1, Q3=0
  2. Arduino: Установите pin17 (D2) на высокий -> Память: Ожидание новых данных.>
  3. Arduino: Установите pin16 (D3) в высокое значение -> Mux: Передайте значение в память при >D0
  4. Память: Прочитал 1 на D0 (это мое сомнение. D1, D2 и D3 не имеют значения ?)
  5. Arduino: Установите pin17 (D2) на НИЗКИЙ -> Память: Сохранение новых данных>
  6. Память, новое состояние: Q0=1, Q1=1, Q2=1, Q3=0 ? или Q0=1, Q1=0, Q2=0, Q3=0 ?

Вопрос 2: Правильно ли это ? Вопрос 3. Есть ли более эффективный способ сделать это?

Примечания:

  • Я использовал симулятор для построения диаграммы памяти на основе этой таблицы данных: https://pdf1.alldatasheet.com/datasheet-pdf/view/8337/NSC/74273.html Кажется, что это возможно, но я хочу быть уверенным.
  • В настоящее время мое решение-использовать отдельные флип-флопы, но я хочу упростить его.
  • Соединения на эталонном изображении упрощены.
  • Извините за плохую диаграмму, я не знаю программ для красивых электронных диаграмм.
  • Извините за опечатки, здесь не родной английский человек.

, 👍1

Обсуждение

Я не хочу отвечать в комментарии, но слышали ли вы о чипе 74HC595? Это позволяет настроить 8 выходов, используя только 3 контакта от Arduino, и они могут быть скованы цепью. Это выглядит проще, чем ваше предложение., @Nick Gammon

Или, если вы хотите использовать еще меньше выходов, вы можете рассмотреть расширитель ввода-вывода I2C, такой как MPC23017., @Majenko

подача demux в защелку не позволит вам установить выходные контакты в различные состояния, @jsotola

Существует простой и дешевый компонент, который может делать то, что вы хотите, - [адресуемая защелка 74HC259](https://assets.nexperia.com/documents/data-sheet/74HC_HCT259.pdf). По сути, это demux и 8-битная защелка, в которой биты адресуются индивидуально., @StarCat

Посмотрите на технический паспорт модели '273: вы не можете установить ее шлепанцы по отдельности. Все или ничего, вот и все. Используйте другую микросхему., @the busybee

Большое спасибо за ваши комментарии. Очень ценю ваше время и терпение., @faanbece


1 ответ


1

Вопрос 1 и Вопрос 2: Я был неправ, это неправильный путь. @jsotola и @the_busybee, спасибо за разъяснение

Вопрос 3: @Nick_Gammon и @Majenko Я думаю, что вы правы, использование i2c является более эффективным способом. Но предложение @StarCat более совместимо с моим текущим решением. 74hc259 позволяет мне устанавливать состояние по одному и сохранять его до тех пор, пока я не изменю его снова.

,