моргание последовательных 74hc595

Обсуждаем цифровые устройства...
Ответить
кот Буч
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Сб апр 04, 2009 13:48:04

моргание последовательных 74hc595

Сообщение кот Буч »

Приветствую всех. Имеется значит 2 ср подключенных последовательно. Скармливаю им, как положенно, 2 байта. Но есть некий паразитный эффект. Проявляется он в том случае, если допустим я хочу включить все выводы на втором по счету ср, а на первом все выключить, то на первом ср, при передаче 2 байт, а точнее после приема первого и до приема второго, включаются все выводы. Это происходит потамучто первый ср получает первый байт, и работает по нему, пока не получит следующий, но так как это происходит очень быстро, то и включается на доли секунды... но светодиоды на выводах всеравно моргают заметно. Вопрос собственно думаю всем понятен, как избавится от этого эффекта, при последовательном подключении ср.
Аватара пользователя
Artemy
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб окт 04, 2008 00:23:25
Откуда: Санкт-Петербург

Сообщение Artemy »

Есть парочка вариантов:
а) подавать строб на защёлку (STCP) после всех стробов сдвига (SHCP). Наверняка ведь подаёте STCP после каждого, как на диаграмме в даташите?
б) выключать выходы во время сдвига (OE=1)
Аватара пользователя
adrenocrome
Потрогал лапой паяльник
Сообщения: 365
Зарегистрирован: Вт окт 21, 2008 15:03:06
Откуда: moscow
Контактная информация:

Сообщение adrenocrome »

Artemy писал(а):а) подавать строб на защёлку (STCP) после всех стробов сдвига (SHCP). Наверняка ведь подаёте STCP после каждого, как на диаграмме в даташите?

вот так работает отлично.
вот мой кусок кода. у меня четыре регистра друг за другом стоят.

* почему то этот кусок
DS = (data>>lenght)&0b00000001; //пин данных будет равен очередному биту
с тэгом "CODE" не отображается на форуме так,как надо :evil: 10 минут долбался чтобы вставить код в сообщение, но так и не получилось. поэтому код в прицепе.

В программе сначала вызываю reg_setup, потом вызываю reg_send столько раз,сколько надо байт запихать в регистры, и напоследок reg_close. работает в часах с безконтроллерным ЖКИ.
Вложения
с регистрами.doc
(29.5 КБ) 338 скачиваний
Аватара пользователя
Artemy
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб окт 04, 2008 00:23:25
Откуда: Санкт-Петербург

Сообщение Artemy »

adrenocrome писал(а):вот мой кусок кода

А "подождём чуток" обязательно? У регистра же наносекундные (десяток-другой) задержки? Или это особенность какая-то?
кот Буч
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Сб апр 04, 2009 13:48:04

Сообщение кот Буч »

Да, действительно, по первому варианту все работает. Что относительно второго варианта, я пробовал его еще до создания темы, но ср почему-то работали не так как я ожидал. Конкретнее говоря, выводы ср вместо того что-бы отрубится, моргали с высокой частотой. Ну в любом случае, проблема решена, спасибо обоим за отзыв. :)
Аватара пользователя
adrenocrome
Потрогал лапой паяльник
Сообщения: 365
Зарегистрирован: Вт окт 21, 2008 15:03:06
Откуда: moscow
Контактная информация:

Сообщение adrenocrome »

Artemy писал(а):
adrenocrome писал(а):вот мой кусок кода

А "подождём чуток" обязательно? У регистра же наносекундные (десяток-другой) задержки? Или это особенность какая-то?

нет, это на всякий случай =) чтоб уж наверняка. если критично, можно и выбросить наверное. ну или NOP запихать туда...
Ответить

Вернуться в «Цифровая техника»