Какое-то время назад купил я себе такой вот индикатор:

Продаётся он здесь, стоит около 6$, относительно недорогой и простой в использовании. Этот ЖК-индикатор от телефона Nokia 5110, уже распаян на плату со штырьковым разъёмом для подключения к контроллеру. ЖК-дисплей уже изучен вдоль и поперёк, для него можно найти кучу проектов как для arduino, так и для других контроллеров, в том числе и msp430 (launchpad). Это значит не придётся изобретать велосипед и писать свою библиотеку, достаточно выбрать ту, которую будем использовать.

ЖК-дисплей от Nokia 5110 сделан на контроллере PCD8544, такой же контроллер используется например в телефоне Nokia 3310. PCD8544 — микромощный контроллер ЖК-индикаторов, предназначен для вывода на графические дисплеи размером 48 точек в строках на 84 точки в столбцах, имеет всё необходимое для вывода графики и другой информации, в том числе формирователь напряжения питания индикатора. Общается PCD8544 с управляющим контроллером с помощью последовательной шины SPI, управление по шине осуществляется с частотой до 2МГц, для работы PCD8544 достаточно напряжения питания всего 2В, возможна работа и при более низком напряжении, но с его снижением резко падает контраст на дисплее.

Библиотеки для работы с этим ЖК-индикатором:

Nokia 5110 RobG
Nokia 5110 C Класс-шаблон
Вольт-  Ампер- ватт- метр

Это лишь три из многих библиотек, найденных в интернетах для msp430. Я решил попробовать для начала библиотеку от RobG, так как она в отличие от многих других, использует аппаратную, а не программную реализацию SPI в msp430g2553 и аналогичных, рекомендую для начала почитать оригинальное описание библиотеки по вышеуказанной ссылке, весьма познавательно, правда на английском языке.

Nokia LCD

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

На картинке видно, как организована адресация каждого пикселя индикатора. Всего у нас 84х48 пикселей, организованных в 6 горизонтальных банков ( от нуля до пяти) и 84 столбцов. Каждый банк содержит 8 пикселей, которые в сумме дают 48 строк.

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

При использовании библиотеки от RobG, на самом деле не обязательно всё это знать, но это необходимо для понимания того, как создаются символы на экране, если понадобится создавать свои графические или текстовые символы, или шрифт.

Подключаем дисплей к микроконтроллеру:

Что меня радует в микроконтроллерах — так это то, что для удобства монтажа и разводки печатной платы, можно легко менять назначения некоторых пинов, просто меняя их описание в программе. Главное — не перепутать потом и не забыть 😉

Долгое время этот ЖК-индикатор лежал у меня в коробочке, но пришло и его время. Вот, что получилось:


Файлы:

Библиотека с сайта 43oh

Термометр, отображающий данные встроенного датчика температуры

Хороший сайт с описанием разных дисплеев от мобильных телефонов