Views: 18389
UPDATES 2025/10/10
Китайский производитель
Shenzhen Titan Micro Electronics Co., Ltd. 
Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только в их простоте управления и в отсутствии какой либо обвязке, а еще в их супер низкой стоимости. Например 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, основной цикл программы для тестирования
void main(void)
{
// Initialize the device
CLRWDT(); // сброс сторожевого таймера
SYSTEM_Initialize(); //
I2C1_Open (200); // тактовая задается 100/400/1000 кГц
// If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
// If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global and Peripheral Interrupts
// Use the following macros to:
// Enable high priority global interrupts
//INTERRUPT_GlobalInterruptHighEnable();
// Enable low priority global interrupts.
//INTERRUPT_GlobalInterruptLowEnable();
// Disable high priority global interrupts
//INTERRUPT_GlobalInterruptHighDisable();
// Disable low priority global interrupts.
//INTERRUPT_GlobalInterruptLowDisable();
// Enable the Global Interrupts
//INTERRUPT_GlobalInterruptEnable();
// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();
// Enable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptEnable();
// Disable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptDisable();
/* 0- выключить, 1 - включить*/
on_DISPL (1); //
/* Настройка яркости 0 - 7 */
yark_DISPL (0); //
LoadSI (Accident, 1); // SI - символы режима работы, RE - управление индикацией
LoadSI (Celsius, 1); // SI - символы режима работы, RE - управление индикацией
indic (c2, c7t, c5, 0);
while (1)
{
CLRWDT(); // сброс сторожевого таймера
// Add your application code
__delay_ms(500);
LED2 = !LED2;
}
}
Ниже приведен проект, в котором найдете и библиотеку для шины I2C и библиотеку управления драйвером с учетом особенностей индикатора LB30523lR1B но ее при необходимости можно легко переделать на полноценные 4 разряда.
Файлы для загрузки
TM1650 драйвер LED семисегментного индикатора - схемы в формате pdf 146.08 KB 442 downloads
TM1650 драйвер LED семисегментного индикатора - схемы...Библиотека для LED драйвера TM1650 8.28 KB 54 downloads
Библиотека для LED драйвера TM1650, заточка для дисплея LB30523lR1B ...I2C для PIC18 (PIC18F46K22) 2.27 KB 42 downloads
I2C для PIC18 настройка под PIC18F46K22. ...TM1650 драйвер LED семисегментного индикатора - проект 376.62 KB 44 downloads
Демонстрационная программа, библиотека I2C, библиотека...Ссылки на документацию
| Модель | Шина управления | Матрица | Сегмент / бит | Общий привод | Drive | Кнопки | Вид упаковки | Скачать datasheet.PDF |
| TM1616 | 3 | 28 | 7*4 | 7 сегментов, 4 цифры | — | — | SOP16 / DIP16 | TM1616 |
| TM1617 | 3 | 21 | 8*2/7*3 | 8 сегментов 2 цифры / 7 сегментов 3 цифры | — | 6*1 | SOP16 | TM1617 |
| TM1618 | 3 | 35 | 5*7/8*4 | 7 сегментов 5 цифр / 8 сегментов 4 цифры | 7 сегментов 5 цифр | 5*1 | SOP18 / DIP18 | TM1618 |
| TM1620 | 3 | 48 | 8*6/10*4 | 8 сегментов 6 цифр / 10 сегментов 4 цифры | — | — | SOP20 | TM1620 |
| TM1620B | 3 | 48 | 6*7/9*4 | 7 сегментов 6 цифр / 9 сегментов 4 цифры | 7 сегментов 6 цифр | 6*1 | SOP20 | TM1620B |
| TM1623 | 4 | 77 | 11*7/14*4 | 11 сегментов 7 цифр / 14 сегментов 4 цифры | 11 сегментов в 7 сегментов | 10*3 | SOP32 | TM1623 |
| TM1624 | 3 | 77 | 11*7/14*4 | 11 сегментов 7 цифр / 14 сегментов 4 цифры | 11 сегментов в 7 сегментов | — | SOP24 、 QSOP24 | TM1624 |
| TM1626A | 3 | 77 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 10*1 | SOP32 | TM1626A |
| TM1626B | 3 | 77 | 11*7/14*4 | 11 сегментов 7 цифр / 14 сегментов 4 цифры | 11 сегментов в 7 сегментов | 10*3 | QFP44 | TM1626B |
| TM1627 | 3 | 70 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 10*2 | SOP28 | TM1627 |
| TM1628 | 3 | 70 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 10*2 | SOP28 | TM1628 |
| TM1628A | 3 | 70 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 10*2 | SOP28 | TM1628A |
| TM1629 | 3 | 128 | 16*8 | 16 сегментов 8 бит | 8 сегментов 16 бит | 8*4 | LQFP44 | TM1629 |
| TM1629A | 3 | 128 | 16*8 | 16 сегментов 8 бит | 8 сегментов 16 бит | — | SOP32 | TM1629A |
| TM1629B | 3 | 112 | 14*8 | 14 сегментов 8 бит | 8 сегментов 14 бит | 8*2 | SOP32 | TM1629B |
| TM1629C | 3 | 120 | 15*8 | 15 сегментов 8 бит | 8 сегментов 15 бит | 8*1 | SOP32 | TM1629C |
| TM1629D | 3 | 96 | 12*8 | 12 сегментов 8 бит | 8 сегментов 12 бит | 8*4 | SOP32 | TM1629D |
| TM1630 | 3 | 35 | 7*5/8*4 | 7 сегментов 5 цифр / 8 сегментов 4 цифры | — | 7*1 | DIP18 | TM1630 |
| TM1636 | 2 | 32 | 8*4 | — | 8 сегментов 4 цифры | 8*2 | DIP18 | TM1636 |
| TM1637 | 2 | 48 | 8*6 | — | 8 сегментов 6 цифр | 8*2 | SOP20 / DIP20 | TM1637 |
| TM1638 | 3 | 80 | 10*8 | 10 сегментов 8 бит | 8 сегментов, 10 человек | 8*3 | SOP28 | TM1638 |
| TM1639 | 3 | 64 | 8*8 | 8 сегментов 8 бит | 8 сегментов 8 бит | 4*2 | SOP24 / DIP24 | TM1639 |
| TM1640 | 2 | 128 | 8*16 | 8 сегментов 16 бит | 16 сегментов 8 бит | — | SOP28 / SSOP28 | TM1640 |
| TM1640B | 2 | 128 | 8*16 | 8 сегментов 16 бит | 16 сегментов 8 бит | — | SOP28 | TM1640B |
| TM1642 | 3 | 70 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 10*2 | SOP28 | TM1642 |
| TM1643 | 3 | 128 | 8*16 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 8 сегментов, 16человек | – | SOP24 | TM1643 |
| TM1648A | 3 | 70 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 8 сенсорных кнопок | SOP32 | TM1648A |
| TM1649 | 5 | 120 | 15*8 | 15 сегментов 8 бит | 8 сегментов 15 человек | 8*1/8 | SSOP48 | TM1649 |
| TM1650 | 2 | 32 | 8*4 | 8 сегментов 4 цифры / 7 сегментов 4 цифры | — | 7*4 | SOP16 / DIP16 | TM1650 |
| TM1651 | 2 | 28 | 7*4 | — | 7 сегментов, 4 цифры | 7*1 | SOP16 / DIP16 | TM1651 |
| TM1652 | 1 | 40 | 7*6/8*5 | 7 сегментов 6 цифр / 8 сегментов 5 цифр | 6 сегментов 7 цифр / 5 сегментов 8 цифр | — | SOP16 | TM1652 |
| TM1667 | 3 | 70 | 10*7/13*4 | 10 сегментов 7 цифр / 13 сегментов 4 цифры | 7 сегментов, 10 человек | 10*2 | SOP28 | TM1667 |
| TM1680 | 2 | 256 | 32*8/24*16 | 32-сегментный 8-битный / 24-сегментный 16-битный | 8 сегментов 32 бита / 16 сегментов 24 бита | — | LQFP48 / LQFP52 | TM1680 |
| TM1681 | 4 | 256 | 32*8/24*16 | 32-сегментный 8-битный / 24-сегментный 16-битный | 8 сегментов 32 бита / 16 сегментов 24 бита | — | LQFP48 / LQFP52 | TM1681 |
| TA6932 | 3 | 128 | 8*16 | 8 сегментов 16 бит | 16 сегментов 8 бит | — | SOP32 | TA6932 |
| TM8006_1 | — | 40 | 8*5 | 8 сегментов 5 цифр | — | 6 | SOP32 | |
| TM8006_2 | — | 40 | 8*5 | 8 сегментов 5 цифр | — | 6 | SOP32 |
Это может быть интересно
ch-4050 – дифференциальный терморегуляторViews: 2075 ch-4050 – это не новая модель, это расширенная версия универсального терморегулятора ch-4000. Различия коснулись в появлении новой функции дифференциального регулирования. Это вид регулирования по разности температур измеренного двумя …
PIC18 – модуль DMAViews: 1353 Введение Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной обработки …
Real-time music visualization technologyViews: 323 Music visualization technology in real time (RTMV-technology). Я не музикант і я не маю спеціальної музичної освіти, я інженер розробник вбудованих систем. Але моє хобі розроблення технології візуалізації …
ESP8266 процедура получение данных даты и времени от серверов точного времени.Views: 6198 Эта функция доступна уже в версии 1.6.1. Для многих приложений, необходимо часы реального времени, если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом. …
Гаджеты для домашней автоматики – Емкостной сенсорViews: 1820 Управление светодиодным освещением – Сенсор емкостной. Данный гаджет предназначен для управления освещением где необходимо включением освещение сенсорным прикосновением. Датчик позволяет управлять светодиодной нагрузкой в виде модулей или светодиодных лент …
Гаджеты для домашней автоматики – Датчик приближенияViews: 2166 Управление светодиодным освещением – Датчик приближения. Данный гаджет предназначен для управления внутренним освещением мебели. Датчик позволяет определить закрытие или открытие дверцы или ящика и при этом включать или …
WiFi ESP8266 ESP-202 (ESP-12F)Views: 7943 Первое знакомство, сначала надо его купить… http://voron.ua/catalog/024404 Схема для подключения и тестирования По схеме ставим две кнопки, сброс и кнопку BT2, для перевода в режим обновления прошивки. Если надо сделать …
WiFi ESP8266 – AT команды связанные с функцией Wi-FiViews: 5753 AT команды связанные с функцией Wi-Fi Функции Wi-Fi подключения, запускаться из командной строки Команда Описание 1 AT+CWMODE Проверка, настройка режима работы Wi-Fi (sta/AP/sta+AP), (не рекомендуется для новых проектов). 2 …
Часы + Календарь + Термометр + …Views: 2812 Часы + Календарь + Термометр + Индикатор влажности + Секундомер + Дистанционное управление на ИК лучах (пульты на RC-5 протоколе) + Автоматическая регулировка яркости + Возможность вывода данных через USB, …
Применение typedef, struct и unionViews: 8910 Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ …









