Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
404 Часть 111. Практическое программирование микроконтроллеров АVR сматриваемые далее матричные (знакосинтезирующие) строчные дисплеи, тем более что зачастую они управляются одними и теми же встроенными контроллера ми. Но управление ими - дело настолько громоздкое даже на С, что перевод на ассемблер станет только лишним и ничем не оправданным усложнением. Наиболее универсальный способ прямого управления семисегментными цифровы ми дисплеями с помощью динамической индикации мы уже рассмотрели в главе 9, а экономичный ЖК-дисплей - в главах 13 и 14. Здесь мы рассмотрим несколько типов дисплеев со встроенными контроллерами. Это, с одной стороны, позволяет экономить в числе необходимых выводов управляющего микроконтроллера и упрощать программы управления, с другой стороны - вынуждает нас полагаться на готовые конструктивные решения, которые по определению не могут быть оптимальными и универсальными, годящимися на любой случай . 4-ра зрядны й цифрово й диспле й н а основе ТМ 1 637 4-разрядных цифровых индикаторов на основе ТМ 1 63 7 выпускается много (загля ните на ru.aliexpress.com по ключевому слову ТМ1 637 ) , и общих недостатков у них два. Первый недостаток обусловлен большой величиной прямого падения напря жения на светодиодном сегменте : при 5-вольтовом питании дисплей с цифрами более 1 4 мм найти в продаже невозможно. Распространить это решение на индика торы большего размера можно только самостоятельно с использованием транзи сторных ключей, наподобие того, как это делалось в схеме динамической индика ции (см . рис. 9 . 5 в главе 9). Второй недостаток - в некотором разнобое схемотехнической реализации готовых модулей, имеющихся в продаже. Девять из десяти таких модулей выпускаются в варианте «для часов» с разделительным двоеточием (Аrduinо-библиотека ТМ1 637 . h). Оставшиеся (с десятичными точками у каждой цифры) могут иметь существенно отличающееся управление . Его во многих случаях приходится изобретать само стоятельно «наощупь», т. к. документацию найти невозможно, . а с обычными Аrduinо-библиотеками эти модули работать отказываются . Мы не станем, конечно, лезть в такие дебри, а рассмотрим только управление готовым модулем, но ничто не мешает распространить полученное решение на самостоятельно спроектирован ные схемы на основе ТМ1 637, что может оказаться проще, чем заниматься реинжи нирингом продукции безымянных китайских товарищей . Быстро проверить гото вый дисплей на соответствие стандартному управлению можно, если подключить его к Arduino с примером из комплекта библиотеки тм1 З 67 . h. ТМ 1 637 имеет последовательный порт, похожий на I 2 c, но все-таки только похо жий, отчего с ней нельзя работать через штатный протокол, как мы это делали в главе 13 . ТМ 1 637 не имеет 1 2 С-адреса, и каждая такая микросхема подключается через два отдельных вывода контроллера. В «даташите» на ТМ1 63 7 показана схема подключения максимального количества семисегментных цифр в количестве шести разрядов, при этом восьмой (старший) бит в каждом разряде, как и положено, управляет десятичной точкой. Разряды нумеруются от О, при этом номер О соответ ствует старшему (крайнему левому разряду). В часовых 4-разрядных модулях точ-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==