Привет всем! проблема такая: допустим есть 8 переменных, которые динамически меняют состояние 0/1 мне нужно через сдвиговый регистр включать/выключать 8 светодиодов.
Код:
void sdvig_reg(void) {
for (count=0;count<8;count++) { if (z & 0b10000000) data=1 ; else data=0; shift=1; delay_us(5); shift=0; z=z<<1; //z<<=1; }
latch=1; delay_us(5); latch=0; // data=0 ;
}
void main(void) {
while(1){
sdvig_reg();
if( led_0==1){ z=0b00000001; }
} }
я так понял, что нужно led_0 - led_7 записывать в переменную к примеру:" z = 0b10001011;"
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Вам нужно 8 раз отправить 1. Соответственно загорится 8 светодиодов.
Добавлено after 24 minutes 59 seconds: И еще кое что. Если у вас переменная latch управляет STCP регистром то вам его нужно в начале цикла выставить в 0, а потом в конце цикла выставить 1.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Спасибо но spi уже занят у меня есть 3 свободных порта, по этому и решил применить программный spi.
Что значит "занят"? SPI - это вообще-то шина и, соответственно, позволяет вешать на неё несколько независимых слэйвов, каждый со своим CS. Занят может быть только конкретный CS.
Народ, неужели 74hc595 не требует совсем никакой обвязки? Ни на одной схеме в инете я её не увидел. Проскакивала инфа, что надо вешать кондеры по питанию. Так ли это? Какого номинала они должны быть, как думаете? 0,1мкФ, как на контроллере, достаточно будет? Или не ставить вовсе, если схема будет питаться от батареек и управлять светодиодами?
Задача: управление электромагнитом при помощи ШИМ, т.е. срываем якорь при D=1, затем удержание ШИМом при D=0.5. размножил GPIO при помощи этой микросхемы. Вот схема.
В общем, записываю бит в нужную позицию, а на вывод OE подаю ШИМ. По идее, этот же ШИМ появляется на выводе, в который я раньше записал лог.1 . Частота не более 100 кГц. Такой вариант использования микросхемы адекватен или же идея шляпа? Исток транзистора соединен с землей через токоизмерительный резистор 0,1 Ом.
Ну и садомазохизм... Для 595-го надо от 3х до 4х линий управления, а для полевика ВСЕГО одна - в чем смысл такого изврата?
В том что полевиков 7, я просто один разместил рядом, что бы скрин сделать. И да, поражает особенность отечественных форумов. Я спрашивал не про адекватность такого "изврата", а про гипотетическую возможность так управлять: возможно ли и с какими граблями или же нет. Да. Смысл такой. В регистр записываем нужное значение, выставив единицы на нужных линиях, а нога enable шимится от аппаратного ШИМ. Думаю прокатит. Прототип платы уже заказан )
Это вход разрешения, а не логика. Если критичны параметры наростания/спада(и пиковых токов зарядки емкости затвора) импульса лучше добавить обычную логику между выходом регистра и полевиком.
В общем, записываю бит в нужную позицию, а на вывод OE подаю ШИМ. По идее, этот же ШИМ появляется на выводе, в который я раньше записал лог.1 . Частота не более 100 кГц. Такой вариант использования микросхемы адекватен или же идея шляпа?
Имейте ввиду, что при лог.1 на управляющем входе ОЕ выходы переходят в Z-состояние (повисают в воздухе), а не переключаются в лог.0. А по сему управлять таким способом (без дополнительной разрядной цепочки) полевым транзистором не выйдет даже и при 2кГц. . В остальном проблем нет, по управляющему входу ОЕ вполне можно ШИМ-ить выходами.
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения