Входной сдвиговый регистр 74HC165

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Возвращаясь к теме регистров, у кого-нибудь есть пользовательские блоки, позволяющие работать по 5-проводной схеме одновременно с несколькими 74HC165 на входах и 74HC595 на выходах? Упомянутые выше блоки arisov77 работают отлично, но там SPI программный, а у Слимпера SPI аппаратный, но что-то не работает. А хотелось бы попробовать именно аппаратный SPI, выше скорость работы и прочие плюсы. Как вариант, неплохо бы иметь универсальные блоки "отправка переменной в SPI" и "приём переменной из SPI", не привязанные к конкретным микросхемам или шилдам. Возможно, уже такие есть, дайте ссылку. Возможно, [ref]Boroda[/ref] уже делал такие, тема должна быть востребована.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Чтоб темы не плодить, здесь спрошу. Есть у кого ссылка на блоки для регистров 74НС165 с подключением к любым пинам ардуино? Нужен блок для цепочки из 4 микросхем (32 входа).
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]seri0shka[/ref],
Попробуй, не тестил - нет железа...
На 32 бита.

Отправлено спустя 7 минут 42 секунды:
При 1 на Read - чтение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Спасибо. А чем преобразовать unsigned long int в байты?

Отправлено спустя 2 минуты 33 секунды:
И что такое clock enable pin ?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

seri0shka писал(а): 07 мар 2018, 18:21А чем преобразовать unsigned long int в байты?
Чтением нужного бита. Или нужны байты?
seri0shka писал(а): 07 мар 2018, 18:21И что такое clock enable pin ?
Сделал по фэн-шую, завтра уберу. Вход разрешения тактовых импульсов.
Можно и без него....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Байты в биты мне удобней переводить блоками Бороды, поэтому мне нужны 4 байта. А какой смысл разрешения тактовых импульсов? Только пин занимает.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]seri0shka[/ref],
Ок, пробуйте так.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

[ref=#ff8000]Sancho[/ref], работает правильно только до 15 бит, дальше фигня.
Вот такой работает отлично, хотя написан не очень (делал на основе чужого, быстро не вспомню, кого именно, лишнее удалил, недостающее дописал). Почему-то не отправляется на сайт пример рабочего блока, завтра попробую отправить.
Вот так примерно:
[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)) ;
[/spoiler]
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]seri0shka[/ref],
Вот причёсанный твой вариант. Почти.
Отпишись о косяках.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

unsigned long int Out_long;- это рудимент от предыдущих версий блока?
После digitalWrite(clockPin, LOW); задержку пропустили или специально убрали?
Блок работает нормально.
Реально по этой схеме сделать универсальный блок с изменяемым количеством микросхем от 1 до ... , соответственно и выходов (они же байты)?
Тогда можно будет выложить для всеобщего доступа.
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

Входной сдвиговый регистр 74HC165

Сообщение KulibinOrsk »

Поддерживаю и для полноты картины " чтобы было для всех" :
- главное сделайте описание к блоку - будет понятно что и как подключать и проверять.
- сделать вывод байтов и битов (кому как нужно будет так и раскроют). Или в описании указать как вывести биты (о каком то блоке бороды упоминалось...)
- сделать универсальность от 1 до 4 микросхем
- укажите возможное быстродействие, надо понимать скорость опроса.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]seri0shka[/ref],
Сделаем. Количество регистров будет неограниченно.
Ещё один небольшой момент - есть одна идейка, надо будет протестить - по ДШ работает до 20мгц - убрать задержки ) .
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Sancho писал(а): 09 мар 2018, 07:20по ДШ работает до 20мгц
-не понял, что это значит.
Задержки полностью убирать пробовал (в исходном "моём" блоке- работает отлично с SN74HC165N и К555ИР9(!) при питании 5 вольт, но есть ещё несколько серий импортных и отечественных микросхем, кроме того и работать могут от 2 до 6 вольт (в случае с Ардуино от 3 до 5 в), так что задержки в блоке обязательно нужно оставить, но дать возможность менять по желанию от 0 до ...
Кстати, [ref=#ff8000]Sancho[/ref], Вы когда спите?
По поводу предложения KulibinOrsk, чтоб не увеличивать размер блока (как на схеме, так и в скетче), возможно стоит сделать два вида блока- первый с выходами в виде байтов и всё, а второй с байтовыми и битовыми выходами (то есть 9 выходов для одного регистра). Лично я стараюсь создавать проекты максимально читаемые и с минимумом незадействованных выходов.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]seri0shka[/ref],
Думаю сделать так -
один блок - основной, самый первый при использовании, в нём все настройки и один регистр. два вида - выход или битами или байтом.
остальные блоки -слэйвы- каждый следующий регистр, с использованием функции основного. Может быть тоже двух видов.
Слэйвы не имеют номеров. Нумерация зависит от порядка в программе после основного.
Кол-во слэйвов не ограниченно.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Sancho писал(а): 09 мар 2018, 18:20Нумерация зависит от порядка в программе после основного.
По этому поводу сомнение.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

seri0shka писал(а): 09 мар 2018, 18:43По этому поводу сомнение.
Никаких.
Нажимаешь кнопку "порядок компиляции блоков", убеждаешься в правильности, компилишь.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Входной сдвиговый регистр 74HC165

Сообщение seri0shka »

Я даже кнопки такой не знаю, версия 2.1
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]seri0shka[/ref],
Понято.
Но всё равно - боятся не стоит, всегда можно проверить код.
Можно, также, сделать в одном, но несколько, и с разной размерностью.
Ок, завтра напилю для теста разных. Но с возможностью задержек от 0 до ....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

Входной сдвиговый регистр 74HC165

Сообщение KulibinOrsk »

[ref=#ff8000]Sancho[/ref],
Не сориентируете когда можно ожидать блока работающего с входами расширения с выводом байта и битов и выбором необходимого кол-ва 74HC165 ?
А если будет блок описанный в 22 посте: блок, позволяющие работать по 5-проводной схеме SPI одновременно с несколькими 74HC165 на входах и 74HC595 на выходах то будет совсем полное гармоничное решение всех вопросов.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Входной сдвиговый регистр 74HC165

Сообщение Sancho »

[ref]KulibinOrsk[/ref], [ref]seri0shka[/ref],
Просьба попробовать. Пока только 165.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Новые»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость