Shift Register SN74HC595N

parkourtrane
Offline
Зарегистрирован: 24.04.2014

Здраствуйте. Никак немогу понять принцип работы шифт регистра SN74HC595N. Я в этом деле еще новичок, поетаму почитав даташит ничего практически не понял. Меня интересует как можно вводит конкретное число, без с сдвигов, например, надо чтобы горели 3 последних LED, то есть 11100000. Конечно, это можно сделать со сдвигами, а если мне понадобится 11111011? Расскажите, или укажите где можно достать информацию об данного вида шифт регистра. 

axill
Offline
Зарегистрирован: 05.09.2011

Этот регистр имеет так называемую "защелку", это буфер, значения на выходах меняются только тогда когда операция сдвига завершена. В момент сдвига значения выходов остаются не изменными

parkourtrane
Offline
Зарегистрирован: 24.04.2014

А Как в схему можно добавить кнопки, добавивь просто, LED мигают и на кнопки не реагирует шифт рег?

axill
Offline
Зарегистрирован: 05.09.2011

сформулируйте вопрос, на ваш поток сознания сложно ответить ))) Разве что так:

ДА!

parkourtrane
Offline
Зарегистрирован: 24.04.2014

Когда я добавляю pushbutton между D2 и DS, D4 и ST_CP, D5 и SH_CP всё LED начинают мигать безпрерывно. Интересно то что схема реагирует на мою ладонь, то есть подношу я ладонь к кнопкам, всё леды загораюстя, уношу, по одному потухнают. Использую я вот эту схему. Как было бы более корректнее подключить кнопки в схему?

axill
Offline
Зарегистрирован: 05.09.2011

не стоит патытаться управлять сдвиговым регистром напрямую кнопкой. Кнопка генерит серию импульсов (так называемый дребезг контактов). Бурите любой пример из интернета и управляйте ригистром с ардуино

parkourtrane
Offline
Зарегистрирован: 24.04.2014

А можно ли собрать какойнибуть аналог? Я хочу управлять сдвиговый регистр мануально, возможно ли это?
 

faraddin
Offline
Зарегистрирован: 11.08.2013

ОЕ надо на землю подключить, иначе он так и будет срабатывать на руку...

axill
Offline
Зарегистрирован: 05.09.2011

мануально? управляйте кнопкой ардуино, а ардуино пусть управляет регистром

parkourtrane
Offline
Зарегистрирован: 24.04.2014

Теперь я примерно понял как работает сдвиговый регистр. У меня сама схема была немного неправильна. Вот здесь я нашел правильный ответ:
http://arduino.ru/Tutorial/registr_74HC595

Но один нюанс я всё таки не понял, почему при последней команде, которая посылает "1", сами ЛЕД не обновляется пока не подаж "0"
Код который я использую:
digitalWrite(SH_CP, LOW);
shiftOut(DS,ST_CP,MSBFIRST,1);
digitalWrite(SH_CP,HIGH);

К примеру если нам надо 1111, то выполнив четыре такие команды  -  загорятся только три ЛЕД - 00000111. Решения этому подав 0. Но вот почему так происходит?

faraddin
Offline
Зарегистрирован: 11.08.2013

parkourtrane пишет:

Теперь я примерно понял как работает сдвиговый регистр. У меня сама схема была немного неправильна. Вот здесь я нашел правильный ответ:
http://arduino.ru/Tutorial/registr_74HC595

Но один нюанс я всё таки не понял, почему при последней команде, которая посылает "1", сами ЛЕД не обновляется пока не подаж "0"
Код который я использую:
digitalWrite(SH_CP, LOW);
shiftOut(DS,ST_CP,MSBFIRST,1);
digitalWrite(SH_CP,HIGH);

К примеру если нам надо 1111, то выполнив четыре такие команды  -  загорятся только три ЛЕД - 00000111. Решения этому подав 0. Но вот почему так происходит?

Приведите код программы, скорее всего у вас ошибка именно там.