Как работает сдвиговый регистр 74HC595. Какие у него преимущества перед другими способами расширения выводов микроконтроллера. Как подключить семисегментный индикатор к 74HC595. Какие выводы есть у микросхемы и за что они отвечают.
Преимущества использования сдвигового регистра 74HC595
Сдвиговый регистр 74HC595 имеет ряд важных преимуществ при использовании для расширения количества выводов микроконтроллера:
- Не требует дополнительной обвязки, кроме конденсатора по питанию
- Работает через распространенный интерфейс SPI
- Для простейшего подключения достаточно всего 2 выводов микроконтроллера
- Позволяет практически неограниченно увеличивать количество выходов без использования дополнительных выводов микроконтроллера
- Высокая тактовая частота — до 100 МГц
- Широкий диапазон напряжения питания — от 2 до 6 В
- Низкая стоимость — менее 5 центов за штуку
- Выпускается в различных корпусах — планарных для производства и DIP для макетирования
Принцип работы сдвигового регистра 74HC595
Функционально сдвиговый регистр 74HC595 состоит из трех основных блоков:
- 8-битный регистр сдвига
- 8-битный регистр хранения
- 8-битный выходной регистр
Данные последовательно подаются на вход DS и сдвигаются по регистру сдвига с каждым тактовым импульсом на входе SHCP. После записи 8 бит, данные защелкиваются в регистре хранения подачей импульса на вход STCP. Затем данные из регистра хранения передаются на выходы Q0-Q7.
Основные выводы микросхемы 74HC595
Выводы питания:
- GND — общий (земля)
- VCC — питание +5В
Входы управления:
- OE — разрешение выходов (активный низкий уровень)
- MR — сброс регистров (активный низкий уровень)
- DS — последовательный вход данных
- SHCP — тактовый вход для сдвигового регистра
- STCP — тактовый вход для регистра хранения
Выходы данных:
- Q0-Q7 — параллельные выходы данных
- Q7′ — последовательный выход для каскадирования
Подключение семисегментного индикатора к 74HC595
Для управления семисегментным индикатором с помощью 74HC595 необходимо:
- Подключить выходы Q0-Q7 регистра к сегментам индикатора через токоограничивающие резисторы
- Подать на вход DS последовательно 8 бит, определяющих состояние сегментов
- Подать 8 тактовых импульсов на вход SHCP для сдвига данных
- Подать импульс на вход STCP для вывода данных на индикатор
Таким образом, используя всего 3 вывода микроконтроллера, можно управлять 8-ю сегментами индикатора. При каскадном соединении нескольких 74HC595 количество управляемых сегментов можно увеличивать без использования дополнительных выводов микроконтроллера.
Особенности применения 74HC595 с семисегментными индикаторами
При использовании сдвигового регистра 74HC595 для управления семисегментными индикаторами следует учитывать несколько важных моментов:
- Максимальный выходной ток 74HC595 составляет 35 мА на вывод, что достаточно для большинства светодиодных индикаторов
- Для высоковольтных или мощных индикаторов может потребоваться дополнительный драйвер, например транзисторный ключ на каждый сегмент
- При динамической индикации необходимо учитывать время переключения выходов 74HC595, которое составляет около 20 нс
- Для уменьшения потребляемого тока рекомендуется использовать режим мультиплексирования, когда в каждый момент времени активен только один разряд индикатора
Расширение возможностей схемы с 74HC595 и семисегментным индикатором
Схему управления семисегментным индикатором на основе 74HC595 можно легко расширить для решения дополнительных задач:
- Добавление кнопок управления путем подключения их к свободным выводам микроконтроллера
- Увеличение количества разрядов индикации за счет каскадного соединения нескольких 74HC595
- Реализация динамической индикации для экономии выводов при управлении несколькими разрядами
- Подключение других типов индикаторов, например матричных светодиодных дисплеев
- Управление дополнительными светодиодами или реле через свободные выходы 74HC595
Альтернативы использованию 74HC595 для расширения выводов
Хотя сдвиговый регистр 74HC595 является очень удобным и распространенным решением, существуют и альтернативные способы расширения количества выводов микроконтроллера:
- Использование микроконтроллера с большим количеством выводов
- Применение микросхем расширителей портов, например PCF8574
- Использование специализированных драйверов светодиодных индикаторов
- Применение матричной схемы подключения для светодиодных индикаторов
- Использование последовательных интерфейсов (I2C, SPI) для подключения периферийных устройств
Выбор конкретного решения зависит от требований проекта, доступности компонентов и опыта разработчика. Однако в большинстве случаев сдвиговый регистр 74HC595 остается оптимальным выбором благодаря простоте применения, низкой стоимости и широкой распространенности.
74Hc595 datasheet на русском схема включения
Достаточно часто у любителей микроконтроллеров возникает проблема с нехваткой выводов. Обычно для расширения портов ввода/вывода используют сдвиговые регистры типа 74HC595. Но для управления ими требуется целых три вывода! А можно обойтись и ОДНИМ! Именно об этом пойдет речь далее.
Совершенно случайно ко мне в руки попала вот такая игрушка. Устройство представляет собой четырех разрядный статический семисегментный дисплей, выполненный на основе сдвиговых регистров 74HC595. Модуль ориентирован на ардуино и давно снят с продажи. Но интересна схема коммутации входов. Она выполнена с использованием двух RC цепочек на входах тактирования и управления выходной защелкой и позволяет управлять выходами сдвиговых регистров всего по одному проводу вместо трех.
Я бы может и прошел мимо, но данную схему впервые встретил в журнале Радио еще лет 15 назад, и тогда хотелось ее повтрить, но почему-то этого не случилось.
Схема подключения индикаторов к регистрам не вызывает вопросов. Разберемся с подключением сигналов управления. Вход тактирования 11 сдвигового регистра подключается к порту микроконтроллера напрямую. Вход данных 14 подключается к той же линии через RC-цепочку R1C1, время заряда которой составляет примерно 20-25мкС. Вход управления защелкой 12 подключен через RC-цепочку R2C2, которая заряжается примерно за 250мкС.
Принцип управления достаточно прост. Если на вход дисплея подать очень короткий импульс около 1мкС, то RC-цепочки не успевают зарядиться, а так как сдвиговый регистр имеет достаточно высокое быстродействие, то данные в регистр вдвинуться успевают. Таким образом, длительностью импульса можно управлять зарядом конденсаторов и определять напряжение на входе данных и защелки.
Принцип работы схемы хорошо виден на осциллограмме управляющих сигналов
Передача логической единицы производится подачей импульса длительностью примерно 25мкС и короткой паузы не более 1мкС. Импульс зарядит конденсатор на входе данных до уровня логической единицы, а короткая пауза не успеет его разрядить. Фронт следующего импульса попадет на тактовый вход и запишет единицу в регистр.
Для записи в сдвиговый регистр логического нуля необходимо наоборот сперва подать паузу длиной примерно 30мкС, чтобы разрядить конденсатор на входе данных до уровня логического нуля, если ор был заряжен в предыдущем периоде. А затем подаем короткий импульс около 1мкС, чтобы его фронт записал ноль в регистр.
В завершении передачи 24 бит данных для заполнения 4 сдвиговых регистров следует подать импульс длительностью 250мкС для переключения сигнала управления защелкой. Записанные данные поступят на выходы микросхем и будут удерживаться там до следующего фронта. Теперь конденсатор следует разрядить, для этого устанавливаем на входе схемы низкий уровень минимум на 250мкС, прежде чем подавать новые данные.
На этом можно было бы и закончить баловство, если бы не моя привычка тестировать свои железяки. Меня насторожил тот факт, что RC цепочки имеют разницу по времени заряда всего на один порядок. Отсюда получается, что конденсатор на входе защелки может полностью зарядиться, если подать 10 единиц подряд. А с учетом того, что уровень логической единицы для 74НС595 начинается с напряжения 3,15В, то для полного заряда конденсатора достаточно подряд подать около 6 единиц.
В схеме использованы индикаторы с общим анодом, для отключения сегментов которых на выходе регистра необходимо записать единицы. Получается, что при включении на индикаторе цифры 1 необходимо передать двоичный код 11001111, который как раз и содержит 6 единиц. Если включать на семисегментном дисплее две единицы подряд, то как раз и получим шесть импульсов, передающих логические единицы. Такая комбинация успевает зарядеть конденсатор на входе защелки. В результате чего в момент обновления дисплея наблюдается кратковременное «подмигивание».
На графиках видно, что сигнал на входе управления защелкой сдвигового регистра уже после передачи первого семисегментного кода единицы заряжается практически до уровня логической единицы. В итоге, после каждого такого цикла передачи кода для одного регистра, весь дисплей обновляется.
Мусор появляется на очень короткое время и практически не различим, НО теперь я об этом знаю… и не могу с этим жить. Как только я не пытался сократить длительности импульсов высокого уровня и увеличить паузы, полностью устранить этот глюк не получилось.
Проблему решил заменой резистора R2 с 33КОм на 100КОм. Время заряда RC-цепочки увеличилось в несколько раз. Индикатор стал работать лучше. Но все равно разница между временем заряда конденсаторов на входе данных и защелки было недостаточным для вывода на дисплей четырех единиц. Да и включить при такой схеме больше четырех сдвиговых регистров подряд не получится, т.к. конденсатор С2 все равно может успеть зарядиться до уровня логической единицы.
Для окончательной доработки схемы нужно добавить один а лучше два диода для ускорения разряда С2 и заряда С1. В идеале нужно использовать диоды Шоттки, они обладают более высоким быстродействием. Результат доработки показан на схеме.
Сравните результат работы схемы с диодами и без них. Справа графики без диодов, слева с диодами. Невооруженным глазом становиться видно, что фронты импульсов на входе данных и срез импульса на входе управления защелкой стали намного круче. И самое главное, что конденсатор входа управления защелкой успевает разрядиться за короткий импульс записи. Теперь можно ни в чем себе не отказывать и подключать практически любое количество сдвиговых регистров.
А вот и листинг демо программы для микроконтроллера armega328. Частота процессора 16000000Гц. Данные передаются по линии PORTC.0. Писал в CodeVisionAVR. Думаю, что по комментариям все понятно.
В какой-то момент времени вы неизбежно столкнетесь с проблемой отсутствия достаточного количества контактов на вашем ардуино для удовлетворения потребностей вашего проекта или прототипа. Решение этой проблемы? Сдвиговый регистр, а точнее Arduino сдвиговый регистр 74hc595.
Каждый кто делал проекты на Ардуино, где использовал много светодиодов, понимал, что в значительной степени ограничен контактами Arduino и не может создавать огромные проекты, требующие большого количества контактов. В нашем конкретном проекте 16 светодиодов управляются всего лишь тремя контактами Arduino. Ключевым элементом является arduino сдвиговый регистр 74hc595. Каждый сдвиговый регистр 74HC595 может принимать до 8 светодиодов, а с помощью последовательных цепочек регистров можно увеличить контакты платы от условных 3-х до бесконечного числа.
Как работает регистр сдвига?
Прежде чем мы начнем подключать чип, давайте рассмотрим, как этот процесс работает.
Первое, что нужно прояснить, — это понятие «биты» для тех из вас, кто не знаком с двоичным кодом. Когда мы говорим о «битах», мы имеем в виду одно из чисел, составляющих двоичное значение. В отличие от обычных чисел, мы обычно считаем, что первый бит является самым большим. Итак, если мы берем двоичное значение 10100010, первый бит на самом деле равен 0, а восьмой бит равен 1. Следует также отметить, если это не подразумевалось, каждый бит может быть только 0 или 1.
Чип содержит восемь контактов, которые мы можем использовать для вывода, каждый из которых связан с битом в регистре. В случае сдвигового регистра 74HC595 мы рассматриваем их от QA до QH.
Чтобы записать эти выходы через Arduino, мы должны отправить двоичное значение в регистр сдвига, и из этого числа сдвиговый регистр может определить, какие выходы использовать. Например, если мы отправили двоичное значение 10100010, контакты, выделенные зеленым цветом на изображении выше, будут активными, а выделенные красным цветом будут неактивными.
Это означает, что самый правый бит сопоставляется как QH, а левый бит сопоставляется с QA. Выход считается активным, когда бит, сопоставленный с ним, установлен на 1. Важно помнить об этом, так как иначе вам будет очень сложно узнать, какие контакты вы используете.
Теперь, когда у нас есть основное понимание того, как мы используем смещение битов, чтобы указать, какие контакты использовать, мы можем начать подключать его к нашему Arduino.
Начинаем с 8 светодиодов
Для первой части урока нам понадобятся следующие комплектующие:
- Arduino Uno
- Макетная плата
- Ардуино сдвиговый регистр 74HC595
- 8 светодиодов
- 8 резисторов – 220 ом должно хватить
- Провода/перемычки
Начните с размещения сдвигового регистра на вашем макете, гарантируя, что каждая сторона находится на отдельной стороне макета, как показано ниже.
С надписью, направленной вверх, штифты 1-8 с левой стороны сверху вниз и 16 — 9 с правой стороны сверху вниз, как показано на рисунке ниже.
Собираем схему
Для начала подключим контакты 16 (VCC) и 10 (SRCLR) к выходу 5v на Arduino и соединяем выводы 8 (GND) и 13 (OE) с выводом Gnd на Arduino. Pin 13 (OE) используется для включения выходов, так как это активный низкий контакт, который мы можем подключить непосредственно к земле.
Затем нам нужно соединить три контакта, которыми мы будем управлять сдвиговым регистром:
- Pin 11 (SRCLK) сдвигового регистра 74HC595 на пин 11 на Arduino — это будет называться «синхронизирующим пином»,
- Pin 12 (RCLK) сдвигового регистра на пин 12 на Arduino — это будет обозначаться как «пин защелка»,
- Pin 14 (SER) сдвигового регистра на пин 13 на Arduino — это будет называться «пином данных»,
Все три этих контакта используются для выполнения сдвига битов, упомянутого ранее в этом руководстве. К счастью, ардуино предоставляет вспомогательную функцию специально для регистров сдвига, называемую shiftOut, которая будет обрабатывать почти все для нас, но мы вернемся к этому при просмотре кода.
Теперь нам просто нужно подключить все выходные выводы к нашим светодиодам, гарантируя, что резистор размещается перед светодиодами, чтобы уменьшить ток и что катоды светодиодов направлены на землю.
Чтобы уменьшить нагромождение проводов до минимума, мы поместили резисторы и светодиоды на отдельный макет, однако, вы можете воспользоваться одной макетной платой.
При размещении светодиодов убедитесь, что они подключены по порядку, так что QA подключен к первому светодиоду, а QH подключен к последнему светодиоду, так как иначе наш код не включит светодиоды в правильном порядке. Когда вы закончите, у вас должно получится что-то вроде этого:
Скетч для ардуино
Теперь мы готовы загрузить код. Подключите свой Arduino к компьютеру и загрузите на него следующий эскиз для 74hc595 Arduino:
Для начала определим в верхней части эскиза следующее:
- Расположение пинов: синхронизатора, защелки и данных
- Байт, который будет хранить биты, которые указывают сдвиговому регистру, какой вывод использовать
- Переменную, которая будет отслеживать, какой светодиод мы должны включить
В методе setup мы просто инициализируем режимы пинов и переменную светодиодов.
В методе loop (цикл) мы очищаем биты в переменной leds в начале каждой итерации, так что все биты устанавливаются в 0, так как мы хотим только включать один светодиод за раз. После этого мы увеличиваем или перезапускаем текущую переменную currentLED, чтобы затем опять включать правильный светодиод.
После этих двух операций мы переходим к более важной части — смещению бит. Сначала мы начинаем с вызова метода
Этот метод позволяет нам установить отдельные биты байта, указав их положение. Например, если мы хотим вручную установить байт в 10010, мы могли бы использовать следующие вызовы, поскольку биты, которые нам нужно установить в 1, являются вторыми справа (это позиция 1, когда мы начинаем в позиции 0) и пятый справа, который находится в положении 4:
Таким образом, каждый раз, когда мы увеличиваем текущую переменную currentLED и передаем ее методу bitSet, мы каждый раз устанавливаем бит слева от предыдущего до 1 и, таким образом сообщаем сдвиговому регистру активировать вывод слева от предыдущего.
После установки бит мы записываем на контакт защелки указание сдвиговому регистру, что собираемся отправить ему данные. Как только мы это сделаем, мы вызываем метод shiftOut, который есть Arduino. Этот метод разработан специально для использования сдвиговых регистров и позволяет просто сдвигать биты за один вызов. Для этого мы передаем данные и синхронизацию в качестве первых двух параметров, затем передаем константу LSBFIRST, которая сообщает методу, что первый бит должен быть наименее значимым, а затем мы проходим через байт, содержащий биты, которые мы действительно хотим перенести в регистр сдвига.
Как только мы закончим смещение битов, мы снова обращаемся на контакт защелки (используя HIGH в этот раз), чтобы указать, что мы отправили все данные. После того, как операция записи будет завершена, загорится соответствующий светодиодный индикатор, а затем задержится на 250 миллисекунд, прежде чем всё повторится.
16 светодиодов
Теперь перейдем к более сложной схеме используем 74hc595 Arduino для 16 светодиодов.
Детали
По большому счету в данном случае количество всех комплектующих увеличиваем вдвое, кроме, конечно, Ардуино Уно:
- Arduino UNO (x1)
- 74HC595 сдвиговый регистр (x2)
- Светодиоды (x16)
- 220 ом резисторы (x16)
- Провода/перемычки
- Две макетные платы (одна с 400 пинами, вторая с 830 пинами)
- Потенциометр для контроля яркости (по желанию)
Схема соединения
Схема соединения получилась уже больше, чем при 8 светодиодах и одном регистре сдвига 74HC595.
Соберите схему как на рисунке выше и подключите первый регистр сдвига следующим образом:
- GND (контакт 8) на землю
- Vcc (контакт 16) — 5В
- OE (контакт 13) на землю (GND)
- MR (контакт 10) — 5 В
- DS (контакт 14) — пин 11 Arduino
- SH_CP (контакт 11) на контакт Arduino 12
- ST_CP (контакт 12) к контакту 8 Arduino
Подключите второй регистр сдвига точно так же, но подключите DS (контакт 14) к первому выходу 9 регистра. После этого соедините контакты 1, 2, 3, 4, 5, 6, 7 и 15 из обоих регистров и светодиоды. Это соединение делает все контакты всегда активными и адресными, однако при включении Arduino некоторые из светодиодов могут быть включены. Решение для этого — подключить MR (контакт 10) и OE (контакт 13) к Arduino напрямую, но таким образом вы должны пожертвовать 2 выводами ардуины.
Чтобы добавить больше регистров сдвига, соедините их, как второй регистр. Всегда подключайте контакты MR и OE непосредственно к контакту Arduino и DS к предыдущему регистру. Если вы хотите отрегулировать яркость светодиодов, подключите потенциометр, как показано на рисунке выше, для управления сопротивлением для всех светодиодов. Однако это необязательно, и вы можете обойтись без него.
Скетч для ардуино
Варианты скетчей обычно предназначены для ограниченного числа регистров сдвига, т.к. для этого нет универсальной функции/метода. Данный код ниже переработан так, чтобы вы могли использовать неограниченное количество регистров сдвига:
В коде добавлено несколько эффектов для этих 16 светодиодов. Если вы хотите добавить больше светодиодов, подключите больше регистров сдвига по примеру выше и измените значение numOfRegisters в коде.
Вы также можете использовать этот код не только для светодиодов, если вам просто нужно больше контактов для вашего Arduino, используйте функцию regWrite (int pin, bool state) для записи состояния любого вывода. И нет предела, сколько сдвиговых регистров вы используете, просто измените значение numOfRegisters, а все остальное уже втоматизировано.
В ситуации когда не хватает выходов микроконтроллера, что обычно делают? Правильно – берут микроконтроллер с большим количеством выходов. А если не хватает выводов у микроконтроллера с самым большим количеством выходов, то могут поставить и второй микроконтроллер.
Но в большинстве случаев проблему можно решить более дешевыми способами например использовать сдвиговый регистр 74HC595.
Преимущества использования сдвигового регистра 74HC595:
- не требует никакой обвязки кроме конденсатора по питанию;
- работает через широкораспостраненный интерфейс SPI;
- для самого простого включения достаточно двух выходов микроконтроллера;
- возможность практически неограниченного расширения количества выходов без увеличения занятых выходов микроконтроллера;
- частота работы до 100 МГц;
- напряжение питания от 2 В до 6 В;
- дешевый — стоит менее 5 центов;
- выпускается как в планарных корпусах (74HC595D удобен для производства), так и в DIP16 (74HC595N удобен для радиолюбителей и макетирования).
Для понимания работы регистра стоит взглянуть на функциональную схему. Она состоит из:
- 8-битного регистра сдвига,
- 8-битного регистра хранения,
- 8-битного выходного регистра.
Рассмотрим какие выводы есть у сдвигового регистра 74hc595.
Общего вывод и вывод питания объяснений не требуют.
- GND — земля
- VCC — питание 5 вольт
Входы 74HC595:
Вход переводящий выходы из высокоимпедансного состояние в рабочее состояние. При логической единице на этом входе выходы 74HC595 будут отключены от остальной части схемы. Это нужно например для того чтобы другая микросхема могла управлять этими сигналами.
Если нужно включить в рабочее состояние микросхеме подайте логический ноль на этот вход. А если в принципе не нужно переводить выходы в высокоимпедансное состояние – смело заземляйте этот вывод.
MR — сброс регистра
Переводить все выходы в состояние логического нуля. Чтобы сбросить регистр нужно подать логический ноль на этот вход и подать положительный импульс на вход STCP.
Подключаем этот выход через резистор к питанию микросхемы и при необходимости замыкаем на землю.
DS – вход данных
Последовательно подаваемые сюда данные будут появляются на 8-ми выходах регистра в параллельной форме.
SHCP – вход для тактовых импульсов
Когда на тактовом входе SHCP появляется логическая единица, бит находящийся на входе данных DS считывается и записывается в самый младший разряд сдвигового регистра. При поступлении на тактовый вход следующего импульса высокого уровня, в сдвиговый регистр записывается следующий бит со входа данных. Тот бит который был записан ранее сдвигается на один разряд (из Q0 в Q1) , а его место занимает вновь пришедший бит. И так далее по цепочке.
STCP – вход «защёлкивающий» данные
Что бы данные появились на выходах Q0…Q7 нужно подать логическую единицу на вход STCP. Данные поступают в параллельный регистр который сохряняет их до следующего импульса STCP.
Выходы 74HC595
- Q0…Q7 – выходы которыми будем управлять. Могут находится в трёх состояниях: логическая единица, логический ноль и высокоимпедансное состояние
- Q7′ – выход предназначенный для последовательного соединения регистров.
Временная диаграмма на которой показано движение логической единицы по всем выходам регистра.
Как говориться лучше один раз увидеть, чем семь раз услышать. Я сам впервые применяя регистр 74HC595 не до конца понимал его работу и чтобы понять смоделировал нужную схему в Proteus.
Вот такая схема подключения семисегментных индикаторов к микроконтроллеру ATMega48 по SPI получилась:
Это схема с динамической индикацией, то есть в каждый момент времени загорается только одна цифра счетверенного семисегментного индикатора, потом загорается следующая и так по кругу. Но так как смена происходит очень быстро, то глазу кажется, что горят все цифры.
Кроме того одновременно эта схема и опрашивает 4 кнопки S1-S4. Добавив два сдвоенных диода можно опрашивать 8 кнопок. А добавив 4 транзистора и резистора можно подключить дополнительный 4-х знаковый индикатор.
Чтобы динамическая индикация заработала в регистры нужно послать два байта: первый байт определяет, какой из 4-х индикаторов будет работать и какую кнопку будем опрашивать. А второй, какие из сегментов загорятся.
12 thoughts on “ Сдвиговый регистр 74HC595 и семисегментный индикатор ”
По моему — это тот случай, когда объяснение простого может выглядеть сложным, а не наоборот. Что может быть проще, чем два бита переслать? В данном примере, биты, пересылаемые микроконтроллером в последовательном виде — преобразуются регистрами в параллельный. Один подает на матрицу, в роли которой выступает индикатор, данные, другой — адрес. Приведен один из примеров интерфейса периферии, обслуживаемой микроконтроллером. Я бы только добавил, что счетверенный семисегментныйт индикатор, чаще всего, используют в роли часов.
В приведенной схеме динамической индикации светодиоды семисегментного индикатора должны быть на напряжение не более 4 В. В больших индикаторах часто используется последовательное включение нескольких светодиодов: например в индикаторах высотой 5см — 4 светодиода.
Поэтому стоит сделать регистру 74HC595 высоковольтный выход: подключить по MosFET на каждый выход. Затвор на выход микросхемы, исток на землю, а к стоку — «высоковольтную» нагрузку.
А действительно, часто такие схемы обслуживают таблоиды и поболее 5 см. Там может и предложенные MosFET (КМОП, полевики с изолированным затвором) будут рентабельны — цена-то у них, как правило, кусючая. В большинстве-же случаев, достаточно будет DD1, как и DD2 подсоединить к токовым ключам, а не напрямую.
Этого не сделано на приведенной схеме, так как на DD2 может падать нагрузка одновременно с семи сегментов, а на DD1 — только с одного. А экономичность схематического решения — далеко не последнее дело, в каждом, конкретном случае.
Datasheet 74HC595 и 74HCT595 от NXP.
Если не нужно каскадирование, регистр хранения и высокоимпедансное состояние на выходах то можно обойтись 74HC164N.
А зачем, если цена фактически одна? Купить сразу несколько сотен 74HC595 по 1,50 за штуку и ставить их везде и всюду, где нужны последовательно-параллельные регистры.
Мне в 74HC595 нравится именно возможность организации статической индикации, с одновременным переключением индикаторов. Так шумов меньше, чем у индикации динамической или у статической индикации без промежуточного (буферного) регистра. К тому же во втором случае имеется паразитная засветка индикатора при частой смене показаний.
А кто и как интересно опрашивает состояние кнопок на такой схеме, регистр же не контроллер он не понимает нажата кнопка или нет, его дело просто подать соответсвующие сигналы навыходных ножках, обратной же связи нет, или я чего-то не понимаю?
Тот микроконтроллер что дает сигнал на включение разрядов индикатора.
Например логическим нулем зажигаем разряд который подключен к выводу Q0 микросхемы DD2 , тогда при нажатии кнопки S1 на 9-том контакте X1 разъема появляется логический ноль, этот сигнал и считывает микроконтроллер.
А кто и как будет считывать значения с кнопок?
В этом схеме нет алгоритм для считывание состояние кнопок.
Для управление 7сег. индик. лучше включить после 595 микросхему 2003.
Применяйте микросхему TPIC6B595DWR, которая уже содержит полевики с открытым стоком на выходе.
Сдвиговый регистр 74HC595 и семисегментный индикатор
В ситуации когда не хватает выходов микроконтроллера, что обычно делают? Правильно – берут микроконтроллер с большим количеством выходов. А если не хватает выводов у микроконтроллера с самым большим количеством выходов, то могут поставить и второй микроконтроллер.
Но в большинстве случаев проблему можно решить более дешевыми способами например использовать сдвиговый регистр 74HC595.
Преимущества использования сдвигового регистра 74HC595:
- не требует никакой обвязки кроме конденсатора по питанию;
- работает через широкораспостраненный интерфейс SPI;
- для самого простого включения достаточно двух выходов микроконтроллера;
- возможность практически неограниченного расширения количества выходов без увеличения занятых выходов микроконтроллера;
- частота работы до 100 МГц;
- напряжение питания от 2 В до 6 В;
- дешевый — стоит менее 5 центов;
- выпускается как в планарных корпусах (74HC595D удобен для производства), так и в DIP16 (74HC595N удобен для радиолюбителей и макетирования).
Для понимания работы регистра стоит взглянуть на функциональную схему. Она состоит из:
- 8-битного регистра сдвига,
- 8-битного регистра хранения,
- 8-битного выходного регистра.
Рассмотрим какие выводы есть у сдвигового регистра 74hc595.
Общего вывод и вывод питания объяснений не требуют.
- GND — земля
- VCC — питание 5 вольт
Входы 74HC595:
OE
Вход переводящий выходы из высокоимпедансного состояние в рабочее состояние. При логической единице на этом входе выходы 74HC595 будут отключены от остальной части схемы. Это нужно например для того чтобы другая микросхема могла управлять этими сигналами.
Если нужно включить в рабочее состояние микросхеме подайте логический ноль на этот вход. А если в принципе не нужно переводить выходы в высокоимпедансное состояние – смело заземляйте этот вывод.
MR — сброс регистра
Переводить все выходы в состояние логического нуля. Чтобы сбросить регистр нужно подать логический ноль на этот вход и подать положительный импульс на вход STCP.
Подключаем этот выход через резистор к питанию микросхемы и при необходимости замыкаем на землю.
DS – вход данных
Последовательно подаваемые сюда данные будут появляются на 8-ми выходах регистра в параллельной форме.
SHCP – вход для тактовых импульсов
Когда на тактовом входе SHCP появляется логическая единица, бит находящийся на входе данных DS считывается и записывается в самый младший разряд сдвигового регистра. При поступлении на тактовый вход следующего импульса высокого уровня, в сдвиговый регистр записывается следующий бит со входа данных. Тот бит который был записан ранее сдвигается на один разряд (из Q0 в Q1) , а его место занимает вновь пришедший бит. И так далее по цепочке.
STCP – вход «защёлкивающий» данные
Что бы данные появились на выходах Q0…Q7 нужно подать логическую единицу на вход STCP. Данные поступают в параллельный регистр который сохряняет их до следующего импульса STCP.
Выходы 74HC595
- Q0…Q7 – выходы которыми будем управлять. Могут находится в трёх состояниях: логическая единица, логический ноль и высокоимпедансное состояние
- Q7′ – выход предназначенный для последовательного соединения регистров.
Временная диаграмма на которой показано движение логической единицы по всем выходам регистра.
Как говориться лучше один раз увидеть, чем семь раз услышать. Я сам впервые применяя регистр 74HC595 не до конца понимал его работу и чтобы понять смоделировал нужную схему в Proteus.
Вот такая схема подключения семисегментных индикаторов к микроконтроллеру ATMega48 по SPI получилась:
Это схема с динамической индикацией, то есть в каждый момент времени загорается только одна цифра счетверенного семисегментного индикатора, потом загорается следующая и так по кругу. Но так как смена происходит очень быстро, то глазу кажется, что горят все цифры.
Кроме того одновременно эта схема и опрашивает 4 кнопки S1-S4. Добавив два сдвоенных диода можно опрашивать 8 кнопок. А добавив 4 транзистора и резистора можно подключить дополнительный 4-х знаковый индикатор.
Чтобы динамическая индикация заработала в регистры нужно послать два байта: первый байт определяет, какой из 4-х индикаторов будет работать и какую кнопку будем опрашивать. А второй, какие из сегментов загорятся.
SN74HC595N техническое описание — ti SN74HC595, 8-битные сдвиговые регистры с выходом с 3 состояниями
Где купить
Технические характеристики | |
3-й государственный выход | Да |
TPD @ NOM Prottage (MAX) (NS) | 34 |
. ICC @ NOMS) (ns) | 34 |
666666666666666. мА) | 0,08 |
F при номинальном напряжении (макс.) (МГц) | 28 |
Диапазон рабочих температур (C) | -40 до 85 |
Семейство технологий | HC |
Оценка | Каталог |
Trigger | NO | VCC (MAMITT | NO | VCC. | 6 |
Прибл. Цена (долл. США) | 0,14 | 1ku |
VCC(мин.)(В) | 2 |
Напряжение(ном.)(В) | 6 |
Группа упаковки | PDIP,SO,SOIC,SOIC,SSOP,TSSOP |
Выходной привод (IOL/IOH)(макс.)(мА) | 7,8/-7,8 |
Указания по применению |
• Соображения по проектированию аппаратного обеспечения для беспроводного дисплея на основе светодиодов. Табло для подсчета очков имеют разные функции и разные функции. Табло обычно используются для отображения результатов игры, сыгранной между двумя командами. Эти игры могут быть рассчитанными или не привязанными к времени событиями. Приложение, описанное в этом отчете о приложении, создает | Док |
Оценочные комплекты |
BOOSTXL-ULN2003: двойной BoosterPack драйвера шагового двигателя с ULN2003 и CSD17571Q2 NexFET |
Функции, приложения |
D 8-битный последовательный вход, параллельный выход D Широкий диапазон рабочего напряжения В D Сильноточные выходы с 3 состояниями могут повышаться Отдо 15 нагрузок LSTTL Низкое энергопотребление, макс. 80 А ICC, типичный tpd ns Выходной сигнал 6 мА, привод 5 В, низкий входной ток Макс. 1 А, сдвиговый регистр имеет прямую очистку Устройства ‘HC595 содержат 8-битный регистр сдвига с последовательным входом и параллельным выходом, который питает 8-битный регистр хранения D-типа. Регистр хранения имеет параллельные выходы с тремя состояниями. Отдельные часы предусмотрены как для регистра сдвига, так и для регистра хранения. Сдвиговый регистр имеет прямой вход очистки (SRCLR), последовательный вход (SER) и последовательные выходы для каскадирования. Когда вход разрешения выхода (OE) имеет высокий уровень, выходы находятся в состоянии высокого импеданса. Как часы регистра сдвига (SRCLK), так и часы регистра памяти (RCLK) запускаются положительным фронтом. Если оба тактовых генератора соединены вместе, сдвиговый регистр всегда на один тактовый импульс опережает регистр хранения. ИНФОРМАЦИЯ ДЛЯ ЗАКАЗА TA PDIP — N ПАКЕТ Туба по 25 туба по 40 SOIC до 85C SOIC — DW SOP — NS SSOP — DB CDIP по 125C CFP — W LCCC — FK катушка по 2500 катушка по 250 туба по 40 катушка по 2000 катушка по 2000 катушка по 2000 Туба из 25 Туба из 150 Туба из 55 НОМЕР ДЕТАЛИ ДЛЯ ЗАКАЗА SNJ54HC595FK HC595 SNJ54HC595FK Чертежи корпусов, стандартные количества в упаковке, тепловые характеристики, символы и рекомендации по проектированию печатных плат доступны на сайте www. ti.com/sc/package. Имейте в виду, что важное уведомление о доступности, стандартной гарантии и использовании полупроводниковых продуктов Texas Instruments в критически важных приложениях, а также заявление об отказе от ответственности приведены в конце этого описания. Информация о ПРОИЗВОДСТВЕННЫХ ДАННЫХактуальна на дату публикации. Продукция соответствует спецификациям согласно условиям стандартной гарантии Texas Instruments. Производственная обработка не обязательно включает проверку всех параметров. В продуктах, соответствующих стандарту MILPRF38535, тестируются все параметры, если не указано иное. Для всех других продуктов производственная обработка не обязательно включает проверку всех параметров. ТАБЛИЦА ФУНКЦИЙ ФУНКЦИЯ Выходы QA-QH отключены. Выходы QA-QH включены. Сдвиговый регистр очищается. Первая ступень сдвигового регистра переходит в низкий уровень. Остальные этапы соответственно хранят данные предыдущего этапа. Первая ступень сдвигового регистра становится высокой. Остальные этапы соответственно хранят данные предыдущего этапа. Состояние сдвигового регистра не изменяется. Данные регистра сдвига хранятся в регистре хранения. Состояние регистра хранения не изменяется. |
Связанные продукты с тем же паспортом |
СН74ХК595ДБР |
SN74HC595DR |
SN74HC595DT |
СН74ХК595ДВ |
СН74ХК595ДВР |
СН74ХК595НСР |
SN74HC595DBRE4 |
SN74HC595DRE4 |
SN74HC595DRG4 |
СН74ХК595ДТЕ4 |
СН74ХК595ДВЕ4 |
Некоторые номера деталей того же производителя Texas Instruments, Inc. |
SN74HC595NSR ti SN74HC595, 8-битные регистры сдвига с выходными регистрами с 3 состояниями |
Восьмеричный шинный трансивер SN74HC623 с 3-позиционными выходами |
SN74HC623DW ti SN74HC623, трансиверы Octal Bus с выходами с 3 состояниями |
SN74HC640 Восьмеричные шинные трансиверы с 3-позиционными выходами |
SN74HC640DW ti SN74HC640, трансиверы Octal Bus с выходами с 3 состояниями |
SN74HC643 Восьмеричные шинные трансиверы с 3-позиционными выходами |
SN74HC645 |
SN74HC645DW ti SN74HC645, трансиверы Octal Bus с выходами с 3 состояниями |
SN74HC646 Восьмеричный шинный приемопередатчик и регистр с 3-мя выходами |
SN74HC646DW ti SN74HC646, приемопередатчики Octal Bus и регистры с выходами с 3 состояниями |
SN74HC651NT ti SN74HC651, приемопередатчики Octal Bus и регистры с выходами с 3 состояниями |
SN74HC652 Приемопередатчик восьмеричной шины и регистр с выходами с 3 состояниями |
SN74HC652DW ti SN74HC652, приемопередатчики Octal Bus и регистры с выходами с 3 состояниями |
приемопередатчиков автобуса СН74ХК664 восьмеричных с паритетом |
SN74HC665NT ti SN74HC665, приемопередатчики Octal Bus с контролем четности |
SN74HC682 8-битный компаратор величин |
SN74HC682DW ti SN74HC682, 8-битные компараторы магнитуд |
SN74HC684 8-битный компаратор амплитуд |
SN74HC684DW ti SN74HC684, 8-битные компараторы магнитуд |
SN74HC688 8-битный компаратор идентификаторов |
SN74HC688DW ti SN74HC688, 8-битные компараторы идентификации |
UC1526J883B : Режим напряжения ti UC1526, Регулирующий широтно-импульсный модулятор TMS320C6742ZWT3 : DSP с фиксированной/плавающей запятой TC27740: 735-580-пиксельный ПЗС-датчик изображения CD4066BC_05 : Двусторонний переключатель CMOS QUAD TLE2142AIDRG4: Малошумящие высокоскоростные прецизионные операционные усилители Excalibur TMS320F28334ZHHA : Контроллеры цифровых сигналов (dscs) TRSF3223EIDW : Интерфейс — драйверы, приемники, интегральная схема приемопередатчика (ics) Линейный приемопередатчик Лампа 3 В ~ 5,5 В; IC DVR/RCVR RS232 ESD 20SOIC Технические характеристики: Количество драйверов/ресиверов: 2/2; Тип: Линейный трансивер; Напряжение питания: 3 В ~ 5,5 В; Пакет/кейс: 20-СОИК (0,295 дюймов, ширина 7,50 мм); Упаковка: трубка; Протокол: RS232; Статус без свинца: Без свинца; Статус RoHS: Соответствует RoHS .MSP430F5508IPTR: встроенный — интегральная схема микроконтроллера (ics) внутренняя лента и катушка (TR) 1,8–3,6 В; IC MCU 16BIT 16KB FLASH 48LQFP Спецификации: Размер памяти программы: 16KB (16K x 8); Размер оперативной памяти: 6K x 8; Количество входов/выходов: 31; Упаковка/кейс: 48-LQFP; Скорость: 25 МГц; Тип генератора: внутренний; Упаковка: лента и катушка (TR); Тип программной памяти: FLASH ; Размер EEPROM: — ; Основной процессор: RISC; Преобразователи данных: A/D 8x10b; Ядро SN74AHC123APWRG4: моностабильные мультивибраторы ti SN74AHC123A, моностабильные мультивибраторы с двойным перезапуском |
0-C D-L M-R S-Z
Datasheet begin, distributors inventory
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 2-1 | 2-2 | 2-3 |
© 2004-2022 DIGCHIP. com
© 2004-2022222..com
© 2004-2022222..com
© 2004-2022222..com
© 2004-2022222..com
© 2004-2022222..com
© 2004-2022222..com
© 2004-20222. , Техническое описание, Характеристики, Применение
SN74HC595N Обзор продукта
SN74HC595N представляет собой простую микросхему с 8-разрядным регистром сдвига. Проще говоря, этот сдвиговый регистр представляет собой устройство, которое позволяет добавлять в микроконтроллер дополнительные входы или выходы путем преобразования данных между параллельным и последовательным форматами. Выбранный вами микропроцессор может обмениваться данными с SN74HC59.5N, используя последовательную информацию, затем собирает или выводит информацию в параллельном (многоконтактном) формате. По сути, он берет 8 бит с последовательного входа и затем выводит их на 8 контактов.
Эта небольшая ИС в корпусе DIP содержит 8-разрядный сдвиговый регистр с последовательным вводом и параллельным выводом, который питает 8-разрядный регистр хранения D-типа с параллельными выходами с тремя состояниями.
Примечание. Это заменяемая микросхема регистра сдвига 74HC595, которая должна нормально работать в любом приложении, которое могла предыдущая версия.
Как работает 74HC595?
Catalog
SN74HC595N Product Overview |
74HC595N Pinout Diagram |
74HC595N CAD Model |
Technical Specifications |
74HC595N Features |
Приложения |
Альтернативные регистры сдвига |
74HC595 Принцип работы сдвигового регистра |
Как использовать сдвиговый регистр 74HC595? |
Использование предупреждений |
Компонентный таблица |
FAQ |
74HC595N SELICE SELICE
74HC595N SELICE SELIGE
74HC595N.
магазин. Но все работают одинаково. Они имеют одинаковую конфигурацию контактов, электрические характеристики, схему выводов и принцип работы. Но этот урок будет больше посвящен SN74HC59.5N от техасских инструментов.Теперь посмотрите на схему выводов. Знак наклона ~ показывает, что эти контакты работают с активными низкими сигналами или с отрицательной логикой. Мы рассмотрим детали отрицательной логики позже в этом руководстве.
Относится к выходным контактам, поскольку это 8-битный регистр сдвига. SN74HC595N имеет восемь выходных контактов от Q0 до Q7.
74HC595 Схема контактов
74HC595N Модель САПР
74HC595 Модель САПР
Технические характеристики
Коробка/упаковка | ДИП |
Крепление | Сквозное отверстие |
Количество контактов | 16 |
Технический | |
Частота | 100 МГц |
Логическая функция | Сдвиговый регистр |
Максимальная рабочая температура | 125 °С |
Максимальное напряжение питания | 6 В |
Минимальная рабочая температура | -40 °С |
Минимальное напряжение питания | 2 В |
Количество битов | 8 |
Количество цепей | 8 |
Количество элементов | 1 |
Количество ворот | 1 |
Рабочее напряжение питания | 5 В |
Выходное напряжение | 6 В |
Рассеиваемая мощность | 750 мВт |
Задержка распространения | 265 нс |
Соответствие | |
Бессвинцовый | Бессвинцовый |
Радиационное упрочнение | № |
REACH SVHC | Нет SVHC |
RoHS | Соответствует |
74HC595N Особенности
Приложения
Альтернативные регистры сдвига
S. No: 70 | Имя | Тип |
1 | 4035 | 4-битный регистр сдвига с параллельным входом и выходом |
2 | 74LS379 | Четырехпараллельный регистр сдвига |
3 | 4014 | 4-битный статический регистр сдвига |
4 | 74LS166 | 8-битный регистр сдвига |
5 | 74LS323 | 8-битный регистр сдвига/хранения |
6 | 74LS164 | Сдвиговый регистр S/P |
7 | 4015 | Двойной 4-битный статический регистр |
8 | 74LS299 | 8-битный регистр сдвига/хранения |
74HC595 Принцип работы сдвигового регистра
Как упоминалось ранее, внутренний сдвиговый регистр 74HC595 состоит из двух регистров, таких как сдвиговый регистр и регистр хранения. Оба имеют ширину 8 бит. Первый отвечает за прием данных на каждом положительном фронте тактового сигнала и продолжает получать данные. Но данные из регистра сдвига передаются в регистр хранения только тогда, когда мы подаем активный высокий сигнал на входной контакт защелки.
Принцип работы сдвигового регистра
Как использовать сдвиговый регистр 74HC595?
Он имеет восемь выходов и 3 входных вывода, включая вывод данных, тактовый вывод накопительного резистора и тактовый вывод сдвигового регистра. Подключите контакт 8 к земле, а контакт 16 к источнику питания +5 В.
Контакт включения выхода (~OE) должен быть заземлен, чтобы включить выходные контакты сдвигового регистра. Главный контакт сброса очистит память сдвигового регистра, если он применяется с низким уровнем сигнала. Вот почему он должен быть высоким.
Когда на контакте 11 происходит переход положительного фронта, сдвиговый регистр примет входные данные, примененные к линии данных.
Выходы запоминающего регистра подключены к входным контактам D-защелки/накопительного резистора.
Эти входы обновляются на выходе защелки, когда на выводе 12 возникает положительный фронт.
Самое главное, если вам нужно каскадировать несколько микросхем вместе, тогда вывод 9 подключается к выводу данных другой микросхемы сдвигового регистра.
Использование предупреждений
Примечание. Перед заменой в схеме проверьте их параметры и конфигурацию контактов.
Компонент Техническое описание
74HC595 Техническое описание
Часто задаваемые вопросы
1. Как работает 8-битный регистр сдвига?
SN74HC595N представляет собой простую микросхему с 8-разрядным сдвиговым регистром. Проще говоря, этот сдвиговый регистр представляет собой устройство, которое позволяет добавлять в микроконтроллер дополнительные входы или выходы путем преобразования данных между параллельным и последовательным форматами.