TM1650 драйвер LED семисегментного индикатора

Views: 18387


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 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

 

 

 


Это может быть интересно


  • The art of DJThe art of DJ
    Views: 245 The art of DJ. The art of DJ has gained wide popularity. Today, a DJ is not just someone whose task is to mix tracks; a DJ is …
  • PIC32MZ – Core Timer (библиотека)PIC32MZ – Core Timer (библиотека)
    Views: 578 Переработанные файлы от Microchip, библиотека для работы с Core Timer.
  • CCP – модуль в режиме Compare на примере PIC18CCP – модуль в режиме Compare на примере PIC18
    Views: 3246 CCP – модуль можно использовать в трех режимах: Capture – позволяет захватывать входной сигнал и определять его параметры (длительность или частоту). Дополнительно управлять внутренними модулями. Compare –  позволяет …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Views: 5946 Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …
  • WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)
    Views: 5378 AT команды связанные с функцией TCP/IP В этом разделе описаны команды которые позволяют устанавливать соединения между серверами и клиентами в сети. Приведено описание команд и примеры их выполнения. …
  • WiFi ESP8266 – AT команды связанные с функцией Wi-FiWiFi ESP8266 – AT команды связанные с функцией Wi-Fi
    Views: 5751 AT команды связанные с функцией Wi-Fi Функции Wi-Fi подключения, запускаться из командной строки Команда Описание  1 AT+CWMODE Проверка, настройка режима работы Wi-Fi (sta/AP/sta+AP), (не рекомендуется для новых проектов). 2 …
  • Самый простой индикатор уровня звукового сигналаСамый простой индикатор уровня звукового сигнала
    Views: 6667 Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете  самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09
    Views: 656   September 2023 component base update.  Release updates V.  – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …
  • MCC PIC24 – модуль REAL-TIME CLOCK AND CALENDAR (RTCC)MCC PIC24 – модуль REAL-TIME CLOCK AND CALENDAR (RTCC)
    Views: 645 RTCC предоставляет пользователю часы реального времени и функция календаря (RTCC), точность “хода” может быть откалибрована. Основные особенности модуля RTCC: • Работает в режиме глубокого сна. • Возможность выбора источника …
  • CCP модуль для декодирования ИК-кодов пультов ДУCCP модуль для декодирования ИК-кодов пультов ДУ
    Views: 1147 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …



 

Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее