Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2019 » Декабрь » 28 » Сдвиговой регистр
19:54
Сдвиговой регистр

Сдвиговой регистр

С помощью микросхемы, которая называется «сдвиговой регистр» можно сделать такую штуку:
https://youtu.be/-55Nv4NOuzM

У меня подключен сдвиговой регистр 74HC595N:
https://www.chipdip.ru/product/74hc595n

На каждом тике (при мигании синего светодиода) в регистр записывается только один бит – единица. Регистр сдвиговой, потому вся ранее записанная информация (при записи этого бита) сдвигается:
https://robotclass.ru/tutorials/arduino-shift-register/2/

Это и приводит к тому, что на каждом тике горящих зелёных светодиодов становится на 1 больше.
В этой схеме у меня подключено два таймера NE555. Если бы не было второго (с красным светодиодом) то всё интересное закончилось бы после 8-го тика. Все 8 регистров заполнились бы единицами, все светодиоды бы включились и горели бы до выключения питания (ведь в них постоянно записываются единицы).
У микросхемы есть «кнопка RESET», при нажатии на которую сбрасывается вся информация. Её я и «нажимаю» вторым таймером. Зелёные светодиоды гаснут, когда выключается красный светодиод. Это и есть момент сброса – кратковременного отсутствия сигнала на пине №10 (MR).
Сигналы на пинах у меня выглядят так:

Данные (по DS) заливаются синхронно с тиком (SH_CP), потому для загрузки этой информации достаточно сигнала, поступающего с таймера. Но после этой загрузки надо ещё «актуализировать» информацию, тикнув каналом ST_CP:
https://robotclass.ru/tutorials/arduino-shift-register/3/

Это – первая проблема. У меня нет сигнала, идущего с той же частотой, но с «вершиной» чуть позже по времени. Решается это просто, с помощью микросхемы К561ЛА7 (2И-НЕ), которая использовалась тут:
https://akostina76.ucoz.ru/blog/2019-07-31-5959

«НЕ»  на выходе любого НЕ возвращает нужную мне единицу, когда на выходе таймера уже 0.
А вот для сброса регистра через каждые 8 тиков мне пришлось подключить второй таймер и синхронизировать его с первым.
Отсюда:
https://static.chipdip.ru/lib/222/DOC000222900.pdf

Схема:

расчётные формулы:

Вся схема подключения такая:

… и самое интересное в ней – соединение нижнего таймера с MR (сбросом) сдвигового регистра.
Необходимые сопротивления резисторов нижнего таймера (43 кОм и 15 кОм) были вычислены по значениям верхнего и формулам:

Верхний таймер настроен так, что вспышка (импульс, HIGH) и выключено (LOW) примерно одинаковы по времени и равны 0.23 секунды. Один цикл – сумма этих периодов. Сбрасывать сдвиговой регистр, вроде бы, надо через 8 циклов. Но оказалось, что не хватает времени, 8-й светодиод не зажигается. Потому время до сброса выбрано как 9 умноженное на один тик верхнего таймера. Конденсатор на нижнем таймере не 10 а 100 мкФ, что и позволило взять не слишком большие резисторы.

Просмотров: 153 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Декабрь 2019  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz