Главная » Статьи » Как подключить

Подключение семисегментного индикатора через 74hc595. Динамическая индикация.
 Еще несколько примеров как подключить семисегментные индикаторы к микроконтроллеру используя как можно меньше ножек последнего. Здесь будут рассмотрены самые распространенные варианты подключения с использованием сдвиговых регистров и приведу один пример с подключением через дешифратор 74HC154 (1533ИД3).

 Пример #1

 В первом примере рассмотрим подключение четырехразрядного индикатора с использованием одного сдвигового регистра 74HC595, через который мы будем управлять сегментами индикатора.

Подробнее о подключении и работе с индикаторами по этой схеме можно посмотреть здесь



Пример #2

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



Подробнее смотрим здесь



Пример #3

 Как альтернативу второму сдвиговому регистру, можно применить дешифратор 4-16 (74HC154, 1533ИД3). Только необходимо учитывать, что активным уровнем на выходе дешифратора всегда является логический ноль.


 Так появляется возможность, используя всего две микросхемы, подключить к микроконтроллеру 16-и разрядный индикатор, в примере у дешифратора осталось половина свободных ног.

Подробнее смотрите здесь





Категория: Как подключить | Добавлено: 01.12.2011
Просмотров: 38775 | Комментарии: 22 | Рейтинг: 5.0/5
Всего комментариев: 22
22 Vitek1977   (02.03.2015 18:11) [Материал]
Всем привет. Кто нибудь сталкивался с mcp23016, есть желание порядка 4-6 таких микрух зацепить, но инфы толком не могу найти, примеры кода на опрос и на вывод желателен. планирую три расширителя чтоб на вход работали, три на выход. в первом случае перенести все значения входных расширителей в переменные разом (на каждый пин будет dim as bit) , и так же другие переменные перенести разом в расширители работающие на выход.

21 Oboltus   (08.04.2014 13:21) [Материал]
Да, свечение соседних разрядов замечено. Однако не понимаю, почему не могут с этим справиться. Я делаю так: записываю данные в регистр, включаю разряд, жду, выключаю разряд, записываю новые данные, включаю разряд, жду, выключаю...и так далее.И никаких проблем не замечено.

20 max   (17.10.2012 21:36) [Материал]
Вообщем не помогло, заказал максы.

19 pchela5   (17.10.2012 14:00) [Материал]
>17 exersizze (Вчера 21:29)
>А есть где почитать про то как с max7219 работать? Желательно на пальцах и/или в баскоме)

заметил что камрад ниже дал ссылки раньше - потер дубликаты

и до кучи - апноут есть с баском 8051 - принцип одинаковый - понять можно

18 max   (16.10.2012 21:54) [Материал]
Уже все убрал, завтра попоробую.

Вот тут можно почитать: http://bascomavr.3bb.ru/viewtopic.php?id=767
и тут: http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&t=10316

http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&t=9226&highlight=max7219

http://www.elektronik-web.de/htm/projekt2.htm

http://bascom-forum.de/showthread.php?251-MAX-7219&highlight=7219

17 exersizze   (16.10.2012 21:29) [Материал]
А есть где почитать про то как с max7219 работать? Желательно на пальцах и/или в баскоме)

16 exersizze   (16.10.2012 21:27) [Материал]
а если поставить дополнительную задержку здесь?
Portd = &B00001110
waitms 2
R = Lookup(n1 , Numbers)
.....

15 max   (16.10.2012 21:20) [Материал]
Не помогло. Делал так:
'начинаем задвигать данные в регистр
Portd = &B00001110
R = Lookup(n1 , Numbers) 'начинаем с левого разряда
Gosub Registr 'подпрограмма отправки данных в регистр
Waitms 2

14 pchela5   (16.10.2012 19:29) [Материал]
> Придется мутить на max7219.

Кстати недорого стало совсем на ебае

13 max   (16.10.2012 09:15) [Материал]
Хорошо. Вечером попробую.

12 exersizze   (15.10.2012 22:26) [Материал]
тоесть 595 и дешифратор немного рассинхронизированы? попробуй тогда ввести задержку перед включением следующего разряда.
ЗЫ в драйверах силовых ключей (например ir2104) есть такое понятие как "Dead time" если в курсе что это, то по аналогии можешь сделать и тут. Включил разряд, выключил разряд, подождал, включил следующий разряд и т.д. Тогда включение предыдущих сегментов не будет накладываться на следующие

11 max   (15.10.2012 21:15) [Материал]
Собрал, мигает, уменьшил задержку до 2 миллисекунд - не мигает, но, как писал Алексей_bird, заметно "подсвечивание" соседних сегментов. Жаль. Придется мутить на max7219.

10 max   (14.10.2012 14:09) [Материал]
Понял. Завтра заберу микры и попробую.

9 exersizze   (14.10.2012 13:53) [Материал]
Я в железе не собирал, игрался только в протеус. Но работать будет нормально это точно, главное выставить частоту обновления по-больше чтобы не видно было моргания при смене разрядов

8 max   (14.10.2012 09:27) [Материал]
Всем привет.
Кто-нибудь делал что-нибудь по Примеру #3? Интересует, как ведет себя 16-и разрядный индикатор?

7 exersizze   (24.01.2012 23:41) [Материал]
Нее, просто задержка между переключениями слишком большая и глаз замечает. Поставите меньше - мерцание уже не будет заметно

6 Алексей_bird   (24.01.2012 23:23) [Материал]
т.е. моргать будет и это особенность схемотехники на регистрах?

5 exersizze   (24.01.2012 22:45) [Материал]
Немного да, было заметно. Поставьте задержку горения каждого разряда не 5 миллисекунд, а например 2

4 Алексей_bird   (24.01.2012 22:17) [Материал]
собрал по второму вариант, работает. Но очень сильно заметно мигание индикаторов, это норм? Частота(8мгц) везде совпадает! Также в темноте заметно горение сегментов от предыдущего разряда.

3 exersizze   (01.12.2011 23:39) [Материал]
Спец микросхемы-расширители есть, только смысла для любительских целей в них мало, имхо лучше микроконтроллер пожирнее взять и еще на кучку сдвиговых регистров денег хватит)

+1   Спам
2 niko-lay   (01.12.2011 23:04) [Материал]
цена на эти расширители совсем не гуманная, да и фиг их найдешь где

1 zergus   (01.12.2011 20:04) [Материал]
Hе плохо придумано, можно еще применить микрухи типа MCP23008 или MAX7328. Это и2ц расширители портов, и поэтому займут всего 2 ноги контроллера

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






авторизация
Логин:
Пароль: