TM1650 драйвер LED семисегментного индикатора
Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только в их простоте управления и в отсутствии какой либо обвязке, а еще в их супер низкой стоимости. Например TM1650 стоит дешевле чем MAX7219 в 45 . раз, а функционально почти никакой разности. Чем только различие, это что TM1650 использует I2C интерфейс и работает на 4 разряда (TM1639 на 8 разрядов, но описание его будет позже). Тестировал работу скорости шины, драйвер работал до скорости 300 кГц, думаю это максимальная возможная для драйвера, надежнее будет использовать тактовую 200 кГц.
Дополнительной возможностью драйверов это вместе с индикаторов опрос клавиатуры, но в этой статье я этому не буду уделять внимание, т.к. она позволяет возвращать код только одной клавиши, одновременное нажатие не поддерживается (драйвер TM1650 на фото внизу).
Для разработчиков рекомендую обратить внимание на драйверы этой фирмы LED panel driver products
Схема подключения драйвера TM1650 к 4 разрядному дисплею.
Работает драйвер как от 3, ток и от 5 вольт, ему без разницы, только есть ограничение, если вам припечет применить зеленые (истинно зеленые) или синие индикаторы, то питать придется от 5 вольт. Почему, удумаю, объяснять не стоит (падение на синих светиках 3,1 вольта).
Есть правда отличие в управлении (тут идет описание только для режима индикации) если исходить из принципов шины I2C, то драйвер имеет 4 адреса, каждый адрес отвечает за свою функцию.
Адрес обращения Назначение 0x48 Управление яркость 8 уровней, включение выключение дисплея (для спящего режима), режим с десятичной точкой в разряде или без. 0x68 Данные для 1 разряда 0x6A Данные для 2 разряда 0x6C Данные для 3 разряда 0x6E Данные для 4 разряда
Схема записи данных для индикации
Реальные сканы шины, настройка яркости и включение дисплея
Загрузка 1 и 2 разряда
Загрузка 3 и 4 разряда
Описание адресов управления
Адрес 0x48 – это регистр управления
Команда настройки драйвера B7 B6 B5 B4 B3 B2 B1 B0 Функция Описание * 0 0 0 * * Настройка яркости 8 уровень яркости * 0 0 1 * * 1 уровень яркости * 0 1 0 * * 2 уровень яркости * 0 1 1 * * 3 уровень яркости * 1 0 0 * * 4 уровень яркости * 1 0 1 * * 5 уровень яркости * 1 1 0 * * 6 уровень яркости * 1 1 1 * * 7 уровень яркости * 0 * * 7/8 – сегментов отображения битов 8 сегментный дисплей * 1 * * 7 сегментный дисплей * * * 0 Включение / выключение дисплея Выключить * * * 1 Включить
Адреса 0x68, 0x6A, 0x6C, 0x6E для отображения данных.
Соответствие бита и индикатора B7 B6 B5 B4 B3 B2 B1 B0 h g f e d c b a десятичная точка
Схема для тестирования драйвера
Для тестирования использовался МК PIC18F46K22, основной цикл программы для тестирования
Ниже приведен проект, в котором найдете и библиотеку для шины I2C и библиотеку управления драйвером с учетом особенностей индикатора LB30523lR1B но ее при необходимости можно легко переделать на полноценные 4 разряда.