Використання зсувних регістрів з arduino - програмування мікроконтролерів

Зсувний регістр - це набір послідовно з'єднаних тригерів (зазвичай їх 8 штук) які функцію зсуву вправо і вліво. (Т. Е. Переписування даних з кожного попереднього тригера на наступний за рахунком). Найбільш поширеним варіантом вихідного зсувного регістру є 74HC595.

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

Іншими словами дана мікросхема дозволяє управляти 8-ми виходами, при цьому займаючи всього кілька виходів Arduino. Принцип роботи зсувного регістру полягає в тому, що від мікроконтролера на нього передається послідовний сигнал (послідовність 1 і 0), який потім перетворюється в паралельний, тобто на виходи регістра подається напруга 0 або 5 В відповідно до отриманого сигналом.

В зсувних регістрах використовується синхронізований тип передачі даних. Необхідні значення сигналу (біти HIGH або LOW) передаються в регістр один за іншим, при цьому регістр отримує синхронизирующий сигнал, який змушує його вважати сигнал з входу. Для наочного розуміння роботи регістра подивіться на картинку.

Використання зсувних регістрів з arduino - програмування мікроконтролерів

По лінії SH_CP передаються тактуючий сигнал, при цьому, при отриманні висхідного фронту (зміни напруги від 0В до 5В) мікросхема зчитує значення на вході DS мікросхеми. Після чого отримане значення записується в регістр Q0. Далі з одержанням наступного значення воно також записується в регістр Q0, а значення, яке було у Q0 до цього присвоюється регістру Q1. І так буде відбуватися до тих пір, поки мікросхема буде отримувати синхроімпульсів. Далі, при подачі живлення на вхід ST_CP (так звана засувка), значення записані в регістри з Q0 до Q7, виявляться на відповідних висновках мікросхеми. Звертаю увагу, що у всіх пристроях TTL нумерація бітів, регістрів або ще будь-яких значень починається з 0, тобто перше значення на «людському» мовою буде нульовим на «машинному».

Крім того, виходи зсувного регістру можуть приймати третє значення, відмінне від 0 і 1. Це так зване високоомне стан, коли опір ніжок мікросхеми прагнути до нескінченності. Такий стан може бути використано, якщо керований пристрій підключено до декількох мікросхемах і в даний момент необхідно повністю відключити зсувний регістр.