Страница 1 из 1
моргание последовательных 74hc595
Добавлено: Пн июн 29, 2009 17:26:56
кот Буч
Приветствую всех. Имеется значит 2 ср подключенных последовательно. Скармливаю им, как положенно, 2 байта. Но есть некий паразитный эффект. Проявляется он в том случае, если допустим я хочу включить все выводы на втором по счету ср, а на первом все выключить, то на первом ср, при передаче 2 байт, а точнее после приема первого и до приема второго, включаются все выводы. Это происходит потамучто первый ср получает первый байт, и работает по нему, пока не получит следующий, но так как это происходит очень быстро, то и включается на доли секунды... но светодиоды на выводах всеравно моргают заметно. Вопрос собственно думаю всем понятен, как избавится от этого эффекта, при последовательном подключении ср.
Добавлено: Пн июн 29, 2009 18:45:57
Artemy
Есть парочка вариантов:
а) подавать строб на защёлку (STCP) после всех стробов сдвига (SHCP). Наверняка ведь подаёте STCP после каждого, как на диаграмме в даташите?
б) выключать выходы во время сдвига (OE=1)
Добавлено: Вт июн 30, 2009 10:11:27
adrenocrome
Artemy писал(а):а) подавать строб на защёлку (STCP) после всех стробов сдвига (SHCP). Наверняка ведь подаёте STCP после каждого, как на диаграмме в даташите?
вот так работает отлично.
вот мой кусок кода. у меня четыре регистра друг за другом стоят.
* почему то этот кусок
DS = (data>>lenght)&0b00000001; //пин данных будет равен очередному биту
с тэгом "CODE" не отображается на форуме так,как надо

10 минут долбался чтобы вставить код в сообщение, но так и не получилось. поэтому код в прицепе.
В программе сначала вызываю reg_setup, потом вызываю reg_send столько раз,сколько надо байт запихать в регистры, и напоследок reg_close. работает в часах с безконтроллерным ЖКИ.
Добавлено: Вт июн 30, 2009 16:50:27
Artemy
adrenocrome писал(а):вот мой кусок кода
А "подождём чуток" обязательно? У регистра же наносекундные (десяток-другой) задержки? Или это особенность какая-то?
Добавлено: Вт июн 30, 2009 20:30:32
кот Буч
Да, действительно, по первому варианту все работает. Что относительно второго варианта, я пробовал его еще до создания темы, но ср почему-то работали не так как я ожидал. Конкретнее говоря, выводы ср вместо того что-бы отрубится, моргали с высокой частотой. Ну в любом случае, проблема решена, спасибо обоим за отзыв.

Добавлено: Ср июл 01, 2009 07:50:13
adrenocrome
Artemy писал(а):adrenocrome писал(а):вот мой кусок кода
А "подождём чуток" обязательно? У регистра же наносекундные (десяток-другой) задержки? Или это особенность какая-то?
нет, это на всякий случай =) чтоб уж наверняка. если критично, можно и выбросить наверное. ну или NOP запихать туда...