Дисплей Nokia 5110 LCD (blue screen)

Код:00460
Артикул:LCD-5110
В наличии:есть
345 руб
1
Дисплей Nokia 5110 LCD


Модуль Nokia 5110 LCD состоит из печатной платы, на которой размещается жидкокристаллический индикатор Nokia 5110, cодержащий контроллер PCD8544 фирмы Philips PCD8544.
 Для соединения модуля с другими устройствами плата содержит вилку соединителя и отверстия для припаивания проводов. Также имеются 4 установочных отверстия, расположенные по углам платы.
Монохроматический дисплей Nokia 5110 LCD (blue screen) имеет подсветку синими светодиодами. За годы производства Nokia 5110 применялся и применяется в широком спектре приложений. Модуль дисплея облегчает подключение Nokia и установку в приборе. Благодаря модулю упрощается первое знакомство электронщика, программиста с дисплеем Nokia 5110 LCD. Изначально применявшийся как индикатор мобильного телефона дисплей распространился в другие категории приборов. Его удобно использовать в измерительных приборах: вольтметрах, амперметрах, омметрах и других. Пригодится дисплей и для индикации показаний медицинских мобильных приборов. Интересно его применить для шкалы радиоприемника или индикатора уровня сигнала в звуковоспроизводящей аппаратуре. Экран разрешением 84х48 точек позволяет выводить символьную и графическую информацию.
Если у вас есть опыт работы с Nokia 3310 LCD будет легко освоить Nokia 5110 LCD, так как эти индикаторы построены на одном контроллере PCD8544.

Характеристики модуля Nokia 5110 LCD

Питание
    напряжение 2,7…3,3 В
    ток
        подсветка отключена 5 мА
        подсветка включена 20 мА

Температура воздуха во время работы 0…50
Температура хранения –10…70


ЖКИ индикатор Nokia 5110

Основные характеристики

Главный компонент модуля Nokia 5110 LCD – ЖКИ индикатор. Имеет встроенные генераторы напряжения питания и смещения ЖК-элементов, есть светодиодная подсветка. Интерфейс SPI ввода информации. Nokia 5110 может работать в четырех режимах: нормальный, инверсия изображения, пустой экран и “все точки включены”. Так же пользователю доступно управление температурным режимом, напряжением питания и смещения.

Питание
    напряжение 2,7…3,3 В
    ток до 320 мкА
Частота тактирования до 4 МГц
Время сброса не менее 100 нс

Структура дисплея

Дисплей представляет собой матрицу ЖК-элементов и микросхему PCD8544 для их управления, размещенные в корпусе установленном на плате. На ней так же размещены четыре светодиода подсветки экрана. Информация о состоянии точек дисплея хранится в оперативной памяти контроллера PCD8544, каждой точке соответствует один бит памяти. Так же встроен счетчик адреса, который автоматически увеличивается при записи очередного байта информации в память.

Управление дисплеем

Осуществляется по интерфейсу SPI, дисплей является ведомым устройством. Однако, вместо обычных четырех линий управления здесь лишь три. Это линии тактирования CLK, выбора кристалла SCE и входных данных MOSI. Линия выхода MISO отсутствует. Это приводит к необходимости применять специальные методы управления, подробнее об этом далее. Работает интерфейс в режимах SPI-0 или SPI-3. В Nokia 5110 присутствует также дополнительная линия управления Информация/Команда – D/C̅. Каждый байт, передаваемый в дисплей, может быть интерпретирован как команда или информационный байт, в зависимости от уровня на линии D/C̅.
Передача информации однонаправленная, и считать данные из памяти и регистров дисплея нельзя. Поэтому, в программе необходимо предусмотреть возможность контролировать состояния дисплея. Однако, есть еще одна особенность, которая усложняет управление. Эта особенность связана с организацией памяти.

nokia 5110 lcd

Память состоит из шести банков, в каждом из которых находится 84 ячейки емкостью 1 байт.

nokia 5110 lcd

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

 Каждый банк содержит 8 вертикально расположенных пикселей, которые в сумме шести банков дают 48 строк. На рисунке видно, как из оперативной памяти будет отображаться заданный пиксель на дисплее, каждая строка на рисунке представляет один банк.
Запись информации в память осуществляется побайтно, а не побитно, и нет возможности управлять каждой точкой, а лишь группами по восемь точек. Это в сочетании с тем, что информация из памяти Nokia 5110 LCD не может быть считана, приводит к тому, что перед отправкой необходимо запоминать, какие данные в какой ячейке хранятся. В противном случае при отправке новых данных в дисплей можно потерять информацию. Эту особенность иллюстрирует рисунок показывающий замену символа. При написании управляющей программы необходимо предусмотреть возможность хранения данных.

nokia 5110 lcd 

Замена символа Л на символ А.

Дисплей имеет размер 84х48 пикселей. Информация выводится вертикальными блоками высотой 8 пикселей, значения которых определяются значениями бит в выводимом байте. Младший бит кодирует верхний пиксель.
Забегая вперед описания команд скажем. Команды 1xxxxxxx и 01000yyy определяют координаты курсора – строку и позицию, в которых будет отображены следующие 8 бит данных. После того как байт выведен, курсор автоматически смещается на соседнюю позицию.
Если командой 00100PDVH выбран горизонтальный режим адресации V=0, то курсор смещается вправо и следующий байт данных будет отображен на соседней позиции справа. Когда достигнут правый край экрана, курсор перемещается в начало следующей строки. Если же выбрана вертикальная адресация V=1, то курсор смещается вниз, на следующую строку, а после последней строки курсор смещается на одну горизонтальную позицию вправо и устанавливается на верхнюю строку.
В качестве промежуточной памяти можно использовать память управляющего контроллера, в которой будет храниться копия данных в дисплея. Перед отправкой необходимо корректировать данные, в зависимости от того, какая информация хранится в промежуточной памяти.

Команды управления Nokia 5110

Управление дисплеем осуществляется отправкой командного слова через интерфейс SPI. Размер слова 1 байт. Команды управления разделены на 3 категории.

Верховные функции управления

Установить тип функций – указывает, с каким типом функций будет работать модуль основными или расширенными.
Установить режим питания – включает или отключает питание.
Установить режим адресации – определяет тип адресации памяти: вертикальный или горизонтальный. В первом случае после записи байта данных будет увеличен счетчик Y-адреса, то есть, запись будет идти по столбцам. Во втором – счетчик Х-адреса, запись будет идти по строкам.
Функции передаются Nokia 5110 LCD, когда на линии D/C̅ низкий уровень. Они определяются одним командным словом. Это слово необходимо отправить в дисплей в начале работы. Формат:

0 0 1 0 0 PD V H

Бит PD определяет режим питания, установленный PD означает режим отключения (power-down).
Бит V режим адресации: 1 – вертикальная, 0 – горизонтальная.
Бит H тип функций, с которыми будет идти дальнейшая работа: 0 – обычный, 1 – расширенный.
Как видно, необходимо запоминать текущее состояние дисплея, чтобы при установке нового значения параметра не потерять информацию о значениях других. Команда 00100PDVH присутствует в обоих наборах команд.

Основные функции

Установить режим отображения 00001D0E. Определяет режим отображения: пустой экран, все точки включены, нормальное отображение, инверсное отображение. E – признак инверсии изображения, D – вывод изображения. Если D=0, то экран либо полностью очищен E=0, либо полностью черный E=1.
Установить Х-адрес команда 1xxxxxxx, или 0x80 + x выбор горизонтальной позиции в текущей строке, куда будет выводиться изображение. Где x=0 самая левая позиции, 83 – самая правая.
УстановитьY-адрес команда 01000yyy устанавливает Y-адрес ячейки, куда будет записан следующий байт. Команда, или 0x40+y выбор номера строки (страницы) на которую выводится изображение. Y=0 самая верхняя строка, 5 – самая нижняя. Строка имеет высоту 8 точек.

Расширенные функции

Расширенный набор команд выбирается после передачи команды 00100PDV1.
Установить температурный режим. Команда 000001tt, или 0x04 + t выбор одного из четырёх режимов температурной коррекции. В зависимости от режима будет по-разному изменяться напряжение дисплея при изменении температуры.
Установить напряжение смещения ЖК-элементов дисплея. Команда 00010bbb, или 0x10 + b выбор одного из восьми режимов расчета смещения уровней для управления LCD. Для обычных дисплеев от Nokia рекомендуется режим 0001011, или 0x13.
Установить напряжения питания ЖК-элементов дисплея. Команда 1vvvvvvv, или 0x80 + v выбор напряжения на генераторе повышенного напряжения для LCD. При v=0 генератор отключен. Выходное напряжение рассчитывается по формуле VLCD = 3.06 В + v * 0.06 В. В зависимости от выбора способа коррекции напряжения, это значение изменяется в зависимости от температуры. Чтобы не повредить дисплей при низких температурах, рекомендуется это значение менее 8,5 В, т. е. v<=90. Для обычных дисплеев Nokia это нормальное рабочее значение этого параметра примерно равно 56, т. е. команда принимает вид 10111000, или 0xB8.
Работа с основными и расширенными функциями проще, поскольку каждой из них соответствует отдельное командное слово.
Необходимо помнить, что для работы с определенным типом функций необходимо перевести дисплей в режим работы с этими функциями. Иначе отправка слова команды приведет к некорректному выполнению этой команды. Более подробно о командах управления можно прочитать в документации на странице 11.

Инициализация дисплея

Должна быть выполнена в течении 30 мс после появления питания в следующей последовательности:
сбросить, установив на соответствующем входе низкий уровень на 100 нс или более,
включить дисплей и выбрать расширенный набор команд, послав 0x21,
направить команду смещения напряжения 0x13,
установить температурную коррекцию командой 0x04,
включить генератор повышенного напряжения на уровень 6,42 В командой 0xB8,
вернуться в стандартный набор команд, послав 0x20,
включить графический режим командой 0x0C.
После этих действий Nokia 5110 LCD готов к работе.

Подключение модуля Nokia 5110 LCD

Вывод сигналов на контакты модуля показан на изображении в верху страницы. Также может быть другое расположение контактов показанное на рисунке.

nokia 5110 lcd 

Один из вариантов расположения контактов.

Сигналы и линии модуля

VCC    Питание 3,3 В
GND    Общий провод
SCE    Включение, активный низкий уровень
Reset    Сброс, активный низкий уровень
D/C̅    Данные/команда: 0 – данные, 1 – команда
SDIN    Вход интерфейса
SCLC    Тактовый сигнал
LED    Подсветка. Для модулей на красной плате соединить с общим, для синих модулей соединить с питанием. Применять в цепи подсветки резистор 330 Ом. В некоторых модификациях уже установлен резистор в некоторых нет. Для определения наличия резистора и выбора оптимального режима подсветки следует контролировать ток модуля и ток подсветки. Он не должен превышать 20 мА.

Если к интерфейсу SPI микроконтроллера не подключены другие устройства, то для экономии контактов основного управляющего модуля прибора и сокращения количества линий связи контакт выбора активного устройства SCE следует соединить на плате модуля с контактом GND. Но есть недостаток. Если контроллер Nokia потерял синхронизацию с МК, то это теперь невозможно обнаружить.
Более надежное подключение следует делать так. Притягивать эту линию к высокому уровню резистором 100–500 кОм, чтобы исключить воздействие помех на контроллер, пока МК находится в состоянии сброса.
При работе с микроконтроллерами AVR, удобно использовать интерфейс USART в режиме SPI ведущий. Режим SPI-3 (CPHA=1, CPOL=1). Это значит, что пока обмен отсутствует, на линии SCLK высокий уровень, а данные с линии SDIN контроллер читает по нарастающему фронту на линии SCLK в течение 100 нс. При этом они должны быть выставлены минимум за 100 нс до нарастания фронта. Передача осуществляется по 8 бит, сначала старший.
Уровень на линии D/C̅ определяет, как трактовать полученные данные. Высокий уровень означает, что переданные данные должны быть выведены на дисплей, низкий уровень – передана команда. Контроллер читает значение на этой линии вместе с последним (младшим) битом каждого переданного байта данных. При использовании асинхронной аппаратной передачи с этим могут возникнуть трудности. Перед установкой уровня необходимо дождаться завершения передачи предыдущего байта.

nokia 5110 lcd 

Соединение модуля Nokia 5110 LCD и Arduino UNO.

Входные сигналы модуля должны соответствовать логическим уровням схемы питаемой напряжением 3,3 В. При работе с микроконтроллером, имеющим питание 5 В, обязательно применяются цепи согласования уровней.

Графика

В начале подготовки графического изображения следует подготовить в любом графическом редакторе черно-белое изображение в формате *.bmp с разрешением 84х48 точек. Мы подготовили такую картинку в Paint, вот она:

nokia 5110 lcd

Имя файла картинки должно быть сохранено латинскими буквами. При помощи программы GLCD Tools получаем hex код картинки. Вот еще один конвертер. Вставляем hex код в программу Arduino и записываем в МК. Кроме статических картинок на экран дисплея можно выводить простую анимацию.

Видео
Анимация на Nokia 5110 LCD



Примечания

Внутри дисплея ЖК индикатор подключен к плате с контроллером PCD8544 посредством проводящей резиновой полосы. Это иногда вызывает проблемы в контактах. В результате мы видим черный экран. Для восстановления соединения достаточно немного прижать стекло к корпусу дисплея. Восстановление работы при нарушении контактов не произойдет до перезагрузки. Есть смысл предусмотреть в программе повторяющуюся инициализацию через каждые 5 секунд.
Контроллер ЖКИ PCD8544 может быть поврежден, если он неправильно сбрасывается.
Библиотека PCD8544 с аппаратным SPI Adafruit_PCD8544 использует связь с дисплеем через программное обеспечение SPI, поэтому является довольно медленной. Обновить весь экран занимает время 31 мс. Вот библиотека лучше.
При написании программ для Arduino не используйте "\n" после строки 14 символов, это создает дополнительную пустую строку. Не используйте Endl << endl занимает на 60 байт больше чем << "\n".

Программное обеспечение

MSP430G2553

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

Arduino

Пример  
SparkFun Electronics 2011 
Github SparkFun  
LCD Demo  
Adafruit-PCD8544-Nokia-5110-LCD-library  
Adafruit-GFX-Library  
Library LCD5110_Graph  
Library for Arduino  

nokia 5110 lcd

Домашняя страница

Программирование и подключение Nokia 5110 LCD к Raspberry Pi

Техническая документация

Пример использования

 
Вверх