TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом.

Для управления драйвером используется трех проводный SPI. Питание драйвера может быть от 3,3 вольт до  5 вольт. Логические уровни не поддерживаются поддерживаются, поэтому если питаете драйвер 5 вольт, должно быть MCU тоже 5 вольтовым или делать преобразователи уровня, для красных светодиодов нормально работает от 3,3 вольт, а вот для синих, зеленых (истинно) питание должно быть 5 вольтовым.

Данные (описанные в этой статье) в SPI должны передаваться младшим битом вперед. Скорость SPI до 500 кГц (рекомендую 250 кГц и ниже). Команды управления позволяют настраивать 7 уровней яркости дисплея, включать выключать дисплей. Возможность записывать данные в конкретный разряд или использовать автоадресацию при загрузке данных. Поддерживает 8 кнопочную клавиатуру, есть возможность определять двойные нажатия клавиш. Применение диодов в схеме клавиатуры блокирует нежелательную засветку.

Речь пойдет об использовании 8 разрядного семисегментного индикатора с общим катодом.

Схема подключения, вариант использования для подключения к микроконтроллеру с питанием 3,3 вольта:

Схема нарисована по рекомендациям производителя драйвера, но конденсаторы С53-С54 необязательный атрибут, резисторы особенно на шине данных необходимы для чтения данных клавиатуры, выходной драйвер шины данных выполнен с открытым стоком.

Для записи данных в регистры индикации необходимо 16 байт, при этом данные для одного разряда записываются двумя байтами, при этом используются только младшие полубайты. Для семисегментного индикатора при подключении по приведенной схеме, следующее:

Байт передачи D7 D6 D5 D4 D3 D2 D1 D0
 первый 0  0 0 0 D C B A
второй 0  0 0 0 H G F E

В таблице приведены положение сегментов битам в байтах.


Команды драйвера.

Команды переедаются одним байтом. Или любой первый байт в последовательности передачи данных восприниматься как команда. Существуют три типа команд для управления дисплеем, эти команды отличаются только состоянием старших битов B7 и B6.

Команда B7 B6 B5 B4
Команда передачи, приема данных 0 1 0 0
Команда управления работы дисплея 0 0 0
Команда указания адреса загружаемых данных для отображения 1 0 0

Команда передачи, приема данных.

b7 b6 b5 b4 b3 b2 b1 b0 Функция Описание
0 1 0 0 0 0 Выбор записи или чтения данных Запись данных для отображения
1 0 0 1 0 Чтения данных сканирования кнопок
1 0 0 0 Выбор режима автоприращения адреса Автоприращение адреса
1 0 0 1 Фиксированный адрес
1 0 0 0 Включение тестового режима Нормальный режим работы
1 0 0 1 Тестовый режим работы

Это команда подается самостоятельно и позволяет управлять последующим потоком данных. Перед тем как начать записывать данные изображения, необходимо подать 0x40, а затем передавать последовательность данных изображения. Если необходимо прочитать состояние клавиатуры 0x42. Комбинируя состояние битов b0-b4 можем формировать управление функциями дисплея.

Команда управления работы дисплея.

b7 b6 b5 b4 b3 b2 b1 b0 Функция Описание
1 0 0 0   0 0 0 Настройка
уровня
яркости
Уровень яркости 1/16
1 0 0 0   0 0 1 Уровень яркости 2/16
1 0 0 0   0 1 0 Уровень яркости 4/16
1 0 0 0   0 1 1 Уровень яркости 10/16
1 0 0 0   1 0 0 Уровень яркости 11/16
1 0 0 0   1 0 1 Уровень яркости 12/16
1 0 0 0   1 1 0 Уровень яркости 13/16
1 0 0 0   1 1 1 Уровень яркости 14/16
1 0 0 0 0       Выключение
дисплея
Выключить дисплей
1 0 0 0 1       Включить дисплей

Этой командой можно управлять яркостью дисплея, а также отключать его для экономии потребления устройством, когда в его работе нет необходимости.

Команда указания адреса загружаемых данных для отображения.

b7 b6 b5 b4 b3 b2 b1 b0 Адрес Индикатор
1 1 0 0 0 0 0 0 0x00 1
1 0 0 0 0 0 1 0x01
1 0 0 0 0 1 0 0x02 2
1 0 0 0 0 1 1 0x03
1 0 0 0 1 0 0 0x04 3
1 0 0 0 1 0 1 0x05
1 0 0 0 1 1 0 0x06 4
1 0 0 0 1 1 1 0x07
1 0 0 0 0 0 0 0x08 5
1 0 0 1 0 0 1 0x09
1 0 0 1 0 1 0 0x0A 6
1 0 0 1 0 1 1 0x0B
1 0 0 1 1 0 0 0x0C 7
1 0 0 1 1 0 1 0x0D
1 0 0 1 1 1 0 0x0E 8
1 0 0 1 1 1 1 0x0F

Эта команда используется для установки адреса регистра дисплея. Если адрес будет установлен на 0х10 или выше, данные игнорируются до тех пор, пока не будет установлен корректный адрес. При включении питания, по умолчанию, указатель установлен на значение 00H.

Пример, функции загрузки драйвера, для индикации, где uint8_t ind[8]; // регистры индикации разрядов

Таблица возможных формируемых символов:

 


После подачи питания, для запуска драйвера необходимо подождать 50 мСек, пока он придет в себя. После чего с ним можно начинать работу. Хочу обратить внимание, это касается в основном все недорогой китайской электроники. Надо понимать, что она не поддерживает значение стандарта логических уровней, как это принято в нормальных микросхемах. Т.е. например, уровень логической 1 он и для 3,3 вольтовой логики и для 5 вольтовой всегда одинаков, для этого драйвера это не так, если у вас микроконтроллер питается, от источника 3,3 вольта, а драйвер вы запитали, от 5 вольтового, вам нужны будут преобразователи уровня.


Клавиатура

Драйвер позволяет сканировать клавиатуру из 8 кнопок. В отличии от TM1650 этот драйвер поддерживает одновременное нажатие клавиш.

Драйвер формирует два байта, состояние битов 2, 3, 6, 7 их установка показывает состояние клавиатуры. В таблице ниже приведены коды формируемые, от комбинации клавиатуры.

* KS1 KS2 KS3 KS4
K0  0x80/0x00 0x80/0x00 0x00/0x08 0x00/0x80
K1  0x04/0x00 0x40/0x00 0x00/0x04 0x00/0x40

Сканы при нажатии на клавиши:

K0-KS1K0-KS1+KS3K0-KS2 K0-KS2+KS4 K0-KS3K0-KS4 K1-KS1K1-KS1+KS3 K1-KS2 K1-KS2+KS4 K1-KS3K1-KS4

Если используется клавиатура на 4 клавиши, то удобнее обрабатывать только один байт данных, для этого необходимо использовать тип подключения только. например между K0, K1 и KS1, RS2.

Функции для простого чтения, кнопок состояния клавиатуры:

Примет функции с формирование событий нажатия и отпускания клавиш:

Флаги BON и BOFF можно использовать для определения событий нажатия клавиш, а флаги BT1-BT4 для определения клавиши.

Дополнительный вариант для определения нажатия и удержания клавиши, а также нажатия двух, трех клавиш…


Версия библиотек для использования для работы с драйвером.

Значок

LED драйвер TM1639 (spi и драйвер - библиотеки) 12.95 KB 10 downloads

TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных...
Login Required Message:
Значок

TM1650 и TM1639 ru 5.14 MB 46 downloads

Свободный перевод описаний драйверов. ...

Версия для компилятора XC16 (SPI передает данные старшим битом вперед)

Значок

LED драйвер TM1639 библиотека v1.2 for XC16 11.57 KB 2 downloads

//------------------------------------------------------------------------------ /* ...
Login Required Message:

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


  • PIC32MZ – прерывания (заметки)PIC32MZ – прерывания (заметки)
    Виды формирования запоминая контекста при входе в прерывания. Компилятор представляет три варианта AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот метод является …
  • Самый простой индикатор уровня звукового сигналаСамый простой индикатор уровня звукового сигнала
    Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете  самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на WS2812B по подключению …
  • Altium Designer – подготовка документации для производства и сборки печатных платAltium Designer – подготовка документации для производства и сборки печатных плат
    В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем откровенно, для …
  • Ссылки на интересные источникиСсылки на интересные источники
    Сбор 3D моделей от André L’Hérault конденсаторы, резисторы, индуктивности dropbox IPC-SM-782 Surface Mount Design and Land Pattern Standard Видео уроки по Altium designer Alexey Sabunin https://www.youtube.com/channel/UCG7N5CqXpyK8nQjr1EmMgng Сергей Булавинов https://www.youtube.com/channel/UCISAMXRnN_Qw9UTjUwZI1Jw Robert Feranec https://www.youtube.com/user/matarofe Самый быстрый, …
  • Сенсорный выключатель светаСенсорный выключатель света
    Хотя в настоящий момент актуальны системы управления освещением с передачей данных по электросети, но я думаю, что проекты такого рода тоже имеют право на жизнь. Анонс Три вида сенсора – …
  • LATINO – открытый проект ch-светомузыкиLATINO – открытый проект ch-светомузыки
      Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была применена светодиодная …
  • Одноканальный емкостной сенсор – AT42QT1012Одноканальный емкостной сенсор – AT42QT1012
    Описание сенсора  Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая автоматическая задержка выключения …
  • Светодиоды со встроенным драйвером WS2812BСветодиоды со встроенным драйвером WS2812B
    Производитель 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 slider was …
  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – это значит, …
  • Датчик приближения от Румена ЖелеваДатчик приближения от Румена Желева
    Проект на Болгарском языке. Автор Румен Желев. Болгария. Проект,  датчик приближения в котором устранены все недостатки влияния засветки посторонними источниками. Применен совершенно оригинальный принцип контроля ИК излучения. Основната идея на …



 

Tagged with →  
Share →
Translate »

Copyright © Catcatcat electronics 2013-2020. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com