Подключение к MSP430LaunchPad сегментного индикатора МЭЛТ по I2C


Потребовалось подключить к MSP430 Launchpad дисплей для отображения простейшей информации.
Подробно описанное в инете подключение графического дисплея от Nokia не устроило ввиду значительного объёма библиотеки, кропотливости работы по распайке оного устройства, да и просто излишества функций.

Для того, чтобы не городить лишнего питания ( имеется только 3,3 V), не использовать лишних ног процессора и не заморачиваться с поиском-заказом-ожиданием чего-либо экзотического, использовал сегментный индикатор МЭЛТ МТ-10Т12 на контроллере PCF8576C. Питание 3 вольта и интерфейс I2C очень устроили. Для простоты использовал программную реализацию I2C.
Проверено на дисплеях MT-10T11-3TLA и MT-10T12-3MLA-3V0. Назначение выводов у них одинаковое, а у 10Т12 подписано прямо на плате.

1-SDA
2-SCL
3-VCC
4-GND
5-LED+
6-LED-

SDA и SCL через резисторы 10к необходимо подтянуть к +3в.
Оба дисплея заработали без проблем, но у MT-10T11-3TLA всё-таки 3-х вольт для питания, видимо, недостаточно. Изображение символов под прямым углом плохо читается. Зато под 45 градусов снизу вверх идеально.

Так что изображение на лежащем на столе горизонтально перед зрителем индикаторе видно очень хорошо. Подключение подсветки требует 5 вольт, но и без неё изображение хорошее даже в сумерках.
Оба дисплея построены на основе контроллера PCF8576C. Инициализация и работа с ним качественно описаны в даташите.
Программу оформил в библиотеку исключительно для удобства чтения.
В заголовочном файле определяем ноги подключения SDA и SCL. В тексте библиотеки всё подробно прокомментировано.
Дисплеи запускаются в режиме Multiplex 1:2.
Внутри библиотеки написал две процедуры LCD_Clear и LCD_Print. Первая, понятное дело, очищает дисплей, а вторая помещает в заданную позицию цифру от 0 до 9 с десятичной точкой после или без точки. Но с помощью таблицы адресации сегментов из даташита PCF8576C элементарно изобразить любой прорисовываемый символ.
Проверил работоспособность программы и на MSP430f2012 — всё работает.

Исходные тексты для IAR в прикреплённом файле.
Надеюсь, кому-нибудь пригодится.
  • +7
  • 27 июня 2012, 22:26
  • libval
  • 1
Файлы в топике: IAR-MELT.zip

Комментарии (24)

RSS свернуть / развернуть
Помоему дисплеи сами по себе достаточно экзотичны.
Сколько такой стОит?
0
Я покупал в Питере на Юноне (радиорынок) большой-350 руб, а мелкий, по-моему 250 руб.
По интернету можно, наверное, найти и дешевле. Точно не знаю. В ChipDip дороже
0
Дорого. Выгоднее купить строковый дисплей 1x16. Дешевле, и выводить может не только цифры, и знакомест больше.
0
Очень дорого для однострочного. За эти деньги можно взять на Хитачевском проце 2х16.
0
Второй нах!
В смысле кто то забыл кат поставить
+3
  • avatar
  • xar
  • 27 июня 2012, 22:35
Использовал похожий дисплей, MT-10T7, у него параллельный 4-бит интерфейс и нет подсветки. Чем эти дисплеи хороши, так это очень низким (для дисплея с контроллером) потреблением, 30мА по паспорту, у меня получалось в районе 20 мА. Градусник с ним на одной батарейке CR2430 около года работает.
0
  • avatar
  • ACE
  • 27 июня 2012, 22:58
Простите, 30 и 20 МИКРОампер, соответственно.
0
Я пытался связку процессор-дисплей от солнечной батареи запитать, но в хозяйстве у меня только мелкая есть- не потянула. Возьму потом у приятелей чего покрупнее- буду экспериментировать.
0
Добрый день! Киньте пожалуйста ссылку на эту реализацию проекта. Я про использование указанного Вами индикатора с данной платой. Заранее признателен!
0
MT-10T7 я использовал не c MSP430, а с ATTiny.
0
Добрый день! Ссылка на файлы размещена в конце заметки. Если я, конечно, правильно понял вопрос. Сам я эти МЭЛТы использовал в устройствах с msp430f2012.
0
Так там нет схем… Вот я и спросил… Или по портам смотреть… Мне дилетанту трудно будет. Могу плутать от программы к даташиту.
0
Добрый день!
На индикаторе выводы пронумерованы, а на отдельных моделях и подписаны:
1-SDA
2-SCL
3-VCC
4-GND
5-LED+
6-LED-
В зависимости от того, какой конкретно микроконтроллер вы используете, необходимо посмотреть по даташиту назначение выводов. Определить какие ноги отвечают за I2C и, если таких портов несколько, то какой будете использовать Вы. Затем соединить соответствующие выводы SDA и SCL контроллера и индикатора, и еще через резисторы 10к замкнуть эти соединения с + питания. + питания индикатора и землю индикатора необходимо соединить с + контроллера и землей контроллера. На Launchpad все выводы подписаны. Под руками нет ни Launchpad, ни рисовалки схем, так как в поездке. Если я не очень внятно объяснил, то спрашивайте. Если будет необходимо, то по возвращении погляжу и нарисую. А ещё попробуйте кликнуть по фото и поглядеть их в увеличенном виде. По разноцветным проводам все прослеживается.
С уажением
0
Спасибо! Извините, если напряг — начну делать, будут вопросы, обращусь.
0
Примитивы вроде SDA_high, SDA_low и т.д. грамотней в макроопределения завернуть.
0
Наверняка! Учту! Спасибо!
0
Лучше их оставить функциями, но сделать static inline.
0
Так как Вы не обратили внимание на коментарий выше продублирую: поставьте пожалуйста тэг «cut» в начале статьи после вступления до фотографий.
+1
точнее после первой фотографии и пары строк.
0
Спасибо! Исправился.
0
А сколько тока оно жрет?
0
Удваиваю вопрос. даташит открывать лень.
0
По описанию от производителя 0,05 мА.
0
Как то многа :) Никто не замерял, сколько кушает драйвер дисплея от NXP (в индастриал-открытке рассылали)?
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.