Например TDA7294

Форум РадиоКот • Просмотр темы - Сдвиговый регистр 74HC595
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 19, 2024 02:27:35

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Сдвиговый регистр 74HC595
СообщениеДобавлено: Вт ноя 28, 2017 23:33:12 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 20, 2013 16:38:32
Сообщений: 120
Откуда: Страна Чудес
Рейтинг сообщения: 0
Привет всем! :)
проблема такая: допустим есть 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;
}


}
}
 


:facepalm:

я так понял, что нужно led_0 - led_7 записывать в переменную к примеру:" z = 0b10001011;"

скажите как правильно записать ? :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Ср ноя 29, 2017 00:17:03 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Заюзайте структуру и union. Будут и led'ы и выдвигаемый байт "в одном флаконе".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Ср ноя 29, 2017 04:47:15 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
Создайте структуру к примеру :
Код:
struct UnionBits
{
   unsigned DO0: 1;
   unsigned DO1: 1;
   unsigned DO2: 1;
   unsigned DO3: 1;
   unsigned DO4: 1;
   unsigned DO5: 1;
   unsigned DO6: 1;
   unsigned DO7: 1;
};

union Byte {
   uint8_t ByteRegister;
   struct UnionBits Register;
};

union Byte OneOUT;

И пишите состояние в эту структуру к примеру чере SPI.
Код:
uint8_t SPI_UpdataByte(uint8_t data)
{
   uint8_t report;
   SPDR = data;
   while(!(SPSR & (1<<SPIF)));
   report = SPDR;
   return report;
}
void SpiOutRegister()
{
   SPI_PORT &= ~(1<<SPI_SS);
   OneIN.ByteRegister=SPI_UpdataByte(EightOUT.ByteRegister);
   SPI_PORT |= (1<<SPI_SS);
}


Вот ссылка с моей реализацией реализацией.
viewtopic.php?f=57&t=149947

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Ср ноя 29, 2017 11:39:10 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 20, 2013 16:38:32
Сообщений: 120
Откуда: Страна Чудес
Рейтинг сообщения: 0
Спасибо но spi уже занят у меня есть 3 свободных порта, по этому и решил применить программный spi.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Пт дек 01, 2017 09:38:09 
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вс авг 16, 2015 13:08:53
Сообщений: 173
Рейтинг сообщения: 0
Вам нужно 8 раз отправить 1. Соответственно загорится 8 светодиодов.

Добавлено after 24 minutes 59 seconds:
И еще кое что. Если у вас переменная latch управляет STCP регистром то вам его нужно в начале цикла выставить в 0, а потом в конце цикла выставить 1.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Ср дек 06, 2017 13:06:00 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1154
Рейтинг сообщения: 0
Спасибо но spi уже занят у меня есть 3 свободных порта, по этому и решил применить программный spi.

Что значит "занят"? SPI - это вообще-то шина и, соответственно, позволяет вешать на неё несколько независимых слэйвов, каждый со своим CS.
Занят может быть только конкретный CS.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Сб дек 16, 2017 16:51:10 
Открыл глаза
Аватар пользователя

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Пн май 27, 2013 17:02:32
Сообщений: 51
Рейтинг сообщения: 0
Народ, неужели 74hc595 не требует совсем никакой обвязки?
Ни на одной схеме в инете я её не увидел.
Проскакивала инфа, что надо вешать кондеры по питанию.
Так ли это?
Какого номинала они должны быть, как думаете?
0,1мкФ, как на контроллере, достаточно будет?
Или не ставить вовсе, если схема будет питаться от батареек и управлять светодиодами?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Сб дек 16, 2017 18:24:46 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 1
Я за народ.
Ставить на каждую микросхему по 0,1 мкФ.
...Ни на одной схеме в инете я её не увидел...

И не увидите. Бо рисуют (а в большинстве своём копипастят) и выкладывают эти схемы такие же, как вы.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Вс дек 17, 2017 14:51:59 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1154
Рейтинг сообщения: 1
Народ, неужели 74hc595 не требует совсем никакой обвязки?
Или не ставить вовсе, если схема будет питаться от батареек и управлять светодиодами?

Какая разница - от батареек или нет?
Читайте учебники что такое "блокировочные конденсаторы" и зачем они нужны.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Вт май 22, 2018 03:46:27 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 10
Зарегистрирован: Пт фев 16, 2007 14:18:20
Сообщений: 1132
Откуда: Новосибирск
Рейтинг сообщения: 0
Всем привет!
Вопрос по данной микросхеме.

Задача: управление электромагнитом при помощи ШИМ, т.е. срываем якорь при D=1, затем удержание ШИМом при D=0.5. размножил GPIO при помощи этой микросхемы.
Вот схема.

Изображение

В общем, записываю бит в нужную позицию, а на вывод OE подаю ШИМ. По идее, этот же ШИМ появляется на выводе, в который я раньше записал лог.1 . Частота не более 100 кГц. Такой вариант использования микросхемы адекватен или же идея шляпа?
Исток транзистора соединен с землей через токоизмерительный резистор 0,1 Ом.

_________________
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Пн май 28, 2018 09:38:27 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: -1
Ну и садомазохизм...
Для 595-го надо от 3х до 4х линий управления, а для полевика ВСЕГО одна - в чем смысл такого изврата?
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Пн май 28, 2018 09:53:20 
Нашел транзистор. Понюхал.

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пн мар 06, 2017 18:53:23
Сообщений: 152
Откуда: Казань.
Рейтинг сообщения: 0
было сделано для 1533ир24, но не суть.

записываем значение переменной temp в регистр сдвига.

чуть изменив код можно писать инверсное значение переменной.


#include <xc.h>


#define strb_c0 RD6
#define strb_c1 RD7
#define clk_c RD0
#define data_c RD1
#define clk_c1 RD2
#define data_c1 RD3


// makros
unsigned char var,bitno,mask;
#define bitset(var,bitno) ((var)|=1<<(bitno))
#define bitclr(var,bitno) ((var)&=~(1<<(bitno)))
#define testbit(var,bitno) ((var>>bitno)&0x01) // chek 1
#define testbit_0(var,bitno) (!((var>>bitno))&0x01) // chek 0
#define bits_on (var, mask) var |= mask //
#define bits_off (var, mask) var &= ~ 0 ^ mask
///////////////////////////////////////////////////////////////////////////////

void load_reg_clock (unsigned char temp){

/////////////////////////////////////////////new_load_reg
signed char j;
for (j=0x07; j>=0x00; j--) {

if (testbit(temp,j)) data_c=0;
else ( data_c=1);
clk_c=1;
clk_c=0;

}
/////////////////////////////////////////////new_load_reg

}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Пт июн 01, 2018 12:55:01 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 10
Зарегистрирован: Пт фев 16, 2007 14:18:20
Сообщений: 1132
Откуда: Новосибирск
Рейтинг сообщения: 0
Ну и садомазохизм...
Для 595-го надо от 3х до 4х линий управления, а для полевика ВСЕГО одна - в чем смысл такого изврата?
:dont_know:

В том что полевиков 7, я просто один разместил рядом, что бы скрин сделать. И да, поражает особенность отечественных форумов. Я спрашивал не про адекватность такого "изврата", а про гипотетическую возможность так управлять: возможно ли и с какими граблями или же нет.
Да. Смысл такой. В регистр записываем нужное значение, выставив единицы на нужных линиях, а нога enable шимится от аппаратного ШИМ. Думаю прокатит. Прототип платы уже заказан )

_________________
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Сб июн 02, 2018 11:53:19 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это вход разрешения, а не логика.
Если критичны параметры наростания/спада(и пиковых токов зарядки емкости затвора) импульса лучше добавить обычную логику между выходом регистра и полевиком.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Сб июн 02, 2018 12:16:52 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5954
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6638
Откуда: Ливны
Рейтинг сообщения: 0
Chip115 писал(а):
В общем, записываю бит в нужную позицию, а на вывод OE подаю ШИМ. По идее, этот же ШИМ появляется на выводе, в который я раньше записал лог.1 . Частота не более 100 кГц. Такой вариант использования микросхемы адекватен или же идея шляпа?
Имейте ввиду, что при лог.1 на управляющем входе ОЕ выходы переходят в Z-состояние (повисают в воздухе), а не переключаются в лог.0. :wink: А по сему управлять таким способом (без дополнительной разрядной цепочки) полевым транзистором не выйдет даже и при 2кГц. . :( В остальном проблем нет, по управляющему входу ОЕ вполне можно ШИМ-ить выходами. :)

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Пн июн 04, 2018 03:40:19 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 10
Зарегистрирован: Пт фев 16, 2007 14:18:20
Сообщений: 1132
Откуда: Новосибирск
Рейтинг сообщения: 0
Спасибо за ответы! Прижал затвор резистором. Придется подбирать резюк или же, действительно, ставить разрядную цепочку

_________________
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Сдвиговый регистр 74HC595
СообщениеДобавлено: Пн июн 04, 2018 08:28:05 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5954
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6638
Откуда: Ливны
Рейтинг сообщения: 0
Chip115 писал(а):
Прижал затвор резистором. Придется подбирать резюк...
Это не дело. :? Ставьте разрядную цепочку на транзисторе, и не задирайте частоту ШИМ выше 2кГц.
Изображение

В противном случае нужен драйвер/буфер. :roll:


Вложения:
discharge.JPG [14.99 KiB]
Скачиваний: 807

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y