Главная » Ардуино » 74HC595 — сдвиговый регистр. Подключение к Ардуино

74HC595 — сдвиговый регистр. Подключение к Ардуино

Иногда в своих проектах на Ардуино нам не хватает свободных линий ввода/вывода. Примером этому может служить управление большим количеством светодиодов, подключение многоразрядного 7-сегментного светодиодного дисплея, LCD дисплея 16х2 и так далее.

HILDA - электрическая дрель
Многофункциональный электрический инструмент способн...
Подробнее

Для решения этой проблемы мы можем использовать микросхему сдвиговый регистр 74HC595. Используя всего 3 вывода микроконтроллера, мы можем управлять 8 светодиодами, что позволяет сэкономить 5 выводов, которые можно использовать длz других целей.

Мы можете использовать 74HC595 для управления 8 выходами одновременно, используя только несколько контактов вашего микроконтроллера. Также есть возможность связать несколько подобных регистров вместе, тем самым увеличив управляемые выводы.

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

Распиновка 74HC595

Ниже представлена распиновка 74HC595

 

  • Выводы 1-7, 15 (Q0…Q7) — выходные контакты
  • Вывод 8  (GND) — земля
  • Вывод 9  (Q7 ″) — последовательный выход
  • Вывод 10 (MR) Master Reclear, активный — LOW
  • Вывод 11 (SH_CP) вывод регистра сдвига
  • Вывод 12 (ST_CP) вывод  регистра памяти (вывод защелки)
  • Вывод 13 (OE)      разрешение выхода, активный — LOW Вывод 14 (DS)        последовательный ввод данных
  • Вывод 16 (Vcc)     напряжение питания, обычно 5 В

Схема подключения 74HC595 к Ардуино

Это схема является примером того, как можно управлять регистром сдвига 74HC595 при помощью Ардуино. В этом примере мы будем управлять  группой состоящей из 8 светодиодов.

  • DS (контакт 14) — Ардуино DigitalPin  4
  • SH_CP (контакт 11) — Ардуино DigitalPin  6
  • ST_CP (контакт 12) — Ардуино DigitalPin  5

74HC595 - сдвиговый регистр. Подключение к Ардуино

Скетч

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

int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
long randNumber;

void setup() {
// устанавливаем контакты для вывода, чтобы мы могли управлять регистром сдвига
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
randomSeed(analogRead(0));
}

void loop()
{
// получаем случайное число между 1 и 255
randNumber = random(1, 255);
// низкий уровень latchPin, поэтому
// светодиоды не меняются, пока мы отправляем биты:
digitalWrite(latchPin, LOW);
// сдвигаем биты:
shiftOut(dataPin, clockPin, MSBFIRST, randNumber);
// подаем на latchPin высокий уровень, чтобы светодиоды загорелись:
digitalWrite(latchPin, HIGH);
// пауза перед следующим значением:
delay(500);
}

 

Паяльный фен YIHUA 8858
Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час...
Подробнее

Оставить комментарий

Ваш email нигде не будет показан. Обязательные для заполнения поля помечены *

*