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

Views: 18263


Китайский производитель

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

TM1650 драйвер LED семисегментного индикатора - схемы...
Значок

Библиотека для LED драйвера TM1650 8.28 KB 49 downloads

Библиотека для LED драйвера TM1650, заточка для дисплея LB30523lR1B  ...
Значок

I2C для PIC18 (PIC18F46K22) 2.27 KB 42 downloads

I2C для PIC18 настройка под PIC18F46K22. ...
Значок

TM1650 драйвер LED семисегментного индикатора - проект 376.62 KB 39 downloads

Демонстрационная программа, библиотека I2C, библиотека...

Ссылки на документацию

Модель Шина управления Матрица  Сегмент / бит Общий привод Drive кнопка Внешний вид упаковки Скачать
TM1616 3 28 7*4 7 сегментов, 4 цифры SOP16 / DIP16
TM1617 3 21 8*2/7*3 8 сегментов 2 цифры / 7 сегментов 3 цифры 6*1 SOP16
TM1618 3 35 5*7/8*4 7 сегментов 5 цифр / 8 сегментов 4 цифры 7 сегментов 5 цифр 5*1 SOP18 / DIP18
TM1620 3 48 8*6/10*4 8 сегментов 6 цифр / 10 сегментов 4 цифры SOP20
TM1620B 3 48 6*7/9*4 7 сегментов 6 цифр / 9 сегментов 4 цифры 7 сегментов 6 цифр 6*1 SOP20
TM1623 4 77 11*7/14*4 11 сегментов 7 цифр / 14 сегментов 4 цифры 11 сегментов в 7 сегментов 10*3 SOP32
TM1624 3 77 11*7/14*4 11 сегментов 7 цифр / 14 сегментов 4 цифры 11 сегментов в 7 сегментов SOP24 、 QSOP24
TM1626A 3 77 10*7/13*4 10 сегментов 7 цифр / 13 сегментов 4 цифры 7 сегментов, 10 человек 10*1 SOP32
TM1626B 3 77 11*7/14*4 11 сегментов 7 цифр / 14 сегментов 4 цифры 11 сегментов в 7 сегментов 10*3 QFP44
TM1627 3 70 10*7/13*4 10 сегментов 7 цифр / 13 сегментов 4 цифры 7 сегментов, 10 человек 10*2 SOP28
TM1628 3 70 10*7/13*4 10 сегментов 7 цифр / 13 сегментов 4 цифры 7 сегментов, 10 человек 10*2 SOP28
TM1629A 3 128 16*8 16 сегментов 8 бит 8 сегментов 16 бит SOP32
TM1629B 3 112 14*8 14 сегментов 8 бит 8 сегментов 14 бит 8*2 SOP32
TM1629C 3 120 15*8 15 сегментов 8 бит 8 сегментов 15 бит 8*1 SOP32
TM1629D 3 96 12*8 12 сегментов 8 бит 8 сегментов 12 бит 8*4 SOP32
TM1629 4 128 16*8 12 сегментов 8 бит 8 сегментов 12 бит 8*4 QFP44
TM1630 3 35 7*5/8*4 7 сегментов 5 цифр / 8 сегментов 4 цифры 7*1 DIP18
TM1636 2 32 8*4 8 сегментов 4 цифры 8*2 DIP18
TM1637 2 48 8*6 8 сегментов 6 цифр 8*2 SOP20 / DIP20
TM1638 3 80 10*8 10 сегментов 8 бит 8 сегментов, 10 человек 8*3 SOP28
TM1639 3 64 8*8 8 сегментов 8 бит 8 сегментов 8 бит 4*2 SOP24 / DIP24
TM1640 2 128 8*16 8 сегментов 16 бит 16 сегментов 8 бит SOP28 / SSOP28
TM1640B 2 128 8*16 8 сегментов 16 бит 16 сегментов 8 бит SOP28
TM1642 3 70 10*7/13*4 10 сегментов 7 цифр / 13 сегментов 4 цифры 7 сегментов, 10 человек 10*2 SOP28
TM1648A 3 70 10*7/13*4 10 сегментов 7 цифр / 13 сегментов 4 цифры 7 сегментов, 10 человек 8 сенсорных кнопок SOP32
TM1649 5 120 15*8 15 сегментов 8 бит 8 сегментов 15 человек 8*1/8 SSOP48
TM1650 2 32 8*4 8 сегментов 4 цифры / 7 сегментов 4 цифры 7*4 SOP16 / DIP16
TM1651 2 28 7*4 7 сегментов, 4 цифры 7*1 SOP16 / DIP16
TM1652 1 40 7*6/8*5 7 сегментов 6 цифр / 8 сегментов 5 цифр 6 сегментов 7 цифр / 5 сегментов 8 цифр SOP16
TM1667 3 70 10*7/13*4 10 сегментов 7 цифр / 13 сегментов 4 цифры 7 сегментов, 10 человек 10*2 SOP28
TM1680 2 256 32*8/24*16 32-сегментный 8-битный / 24-сегментный 16-битный 8 сегментов 32 бита / 16 сегментов 24 бита LQFP48 / LQFP52
TM1681 4 256 32*8/24*16 32-сегментный 8-битный / 24-сегментный 16-битный 8 сегментов 32 бита / 16 сегментов 24 бита LQFP48 / LQFP52
TA6932 3 128 8*16 8 сегментов 16 бит 16 сегментов 8 бит SOP32
TM8006_1 40 8*5 8 сегментов 5 цифр 6 SOP32
TM8006_2 40 8*5 8 сегментов 5 цифр 6 SOP32

 

 

 


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


  • ch-4050 – дифференциальный терморегуляторch-4050 – дифференциальный терморегулятор
    Views: 2060 ch-4050 – это не новая модель, это расширенная версия универсального терморегулятора ch-4000. Различия коснулись в появлении новой функции дифференциального регулирования. Это вид регулирования по разности температур измеренного двумя …
  • Светодиоды со встроенным драйвером WS2812BСветодиоды со встроенным драйвером WS2812B
    Views: 1036 Производитель http://www.world-semi.com Краткое описание продукции фирмы Каталог продукции” catcatcat_ws_19 catcatcat_ws_15 catcatcat_ws_11 catcatcat_ws_07 catcatcat_ws_03 catcatcat_ws_18 catcatcat_ws_14 catcatcat_ws_10 catcatcat_ws_06 catcatcat_ws_02 catcatcat_ws_05 catcatcat_ws_09 catcatcat_ws_13 catcatcat_ws_17 catcatcat_ws_16 catcatcat_ws_12 catcatcat_ws_08 catcatcat_ws_04 catcatcat_ws_01 This jQuery …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Views: 987 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
  • Altium Designer my setup system and project structureAltium Designer my setup system and project structure
    Views: 999 Используйте только последнее обновление!!! Updates https://catcatcat.d-lan.dp.ua/altium-designer-my-libraries-project-templates-system-settings-by-catcatcat-v23-09/        Тут хочу поделиться как я настраиваю Altium Designer и как я использую файлы DXPPreferences.DXPPrf для быстрой конфигурации и получения …
  • REFERENCE CLOCK OUTPUT MODULEREFERENCE CLOCK OUTPUT MODULE
    Views: 577 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …
  • Проект с использованием MCC часть 07Проект с использованием MCC часть 07
    Views: 1192 Модуль PWM – широтно импульсная модуляция (ШИМ). ПИК контроллеры часто на борту имеют модули ШИМ. На их основе строятся многие узлы управления электро приводами. В нашем варианте мы …
  • Arduino LCD + STONE STVI056WT-01 + Strain gaugeArduino LCD + STONE STVI056WT-01 + Strain gauge
    Views: 621 Author li grey email: greyli1987@outlook.com The strain assessment instrument is used to assess the degree of corresponding muscle strain by obtaining the muscle surface action potential through silver …
  • УКВ – радиоприем, часть 1УКВ – радиоприем, часть 1
    Views: 9777 Музыкальная тема к статье, слушаем: Первый мой радиоприемник, выглядел так. Использовал исключительно в школе на уроках, держась за одно ухо и преданно смотря на училку и сладко улыбаясь. …
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001I2C MODULE – PIC18F25K42 Device ID Revision = A001
    Views: 1185 I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все …
  • Analog-to-Digital Converter with Computation Technical BriefAnalog-to-Digital Converter with Computation Technical Brief
    Views: 1441 Аналого-цифровой преобразователь с вычислительным модулем. ВВЕДЕНИЕ Аналого-цифровой преобразователь (ADC) с вычислительным модулем (ADC2) в 8-разрядном микроконтроллере Microchip имеет встроенные вычислительные функции, которые обеспечивают функции пост-обработки, такие как передискретизация, …



 

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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

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

НазадДалее