Сдвиговый регистр 74HC595
![]() |
![]() |
![]() |
Чтобы управлять большим количеством пинов светодиодной матрицы, не обязательно использовать большое количество выходов Arduino. Можно обойтись всего тремя. Применим для этого сдвиговый регистр. Рассмотрим микросхему 74HC595 — восьмиразрядный сдвиговый регистр с последовательным вводом, последовательным или параллельным выводом информации, с триггером-защелкой и тремя состояниями на выходе
Назначение выводов микросхемы 74HC595 приведено в табл.
Назначение выводов микросхемы 74HC595
Контакт |
Обозначение |
Назначение |
1–7, 15 |
Q0–Q7 |
Параллельные выходы |
8 |
GND |
Земля |
9 |
Q7" |
Выход для последовательного соединения регистров |
Контакт |
Обозначение |
Назначение |
10 |
MR |
Сброс значений регистра. Сброс происходит при получении LOW |
11 |
SH_CP |
Вход для тактовых импульсов |
12 |
ST_CP |
Синхронизация ("защелкивание") выходов |
13 |
OE |
Вход для переключения состояния выходов из высокоомного в рабочее |
14 |
DS |
Вход для последовательных данных |
16 |
Vcc |
Питание 2–6 В |
![]() |
Микросхема 74НС595 |
Для управления нам вполне достаточно всего лишь трех выводов: SH_CP, ST_CP и DS. Когда на тактовом входе SH_CP появляется логическая единица, регистр считывает бит со входа данных DS и записывает его в самый младший разряд. При поступлении на тактовый вход следующего импульса все повторяется, только бит, записанный ранее, сдвигается на один разряд, а его место занимает вновь пришедший бит. Когда все восемь битов заполнились, и приходит девятый тактовый импульс, регистр снова начинает заполняться с младшего разряда, и все повторяется вновь. Чтобы данные появились на выходах Q0...Q7, нужно их "защелкнуть". Для этого необходимо подать логическую единицу на вход ST_CP. Что бы мы ни делали с регистром, данные на выходах не изменятся, пока мы вновь не "защелкнем" их.
Вывод Q7" предназначен для последовательного (каскадного) соединения сдвиговых регистров. При таком подключении биты из первого регистра будут проталкиваться в следующий в каскаде регистр, из него — в следующий, и т. д. Таким образом, каскад из двух 8-битных регистров будет работать как один 16-битный. Можно соединить хоть десять штук.