74HC595 (Code)

Для каждого количества микросхем при последовательном соединении сделал 4 отдельных блока для 1, 2, 3 и 4 микросхем в каскаде.
21.01.2017 – добавлен блок для 10 микросхем.

Отличия от стандартного встроенного блока:

– подключать можно к любым, в том числе и «цифровым из аналоговых» выходам Arduino (в стандартном блоке, из-за использования аппаратного модуля SPI – два вывода «привязаны жёстко»)

– добавлены два дискретных входа «Reset_Out» и «Set_Out» для «быстрого» одновременного перевода всех выходов в состояние «0» или «1» (удобно, когда, например, в проекте есть сигнал «Reset», который должен отключить все выхода)

– данные на 74НС595 передаются (обновляются) постоянно (в стандартном блоке – только один раз при изменении состояния). Из-за этого, при использовании стандартного блока при первом включении питания или в результате помех, на выходах 74НС595 могут долгое время находиться случайные данные (до тех пор, пока не поступит команда на изменение, какого либо выхода).
Добавлю ещё такую информацию – полностью избавиться при первом включении питания от «мусора» на выходах 74НС595 я не смог. В моём применении это было важно (часть выходов коммутирует контроллер газовой горелки и подключены исполнительные механизмы, которым нежелательно «дёргание» при включении, т.к. в этот момент рядом могут находиться люди и могут что-нибудь «прищемить» себе) – пришлось отдельной «герконовой» релюшкой, от отдельного выхода Arduino коммутировать питание выходных реле, подключенных к 74НС595 (через буферную ULN2803). Для таких критически важных применений, вместо 74НС595 лучше применить микросхему UCN5821, в которой есть отдельный вход «ОЕ» и не надо «усилять» выхода дополнительной ULN2803.

В прилагаемом архиве: блоки, пример в FLProg, проект под этот пример в Proteus.


1

Вложения

  • zip 74HC595
    Date added: 03.02.2018 06:53 File size: 380 KB Downloads: 1764

Publication author

758
Comments: 15Publics: 389Registration: 04-02-2018

Leave a Comment

Войти с помощью: