» » Стенд для изучения сдвиговых регистров на низком уровне

Стенд для изучения сдвиговых регистров на низком уровне



Вслед за стендом для изучения HD44780 на низком уровне, завоевавшим на одном из конкурсов первый приз, автор Instructables под ником indoorgeek решил сделать ещё один аналогичный стенд. На этот раз пользователю, желающему почувствовать себя в шкуре «живого Arduino», предоставляется возможность поуправлять сдвиговым регистром - важным компонентом матричных светодиодных дисплеев и не только.

В устройстве применён наиболее часто встречающийся в практике ардуинщика сдвиговый регистр 74HC595, можно также взять совместимый с ним КР1564ИР52. При помощи трёх таких микросхем можно, например, превратить пять выходов микроконтроллера в двадцать четыре! А предлагаемая самоделка наглядно покажет вам, какие процессы при этом происходят.

Такой стенд indoorgeek собрал в двух вариантах: на обычной макетной плате и на плате типа breadboard, вот так:



Вы можете сделать так, как вам нравится, или вообще применить объёмный монтаж либо изготовить печатную плату. Гораздо важнее не наделать ошибок при сборке, чем спорить о её способах.

Компоненты в конструкции применены следующие: один сдвиговый регистр указанного выше типа, панелька под 16-выводную микросхему (можно обойтись без неё), восемь светодиодов, столько же однокилоомных резисторов, три десятикилоомных резистора, три кнопки, а также поюбившаяся мастеру переходная плата с гнездом Micro USB. Если у вас очень прямые руки, можно взять просто гнездо Micro USB и припаять к нему два провода. А если оригинальничать вы не любите, можно просто применить шнур с обычным USB-разъёмом. Только полярность во всех случаях не перепутайте, ну и КЗ не устройте.

Наш сдвиговый регистр по-научному называется восьмиразрядным сдвиговым регистром с тремя состояниями. Первое означает, что у него восемь однобитных ячеек памяти и столько же выходов, а второе - что каждый из двоичных разрядов может принимать одно их трёх состояний: нуль, единицу и высокоимпедансное. Это не ругательство, а имитация обрыва, как будто он не подключён вообще никуда. Выход, находящийся в высокомипедансном состоянии, что называется, не мешается: вы можете подтянуть его резистором хоть к нулю, хоть к единице, и он покорно «согласится». Но стоит ему перейти в состояние нуля или единицы, оно получит приоритет, так как низкое выходное сопротивление микросхемы «пересилит» ваш резистор.

Входов у микросхемы пять. Как читатель наверняка уже догадался, чтобы при таком малом количестве входов получить так много выходов, нужно получать информацию последовательно, а выводить её - параллельно. Вы примерно так же набираете на клавиатуре или пишете на бумаге по очереди букву за буквой, а потом видите весь текст сразу. Если соединить последовательно несколько сдвиговых регистров, можно увеличить количество выходов в соответствующее число раз, но при одной и той же скорости передачи данных длиная цепочка регистров будет заполняться дольше. Аналогия: чтобы исписать несколько листов бумаги, понадобится больше времени, чем чтобы с той же скоростью заполнить всего один.

Но сдвиговый регистр отличается от бумаги тем, что данные в нём автоматически сдвигаются, отсюда и название. Вы записываете в него следующий бит, а все предыдущие сдвигаются дальше вглубь регистра или их цепочки, тот же из них, что перед этим был в конце - исчезает. Представьте себе трубку, заполненную шариками, одни из которых обычные, другие - светящиеся. Поместите в неё следующий шарик - обычный или светящийся, и с противоположной стороны вылетит другой шарик.

Давайте ознакомимся с назначением входов микросхемы. Почему-то indoorgeek решил перечислить их в обратном порядке, как перед запуском космического корабля. 14-й вывод нужен для ввода последовательных данных. Это - как лоток, на который вы помещаете обычный или светящийся шарик перед тем, как заталкивать его в трубку. 13-й вывод - включение выходов. Если туда подать нуль, выходы включатся, как будто трубка стала прозрачной. Подаём единицу - и трубка стала непрозрачной, какими шариками и в каком порядке заполнена трубка, не видно. То есть, все выходы сдвигового регистра перешли в высокоимпедансное состояние. В рассматриваемой конструкции этот вывод всегда подтянут к нулю, что эквивалентно всегда прозрачной трубке. 12-й вывод - это типа затвора фотоаппарата. Когда там нуль, картина, которую видит зритель сквозь трубку, отражает не реальное состояние шариков в ней, а то, которое наблюдалось, когда на этом выводе последний раз была единица. Если же там единица, перемещение шариков в трубке можно наблюдать в реальном времени. Чтобы всё это работало как описано, в микросхеме помимо сдвигового регистра есть регистр хранения. 11-й вывод - тактирование, то есть, заталкивание шарика с лотка в трубку. Подаём туда единицу в тот момент, когда на 14-м выводе будет нужная нам величина, и, не снимая её оттуда, убираем единицу с 11-го вывода. 10-й вывод - сброс. Если туда подать нуль, это будет эквивалентно потере всеми шариками в трубке светящихся свойств. Подав же на вход сброса единицу, можно начать снова заполнять трубку обычными и светящимися шариками в любом порядке, как указано выше. В рассматриваемом стенде там всегда единица. Вывод 15, а также выводы с 1 по 7 - выходы сдвигового регистра. Питание подаётся так, как у большинства шестнадцативыводных цифровых микросхем: 8 - общий провод, 16 - плюс пять вольт. Наконец, вывод 9 - это выход на следующий сдвиговый регистр, которых можно соединить последовательно несколько штук, как будто вы сделали одну длинную трубку из нескольких коротких. В общем, соединяем вывод 9 предыдущего регистра с выводом 14 следующего и радуемся. Можете так усовершенствовать предлагаемую самоделку.

Поскольку для indoorgeek'а это уже второй стенд, фобия перед подтягивающими резисторами, о которой рассказано в предыдущей статье, у него потихоньку исчезает. Здесь их уже целых три, что позволило применить нормально разомкнутые кнопки вместо переключающих. В качестве подтягивающих применены 10-килоомные резисторы, а в качестве гасящих для светодиодов - 1-килоомные. Как и в предыдущей конструкции, параллельно кнопке тактирования (11-й вывод) хорошо подключить конденсатор на 100 мкФ и не менее 6,3 В плюсом к плюсу питания, а минусом - к микросхеме и резистору. Получится простейший подавитель дребезга контактов.

Повторяйте за indoorgeek'ом:



Вот и у вас тоже получилось:



Теперь как всем этим пользоваться. Чтобы поместить в трубку светящийся шарик, нажимаем кнопку, соединённую с выводом 14, после чего, удерживая её, нажимаем кнопку, соединённую с выводом 11, и тут же отпускаем. Следом отпускаем кнопку, соединённую с выводом 14. Чтобы проделать то же самое с несветящимся шариком, с кнопкой, соединённой с выводом 14, ничего не делаем, а кнопку, соединённую с выводом 11, нажимаем и отпускаем. Так можно записать в регистр сдвига и несколько бит. В обоих случаях при отпущенной кнопке, соединённой с выводом 12, состояние светодиодов не изменится, а при нажатой - будет отражать состояние регистра сдвига в реальном времени. Если же вы решили не держать эту кнопку нажатой во время записи, кратковременно нажмите её сейчас, и регистр хранения как бы сфотографирует текущее состояние регистра сдвига.

Поскольку трубка и шарики виртуальные, а микросхема и светодиоды - реальные, для зрителя каждый выпавший с противоположной стороны трубки шарик исчезает. Был бы ещё один регистр, он переехал бы туда. Вы можете усовершенствовать эту конструкцию, добавив этот регистр, и даже несколько таковых, и ещё по восемь светодиодов с резисторами на каждый из них. Как указано выше, вывод 9 каждого предыдущего регистра надо соединить с выводом 14 следующего. А питание и входы 10, 11, 12 и 13 всех регистров - запараллелить.

Вот вы и получили представление о том, какие операции проделывает Arduino, управляя сдвиговыми регистрами.
Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Стенд для изучения HD44780 на низком уровне

Андроид ТВ бокс (медиаприставка) для VGA монитора из старого планшета

7
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
10
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
7
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 8.0 из 10 (голосов: 3 / История оценок)
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
1 комментарий
  1. Иван_Похмельев
    По тактовому входу надо было поставить какой-нибудь противодребезговый формирователь.

Добрый день, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

А затем...

Добавьте самоделку

Или...

Добавьте тему

Онлайн чат

Опрос
Сколько по времени, чаще всего, Вы делаете самоделку?

Последние комментарии

Не могли бы Вы поделиться схемой потдключения? Ссылка на схему в статье не работает....
Видел на ж/д проверку сварщиков. Даются образцы (полосы) заготовок, их надо сварить внахлест... А затем в лаборатории проверяются образцы на разрыв. Так у разных сварщиков были разные результаты! ...
Я в 75-м в политех поступил, гордости-то было!...
Тоже завидую, белой завистью! Устами младенца......
это моя 9-ти месячная дочь подсказывала...
Все комментарии