Ноутбук и компьютер - Информационный портал

Контроллер жк дисплея. Управление дисплеями: микроконтроллеры STM8L со встроенным ЖКИ-интерфейсом

И его аналогах, например, таких как S6A0069, KS0066 и т.д. Данные ЖК индикаторы – текстовые и умеют отображать текст и псевдографические символы. Размер знакоместа у них составляет 5x8 пикселей, ЖК индикаторы бывают разных размеров и с разными разрешениями, например: 8 символов на 2 строки – 8x2, 16x2, 20x2, 40x2, 16x4, 20x4 и т.д.

В данном уроке мы рассмотрим 4 битное подключения ЖК индикатора к микроконтроллеру AVR, и написание программы в среде .

У таких ЖК индикаторов существуют выводы:
VSS – Gnd (Минус питания)
VDD – Vcc (Плюс питания 5v)
VO – Установка контрастности ЖК матрицы
RS – Линия управления RS
RW (Read/Write) – Линия управления RW
E (Enable) – Линия управления E
D0 – Линия данных D0 (Не используется в 4 битном режиме)
D1 – Линия данных D1 (Не используется в 4 битном режиме)
D2 – Линия данных D2 (Не используется в 4 битном режиме)
D3 – Линия данных D3 (Не используется в 4 битном режиме)
D4 – Линия данных D4
D5 – Линия данных D5
D6 – Линия данных D6
D7 – Линия данных D7
A – Анод светодиода подсветки дисплея
K – Катод светодиода подсветки дисплея

Внимание! У разных ЖК индикаторов своё расположение выводов, точное расположение выводов вы можете узнать в технической документации (Даташите) на ваш ЖК индикатор.

Вывод ЖК индикатора VO управляет контрастностью ЖК матрицы в зависимости от подаваемого на этот вывод напряжения питания. Вывод RW если не надо считывать с дисплея информацию подключается к минусу питания.

Пример 4 битного подключения ЖК индикатора к микроконтроллеру Attiny2313:

Подстрочный резистор RV1 регулирует яркость ЖК индикатора.
В BASCOM-AVR перед работой ЖК индикатора необходимо указать, какие выводы дисплея подключены, к каким портам микроконтроллера, для этого есть команда Config Lcdpin, пример применения данной команды: Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 а также указать разрешение ЖК индикатора командой Config Lcd, пример: Config Lcd = 16 * 2 и проинициализировать ЖК индикатор командой Initlcd, после этого ЖК индикатор будет готов к работе.

Вот список команд для работы с ЖК индикатором в BASCOM-AVR:
Config Lcdpin – Установка конфигурации выводов ЖК индикатора и микроконтроллера
Config Lcd – Установка разрешения ЖК индикатора
Initlcd – Инициализация ЖК индикатора
Lcd – Вывод текста на ЖК индикатор, пример: Lcd ”Hello”
Cls – Очистка ЖК индикатора
Locate y, x – Установить курсор в позицию x, y
Lowerline – Переместить курсор на нижнею строку
Upperline – Переместить курсор на верхнею строку
Shiftlcd Right – Сдвинуть изображение ЖК индикатора вправо на одно знакоместо
Shiftlcd Left – Сдвинуть изображение ЖК индикатора влево на одно знакоместо
Cursor Off – Отключить курсор
Cursor On – Включить курсор
Cursor On Blink – Включить мерцающий курсор
Cursor On Noblink – Отключить мерцающий курсор

Внимание! При использовании ЖК индикатора c разрешением 8x2 в BASCOM-AVR конфигурируйте его как 16x2, так как в BASCOM-AVR нет конфигурации на ЖК индикатор с разрешение 8x2.

Пример программы в BASCOM-AVR для вышеизложенной схемы:

$regfile = "attiny2313.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Lcd = 16 * 2 Initlcd Cls Locate 1 , 1 Lcd "Hello," Lowerline Lcd "world!" End

Вот как всё это работает с ЖК индикатором 8x2:

Фьюз биты для прошивки:

Скачать файлы для урока (проект в , исходник, прошивка) вы можете ниже

Загорелся однажды идеей подключить внешний LCD дисплей от мобильного телефона Motorola V-180 к микроконтроллеру. Готовых библиотек для работы с ним в сети не нашел. Но очень хорошо иметь такой дисплей в своем арсенале для разработок схем. Было принято решение написать их самому, благо что уже некоторый опыт работы в этом направлении есть. Таким опытом является . Вся библиотека заточена для работы в AVR Studio 6 - недавно на нее перешел.

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

Вернемся все-таки к дисплею. Его можно приобрести, или выковырять с телефона в виде шлейфа с двумя дисплеями. Цветной пока от кладем в сторону. Возможно позже мы к нему вернемся. Нас интересует внешний монохромный экран распределением 32 на 96 пикселя. К сожалению встроенной подсветки в нем нет. Распиновку выводов дисплея можно посмотреть на схеме.

Конденсатор есть на шлейфе, его емкость 1 микрофарад.

Вывод CS подключен к 0. Он отвечает за включение контролера дисплея. В теории можно управлять несколькими дисплеями параллельно, просто вывод CS подключить к отдельным ногам МК. В зависимости от состояния вывода CS дисплея можно переключатся между ними.

Приступим к разбору самой библиотеки. В файле MOTOV180.h можно назначить порт для работы, и номера вывода портов под дисплей. Отдельно настраивать выводы на выход не нужно. В библиотеке все это предусмотрено.

  • void MOTOV180_send_byte(int8_t mode, uint8_t d) ; можно послать в дисплей байт данных, или команду.
  • void MOTOV180_init(void) ; - функция для инициализации дисплея.
  • void MOTOV180_clear(void) ; - функция для очистки дисплея.
  • void MOTOV180_gotoxy(int8_t x,int8_t y) ; - данной функцией можно перейти в указанную точку координат.
  • void MOTOV180_Putc(uint8_t c) ; функция для вывода одной переменной из программной памяти.
  • void MOTOV180_Print(char* message) ; - используется для вывода строки.

Тайминг контроллер, он же T-con или контроллер матрицы, представляет собой независимое от команд с центрального процессора устройство для преобразования видеоданных, передаваемых с основной платы, в сигналы, понятные телевизионной жк матрице. В результате его работы мы наблюдаем нужное нам изображение на экране телевизора. Нарушение цветопередачи, целостности, красочности и естественности картинки, рябь и размытость на экране может быть следствием дефекта в этом блоке.

Блок-схема T-con

Тайминг контроллер включает в себя

  • Процессор для обработки входных конвейеров данных LVDS в независимые конвейеры R, G, B и сигналы синхронизации для горизонтальных и вертикальных драйверов матрицы. Процессор обменивается информацией с оперативной памятью ОЗУ и Eeprom ПЗУ. Фиксированное напряжение питания 5 или 12 вольт, подаваемое с системной платы, преобразуется в несколько вторичных напряжений, необходимых для работы контроллера, с помощью DC/DC преобразователей.
  • Формирователь опорных напряжений для ЦАП драйверов, которые обеспечивают необходимую кривизну гистограммы изображения. Иначе этот процесс называют гамма коррекция.
  • Узел формирования напряжений для питания драйверов, выполненный обычно на ШИМ-контроллере и ключевом полевом транзисторе.

Диагностика и ремонт T-con

Диагностировать неисправность в тайминг котроллере бывает порой чрезвычайно трудно. Дело в том, что связь этого блока с основной платой и жк матрицей настолько велика, что визуально определить, что является источником дефекта иногда не представляется возможным. Только измерения в контрольных точках T-con могут косвенно говорить о его неработоспособности. При самостоятельном ремонте контроллера матрицы необходимо обладать большим объемом информации, которую при внимательном и кропотливом поиске может предоставить Интернет. Сам контроллер считается неотъемлемой частью жк панели, а электрические схемы на этот блок производители не предоставляют. Эта ситуация заставляет телемастера при починке этого узла руководствоваться прежде всего своим профессиональным чутьем и опытом подобных ремонтов.

Если ваш телевизор стал показывать слабоконтрастное, негативное, белесое изображение с муарами различных оттенков на светлых или темных участках картинки, велика вероятность в том, что блок контроллера матрицы работает некорректно. Чтобы исключить влияние материнской платы и провести диагностику, многие производители жк матриц предусматривают включение T-con в автономный режим. При этом снимается шлейф, соединяющий эти платы, на контроллер подается только напряжение питания и путем замыкания сервисных контактов панель вводится в тестовый режим. При исправности жк панели и тайминг контроллера на экране наблюдается самодиагностика панели в виде чередующихся цветных полей и полос, как с генератора испытательного телевизионного сигнала. У каждого наименования жк панели метод вхождения в режим теста свой.

Чтобы исключить влияние жк панели на контроллер матрицы при проведении измерений напряжения питания драйверов или опорных напряжений для ЦАП драйверов, применяют кратковременное отсоединение шлейфов, одного или двух, на жк панель. По характеру изменения показаний приборов и визуальному восприятию изображения на экране можно делать определенные выводы о причинах неисправности. Для достоверного контроля работоспособности узла при проведении замеров необходим контроль наличия, формы, амплитуды, частоты и скважности импульсов, который можно осуществить с помощью осциллографа. Наличие осциллографа облегчает поиск дефекта и всегда применяется для диагностики в стационарном сервисном центре.

В некоторых случаях сомневаться в исправности контроллера матрицы приходиться в отсутствии изображения при темном или очень светлом (белом) экране монитора. Необходим контроль прохождения питающего напряжения с основной платы и формирования вторичных напряжений преобразователями DC/DC в самом блоке. Иногда проблемы с тайминг контроллером, да и с самой матрицей могут возникнуть по вине владельца слишком аккуратного, протирающего экран телевизора слишком влажной салфеткой, или, наоборот, неаккуратного, пролившего жидкость на жк панель или внутрь устройства. При попадании влаги на матрицу могут наступить непоправимые последствия в виде разрушения токопроводящих шлейфов, их коррозии, замыкания драйверов и выходу из строя контроллера матрицы из-за критического нарушения режима его работы.

Ремонт тайминг контроллера не предусмотрен производителем жк матриц, только его замена. Поэтому и не предоставляется техническая информация по восстановлению блока и отсутствуют схемы на него. Однако, у нас в мастерской используется Рейтинг 4.33 /5 (20 Голосов)

Похожие публикации