Входной сдвиговый регистр 74HC165
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Возвращаясь к теме регистров, у кого-нибудь есть пользовательские блоки, позволяющие работать по 5-проводной схеме одновременно с несколькими 74HC165 на входах и 74HC595 на выходах? Упомянутые выше блоки arisov77 работают отлично, но там SPI программный, а у Слимпера SPI аппаратный, но что-то не работает. А хотелось бы попробовать именно аппаратный SPI, выше скорость работы и прочие плюсы. Как вариант, неплохо бы иметь универсальные блоки "отправка переменной в SPI" и "приём переменной из SPI", не привязанные к конкретным микросхемам или шилдам. Возможно, уже такие есть, дайте ссылку. Возможно, [ref]Boroda[/ref] уже делал такие, тема должна быть востребована.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Чтоб темы не плодить, здесь спрошу. Есть у кого ссылка на блоки для регистров 74НС165 с подключением к любым пинам ардуино? Нужен блок для цепочки из 4 микросхем (32 входа).
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Попробуй, не тестил - нет железа...
На 32 бита.
Отправлено спустя 7 минут 42 секунды:
При 1 на Read - чтение.
Попробуй, не тестил - нет железа...
На 32 бита.
Отправлено спустя 7 минут 42 секунды:
При 1 на Read - чтение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Спасибо. А чем преобразовать unsigned long int в байты?
Отправлено спустя 2 минуты 33 секунды:
И что такое clock enable pin ?
Отправлено спустя 2 минуты 33 секунды:
И что такое clock enable pin ?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
Чтением нужного бита. Или нужны байты?
Сделал по фэн-шую, завтра уберу. Вход разрешения тактовых импульсов.
Можно и без него....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Байты в биты мне удобней переводить блоками Бороды, поэтому мне нужны 4 байта. А какой смысл разрешения тактовых импульсов? Только пин занимает.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Ок, пробуйте так.
Ок, пробуйте так.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
[ref=#ff8000]Sancho[/ref], работает правильно только до 15 бит, дальше фигня.
Вот такой работает отлично, хотя написан не очень (делал на основе чужого, быстро не вспомню, кого именно, лишнее удалил, недостающее дописал). Почему-то не отправляется на сайт пример рабочего блока, завтра попробую отправить.
Вот так примерно:
[spoiler=Код внутри][/spoiler]
Вот такой работает отлично, хотя написан не очень (делал на основе чужого, быстро не вспомню, кого именно, лишнее удалил, недостающее дописал). Почему-то не отправляется на сайт пример рабочего блока, завтра попробую отправить.
Вот так примерно:
[spoiler=Код внутри]
Код: Выделить всё
setup......
pinMode(PL_pin,OUTPUT);
pinMode(Clock_pin,OUTPUT);
pinMode(Q7_pin,INPUT);
digitalWrite(Q7_pin, HIGH); //подключаем подтягивающий резистор
loop.......
byte Q1 = 0;
byte Q2 = 0;
byte Q3 = 0;
byte Q4 = 0;
digitalWrite(PL_pin,HIGH);
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q1 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q2 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q3 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q4 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
digitalWrite(PL_pin,LOW);
Q1 = Q1 ^ ((B11<<8) | (B00000000)) ; // инвертировать побитно байт (0 - нет инверсии, 1 - инвертировать)
Q2 = Q2 ^ ((B11<<8) | (B00000000)) ;
Q3 = Q3 ^ ((B11<<8) | (B00000000)) ;
Q4 = Q4 ^ ((B11<<8) | (B00000000)) ;
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Вот причёсанный твой вариант. Почти.
Отпишись о косяках.
Вот причёсанный твой вариант. Почти.
Отпишись о косяках.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
unsigned long int Out_long;- это рудимент от предыдущих версий блока?
После digitalWrite(clockPin, LOW); задержку пропустили или специально убрали?
Блок работает нормально.
Реально по этой схеме сделать универсальный блок с изменяемым количеством микросхем от 1 до ... , соответственно и выходов (они же байты)?
Тогда можно будет выложить для всеобщего доступа.
После digitalWrite(clockPin, LOW); задержку пропустили или специально убрали?
Блок работает нормально.
Реально по этой схеме сделать универсальный блок с изменяемым количеством микросхем от 1 до ... , соответственно и выходов (они же байты)?
Тогда можно будет выложить для всеобщего доступа.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Входной сдвиговый регистр 74HC165
Поддерживаю и для полноты картины " чтобы было для всех" :
- главное сделайте описание к блоку - будет понятно что и как подключать и проверять.
- сделать вывод байтов и битов (кому как нужно будет так и раскроют). Или в описании указать как вывести биты (о каком то блоке бороды упоминалось...)
- сделать универсальность от 1 до 4 микросхем
- укажите возможное быстродействие, надо понимать скорость опроса.
- главное сделайте описание к блоку - будет понятно что и как подключать и проверять.
- сделать вывод байтов и битов (кому как нужно будет так и раскроют). Или в описании указать как вывести биты (о каком то блоке бороды упоминалось...)
- сделать универсальность от 1 до 4 микросхем
- укажите возможное быстродействие, надо понимать скорость опроса.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Сделаем. Количество регистров будет неограниченно.
Ещё один небольшой момент - есть одна идейка, надо будет протестить - по ДШ работает до 20мгц - убрать задержки ) .
Сделаем. Количество регистров будет неограниченно.
Ещё один небольшой момент - есть одна идейка, надо будет протестить - по ДШ работает до 20мгц - убрать задержки ) .
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
-не понял, что это значит.
Задержки полностью убирать пробовал (в исходном "моём" блоке- работает отлично с SN74HC165N и К555ИР9(!) при питании 5 вольт, но есть ещё несколько серий импортных и отечественных микросхем, кроме того и работать могут от 2 до 6 вольт (в случае с Ардуино от 3 до 5 в), так что задержки в блоке обязательно нужно оставить, но дать возможность менять по желанию от 0 до ...
Кстати, [ref=#ff8000]Sancho[/ref], Вы когда спите?
По поводу предложения KulibinOrsk, чтоб не увеличивать размер блока (как на схеме, так и в скетче), возможно стоит сделать два вида блока- первый с выходами в виде байтов и всё, а второй с байтовыми и битовыми выходами (то есть 9 выходов для одного регистра). Лично я стараюсь создавать проекты максимально читаемые и с минимумом незадействованных выходов.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Думаю сделать так -
один блок - основной, самый первый при использовании, в нём все настройки и один регистр. два вида - выход или битами или байтом.
остальные блоки -слэйвы- каждый следующий регистр, с использованием функции основного. Может быть тоже двух видов.
Слэйвы не имеют номеров. Нумерация зависит от порядка в программе после основного.
Кол-во слэйвов не ограниченно.
Думаю сделать так -
один блок - основной, самый первый при использовании, в нём все настройки и один регистр. два вида - выход или битами или байтом.
остальные блоки -слэйвы- каждый следующий регистр, с использованием функции основного. Может быть тоже двух видов.
Слэйвы не имеют номеров. Нумерация зависит от порядка в программе после основного.
Кол-во слэйвов не ограниченно.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
Никаких.
Нажимаешь кнопку "порядок компиляции блоков", убеждаешься в правильности, компилишь.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Понято.
Но всё равно - боятся не стоит, всегда можно проверить код.
Можно, также, сделать в одном, но несколько, и с разной размерностью.
Ок, завтра напилю для теста разных. Но с возможностью задержек от 0 до ....
Понято.
Но всё равно - боятся не стоит, всегда можно проверить код.
Можно, также, сделать в одном, но несколько, и с разной размерностью.
Ок, завтра напилю для теста разных. Но с возможностью задержек от 0 до ....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Входной сдвиговый регистр 74HC165
[ref=#ff8000]Sancho[/ref],
Не сориентируете когда можно ожидать блока работающего с входами расширения с выводом байта и битов и выбором необходимого кол-ва 74HC165 ?
А если будет блок описанный в 22 посте: блок, позволяющие работать по 5-проводной схеме SPI одновременно с несколькими 74HC165 на входах и 74HC595 на выходах то будет совсем полное гармоничное решение всех вопросов.
Не сориентируете когда можно ожидать блока работающего с входами расширения с выводом байта и битов и выбором необходимого кол-ва 74HC165 ?
А если будет блок описанный в 22 посте: блок, позволяющие работать по 5-проводной схеме SPI одновременно с несколькими 74HC165 на входах и 74HC595 на выходах то будет совсем полное гармоничное решение всех вопросов.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]KulibinOrsk[/ref], [ref]seri0shka[/ref],
Просьба попробовать. Пока только 165.
Просьба попробовать. Пока только 165.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость