Как работает 74hc595?

 
BG Реконструктор #28.12.2003 19:21
+
-
edit
 
Пусть последовательность такая - pin0 = data, pin1= clock, pin2 = latch.
Какая последовательность данных даст результат?
 

Anika

координатор
★★☆
Уж этих-то я знаю хорошо
Можно посмотреть сюда.
А если на пальцах - логика действия примерно такая:
0. Устанавливаешь на входе -RESET (10) уровень 1, на входах CLK (11), LOAD (12) и -OE (13) уровень 0.
  1. Устанавливаешь нужный уровень на входе DATA (14).
  2. Подаешь на CLK уровень 1. При этом сдвиговый регистр делает один сдвиг.
  3. Подаешь на CLK уровень 0.
Пункты 1-3 повторяешь 8 раз.
4. Подаешь на LOAD уровень 1. При этом содержимое сдвигового регистра переписывается в параллельный регистр, аналогичный HC574.
5. Подаешь на LOAD уровень 0.
Всё
Если 595-ых будет несколько, выход D7' предыдущего регистра соединяется со входом DATA (14) следующего. -RESET, CLK, LOAD и -OE запараллеливаются.
Когда говорит масло - пушки молчат. А голос пушек - это голос Муз. (c)Ю.Шерман  
Это сообщение редактировалось 28.12.2003 в 21:16
29.12.2003 17:49, Реконструктор: +1: Помогло :)

BG Реконструктор #29.12.2003 19:53
+
-
edit
 
Вот беда, не могу я документацию качествено читать.
Делал 2 основные ошибки:
1. clock и data устанавливал одновременно, что, конечно глупость
2. после установки clock-а не сбрасывал его обратно в 0, что тоже глупость. Подавать напряжение на clk всё время не имеет никакого смысла, ибо сдвиг производится при переходе к нулю.

Если 595-ых будет несколько, выход D7' предыдущего регистра соединяется со входом DATA (14) следующего. -RESET, CLK, LOAD и -OE запараллеливаются.
 


У меня по всей видимости их действительно будет несколько. Можно подробнее объяснить? И если не лень - схемку начертить? Спасибо заранее.
 

Anika

координатор
★★☆
Resurrector> ...ибо сдвиг производится при переходе к нулю.
Все-таки к единице.

Resurrector> У меня по всей видимости их действительно будет несколько. Можно подробнее объяснить? И если не лень - схемку начертить?
Схемку сегодня не получится. А если на пальцах - допустим, у тебя есть 2 регистра - A и B.
Сигналы CLK(11), LOAD(12), -RESET(10) и -OE(13) подаются на входы обоих регистров.
Сигнал DATA подается на вход DATA_IN(14) регистра A.
Выход DATA_OUT(9) регистра A соединяется со входом DATA_IN(14) регистра B.
Из двух 8-битных регистров получился один 16-битный. Логика его работы точно такая же.
Дальнейшее расширение разрядности делается так же.
Когда говорит масло - пушки молчат. А голос пушек - это голос Муз. (c)Ю.Шерман  
BG Реконструктор #30.12.2003 17:51
+
-
edit
 
Я всё понял. Этот DATA_OUT является старшим битом регистра. Таким образом, можно действительно сколько угодно регистров подсоединить.
Спасибо большое за науку.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru