Знакомство с микросхемой регистра сдвига 74HC595 - управление 16 светодиодами

74HC595

Из этого руководства вы узнаете, как управлять 16 светодиодами используя всего 3 линии управления. Мы осуществим это путем последовательной передачи данных в сдвиговые регистры 74HC595.

Знакомство с микросхемой регистра сдвига 74HC595

Микросхема 74HC595 содержит 8 битный регистр хранения и 8 битный сдвиговый регистр. Данные последовательно передаются в сдвиговый регистр, затем фиксируются в регистре хранения. К регистру хранения подключены 8 выходных линий. На картинке ниже показано расположение выводов микросхемы 74HC595.

74HC595

Вывод 14 (DS) это вывод данных. В некоторых описаниях он обозначается как «SER».

Когда уровень на выводе 11 (SH_CP, иногда обозначается как SRCLK) переходит из низкого в высокий, значение на выводе DS сохраняется в сдвиговом регистре, при этом данные сдвигаются на один разряд, чтобы предоставить место для нового бита.

Пока на выводе 12 (ST_CP, иногда обозначается как RCLK) низкий уровень, данные записываются в регистр сдвига. Когда уровень переходит в высокий, данные из сдвигового регистра фиксируются в регистре хранения, из которого поступают на выводы Q0…Q7.

На представленной ниже временная диаграмме, показано, каким образом можно установить на выходах Q0…Q7 микросхемы значение 11000011, учитывая что изначально там было значение 00000000.

Знакомство с микросхемой регистра сдвига 74HC595

Ниже показана схема, которую мы соберем в несколько шагов.

Знакомство с микросхемой регистра сдвига 74HC595
Кликните для увеличения

Мы используем перфорированную макетную плату с контроллером Atmega8, которую использовали во многих наших проектах. Добавим еще 2 пустых макетных платы и подведем к ним питание.

Установим микросхему регистра сдвига и подключим к ней питание +5 В и общий провод.

Теперь проведем 3 линии управления между микроконтроллером и регистром сдвига, для чего подсоединим:

  • PC0 к DS
  • PC1 к ST_CP
  • PC2 к SH_CP

Этими линиями являются 3 синих провода на картинке ниже.

Затем подключим светодиоды и резисторы. Я использовал резисторы сопротивлением 510 Ом, но допустимы и другие номиналы.

Для демонстрации работы схемы я написал небольшую программу, которая выводит перемещающийся из стороны в сторону огонек на 8 светодиодах.

Все это конечно впечатляет, но разве я не говорил, что мы будем управлять 16 светодиодами? Чтобы сделать это, нам потребуется еще один сдвиговый регистр 74HC595, больше светодиодов, больше резисторов и больше оранжевых и голубых проводов.

Мы используем вывод Q7, чтобы соединить регистры сдвига в одну цепочку.

Модифицированная схема показана ниже.

Знакомство с микросхемой регистра сдвига 74HC595
Кликните для увеличения

Знакомство с микросхемой регистра сдвига 74HC595

Код для реализации скачущего огонька на 16 светодиодах.

Мы остановились на 16 светодиодах, но можно соединить в одну цепочку еще больше регистров сдвига. Эта методика конечно не ограничивается управлением светодиодами, ее можно использовать для увеличения числа портов вывода, чтобы управлять другими видами устройств.

Одно предупреждение касательно этой методики. Когда вы включаете схему, на выходах регистров наблюдаются некоторое произвольное значение. Для того чтобы записать требуемое значение, требуется меньше микросекунды, но для некоторых схем это может стать причиной проблем. В этом случае вы должны использовать выводы MR и OE, для сброса регистров хранения.

protostack.com

Перевод: [IMG]/i/Image/wand.gif[/IMG] по заказу РадиоЛоцман

На английском языке: Introduction to 74HC595 shift register - Controlling 16 LEDs

JLCPCP: 2USD 2Layer 5PCBs, 5USD 4Layer 5PCBs

74HC595 Купить ЦенаКупить 74HC595 на РадиоЛоцман.Цены — от 3,63 до 20,67
6 предложений от 5 поставщиков
Исполнение: SO16-150. Логика стандартная: Тип корпуса : SO16-150 Логическая ИС 74HC595D.118. Описание в формате PDF
AliExpress
Весь мир
SN74HC595N IC SHIFT REGISTER 8BIT 16-DIP для техасских инструментов
3,63 ₽
ПМ Электроникс
Россия
74HC595D,118
Nexperia
от 8,15 ₽
РИВ Электроникс
Россия
SN74HC595N
Texas Instruments
15,80 ₽
Десси
Россия
Логическая ИС 74HC595D.118
NXP
20,67 ₽
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • угу...
  • И чё делать ?
  • Попробую угодать !!! Поставить второй выпрямитель с обратным диодом, и операционник инвертирующий напряжение на вход МК ! А в программе уже можно сделать ВСЁ !
  • зачем?
  • Задействовать второй канал АЦП , первый считать половиной , и прибавить второй ,тот что считанный инвертированный ( тот что другой полярности ) И будет общая картина . Мне кажется что на выходе будет точная картина происходящего .
  • А можно просто поставить диодный мост по сети, фильтр , и делитель напряжения для МК ... и не епать мозги !! Так ?
  • к сожалению не будет. ваша входная часть измеряет средние напряжение , которое вы привели к эффективному изменяя делитель подогнав показания. и это будет работать только с постоянной формой сигнала, с тиристорами это не работает изменяется форма сигнала , меняется коэф. между средним и эффективным. вход можно реализовать обычным делителем , приведя 0в на входе к 2,5в на АЦП и потеряв разрядность до 9. далее измерять мгновенное и вычислять эффективное, но тут есть проблема , чтобы нормально замерить мгновенное для тиристора нужно шаг хотя бы в 1гарад , а это минимум 180 отсчетов на полупериод 10мс , те 55,(5) мкс , у пика ни быстродействия, ни памяти не хватает... если приводить к 2град и мерится с точностью в пару вольт то вполне работает.
  • Схема не подразумевает считывания каких то быстрых значений, все значения напряжения выпрямляются ( сглаживаются конденсатороми) и делятся в резестивных делителях для МК. То есть Мк считывает уже выпрямленный сигнал замеряет его и выводит на 7 дисплей.
  • вот и я об этом... вы же за тиристор спрашивали, я вам ответил.
  • А я про мост диодный писал ! Если его внедрить вместо одного диода на считывание МК.
  • без разницы , изменение коэф. между средним и эффективным ни куда не деницо, а вот в схему придется добавлять гальваническую развязку или по входу или по питанию.
  • А в обычных мультиметрах как? Отбросим развязку от сети конечно. Они тоже не умеют адекватно показывать параметр такого типа?
  • именно так, поэтому в навороченные добавлена функция TrueRMS
  • Но ведь можно же сделать на уровне аналога , типа сложение , вычитание сигналов оперрационниками ? МК только замерять ?
  • Кстати, с Днём Победы Всех форумчан !!! С днём Победы люди !!!
  • можно, их много есть... MX536/636 , AD536a , AD8361, LTC1966 ,в [URL="https://www.analog.com/media/en/technical-documentation/data-sheets/1966fb.pdf"]ДШ[/URL] на последний есть таблица ошибки измерения от угла открытия триака. выводы можете сделать сами...
  • Они дорогие, минимальная цена ltc1966 на Али около 300 рублей !
  • А если детектировать отдельно каждый полупериод диодом и конденсатором , и слегка дать нагрузку , которой будет делитель ... А потом отрицательный результат инвертировать и подать на второй вход АЦП , а там уже суммировать без проблем ... ???
  • Взять вольтметр среднеквадратичный стрелочный. Электромагнитной системы. У которого на шкале нарисован не постоянный магнитик-подковка, а электромагнитик изображен. Ему форма переменного тока до одного места, он эффективное значение будет измерять по любому в заявленном диапазоне частот.
  • Это как то не современно ... Да и не интересно . Хочется поставить задачу и её решить .
Полный вариант обсуждения »