Как подключить ЖКИ на HD44780

Опубликовано: 5.06.2014 Автор: Александр

В этой статье я хочу рассказать и показать Как подключить и использовать символьный жидко-кристаллический индикатор совместно с контроллером STM32F103.

Hello_world

На днях у меня появился такой вот индикатор:

QC2004AQC2004A

 

Это символьный жидко-кристаллический индикатор QC2004A на 4 строки и 20 символов в строке, о чем явно свидетельствует модель. К тому же индикатор имеет подсветку и является контрастным, т.е. символы светятся белым, а фон синий.

Управляется матрица установленным на плате контроллером KS0066, это аналог HD44780. Плата имеет 16 контактов: 2 для питания индикатора (1 и 2 пин), 1 для выставления контрастности (3 пин), 3 для управления шиной данных и режимом контроллера (4 – RS – данные или инструкции; 5 – R/W – запись или чтение с ЖКИ; 6 – E – отправка данных по шине), 8 контактов шины данных (т.е. шина восьми битная) и 2 контакта для питания подсветки.

Размеры и немного больше информации по ЖКИ вот тут.

Стоит сказать о шине данных и подключении. Если вам требуется только выводить информацию на индикатор, то потребуется подключить питание, подключить RS и E, при это пин R/W запаять на минус, подключить 4 (D4…D7) или 8 (D0…D7) контактов данных, т.е. использовать 8ми или 4х битную шину. Хочется отметить, что контроллер позволяет передавать данные по четырем проводам, вместо восьми, хотя данные все равно передаются восьми битные, только тетрадами (по 4 бита 2 раза).

R/W пин используется для того, чтобы выбрать направление передачи данных в ЖКИ или из ЖКИ. Это может быть нужно, чтобы считывать данные с индикатора, положение курсора и т.п. Используется крайне редко.

Теперь стоит подключить индикатор к STM32F103, для этого я использовать буду отладочную плату и подключаем следующим образом:

  • 1 пин ЖКИ к GND
  • 2 пин ЖКИ к +5V
  • 3 пин ЖКИ к GND
  • 4 пин ЖКИ к PA0
  • 5 пин ЖКИ к GND
  • 6 пин ЖКИ к PA1
  • 11 пин ЖКИ к PA2
  • 12 пин ЖКИ к PA3
  • 13 пин ЖКИ к PA4
  • 14 пин ЖКИ к PA5
  • 15 пин ЖКИ к +5V
  • 16 пин ЖКИ к GND

P1100832

Все функции по работе с ЖКИ для STM32 вынесены в отдельную библиотеку, т.е. ее просто необходимо подключить будет настроить и заголовочном файле (*.h) порты и пины и можно использовать. Настройка пинов в hd44780_driver.h:

После этого добавляем библиотеку в проект:

И можно пользоваться. В конце статьи прикреплен архив проектом в IDE CooCox.

Кратко рассмотрим функции:

Немного подробнее теперь.  Функция

  • lcd_state: LCD_ENABLE или LCD_DISABLE
  • cursor_state: CURSOR_ENABLE или CURSOR_DISABLE
  • cursor_mode: BLINK (мигать) или NO_BLINK (не мигать)

X – это номер символа в строке, счет от 0. Y – номер строки, счет от 0.

Применение пользовательского символа бывает полезно, если нет кириллицы, как в моем случае (с Китая индикатор), либо если нужен спец символ типа значка батарейки и т.п.

Стоит отметить, что символ записывается в память ЖКИ не навсегда, а только пока питание есть. Т.е. после выключения этого символа уже не будет в памяти. Поэтому все свои символы пишем в ЖКИ при инициализации, а потом основная работа уже.

Вот собственно и все, что может пригодиться для использования индикаторов на HD44780. Стоит лишь смотреть в даташитах на адресацию памяти ЖКИ, чтобы подправить функцию перехода lcd_set_xy. И конечно, библиотеку не составит труда переделать под другие семейства STM32.

Прикрепления:

  1. Проект в CooCox
  2. Даташит на QC2004A
  3. Полезная статья

Вопросы пишите в комментарии.

В рубриках: Как в технике, Электроника
Метки: , ,
Поделиться записью:

5 Комментариев к “Как подключить ЖКИ на HD44780”

  1. Server:

    Di, извини за тупые вопросы, но из мелочей и складывается картина. А при чем тут оптимизатор? Я же в симуляторе смотрю текст на Си, а не скомпилированый код. Это же, если я не ошибаюсь, как смотреть ассемблерный код до компиляции чисто исходный текст.

  2. Александр:

    Здравствуйте. Помогите опознать жк и его подключение. На лицевой стороне дисплей 86 / 24 мм в металлической прижимном креплении, Плата 95 / 30 мм и 15 припаянных отводов. На обратной стороне надписи “97-24288-0″ ,” LM311L” на наклейке, а под ней “LM105L”, и “JAPAN”. микрухи – M5259( OKI JAPAN ) – 2 шт. HD44780A00 (JAPAN) – 1 шт. ???

    • Здравствуйте, Александр. Это похоже что, знакосимвольный дисплей и, судя по размерам, это 20 знаков в 2 строки. Проследите как идут дорожки от тех 15 выводов. Найдите общий и питание. С какой они стороны будут. Так сможете определить от куда начинается счет выводов и далее уже стандартно подключить дисплей, ведь это готовый модуль.

      • Александр:

        Спасибо за ответ. 1-й там (-) 2-й (+), счет с права налево с лицевой стороны , 16-го нет, он вроде как на подсветку, меня интересует с какими контроллерами он совместим? Как это узнать? У них точно стандартное подключение? т.к. покупался он около 8 лет назад, все микрухи в корпусах , оригинальный JAPAN

      • Подключение стандартное, т.к. у Вас там контроллер HD44780 стоит. Отличия могут быть обычно в части подсветки, т.к. это независимая цепь. Для управления ЖКИ нужно 14 ножек, а 16я у Вас – это наверное питание на подсветку. В любом случае справа налево выходит следующее: распиновка
        Сам модуль можете подключать к чему угодно, к любым контроллерам.