Подключение ЖК дисплея 16×2 к MSP430G2 LaunchPad


Ранее на нашем сайте мы уже рассматривали основы работы с платой MSP430G2 и управление последовательностью светодиодов с ее помощью. В данной статье мы продолжим серию обучающих статей про данную плату и рассмотрим подключение к ней ЖК дисплея 16×2.

Внешний вид подключения ЖК дисплея 16×2 к плате MSP430G2 LaunchPad

ЖК дисплей 16×2, который мы будем рассматривать в этой статье, является обычным алфавитно-цифровым дисплеем, имеющим 2 строки и 16 столбцов. Он находит широкое применение во многих проектах встраиваемой электроники. Подключение его к плате MSP430G2 достаточно простое благодаря наличию специализированной библиотеки для работы с ним.

Ранее на нашем сайте мы уже рассматривали подключение ЖК дисплея 16x2 к следующим микроконтроллерам (платам):

Необходимые компоненты

  1. Плата MSP430G2 LaunchPad (купить на AliExpress).
  2. ЖК дисплей 16×2 (купить на AliExpress).
  3. Соединительные провода.

Общие принципы работы ЖК дисплея 16×2

Обозначение 16×2 в названии дисплея подразумевает что он содержит 16 столбцов и 2 строки, которые вместе формируют 32 (16*2) знакоместа. Структура одного такого знакоместа показана на следующем рисунке.

Одно такое знакоместо состоит из 40 пикселов (точек), упорядоченных в форме матрицы размером 5 строк на 8 столбцов, предназначенной для отображения одного символа. 32 символа можно одновременно отобразить на дисплее, используя эти знакоместа.

Одно знакоместо в ЖК дисплее 16×2

Распиновка (назначение контактов) ЖК дисплея 16×2 показана на следующем рисунке.

Распиновка (назначение контактов) ЖК дисплея 16×2

ЖК дисплей 16×2 содержит 16 контактов, которые объединены в следующие функциональные группы:

Служебные контакты (1, 2 и 3) – с их помощью на дисплей подается питание и производится регулировка его контрастности.

Контакты управления (4, 5 и 6) – с помощью этих контактов устанавливаются режимы работы дисплея.

Контакты передачи данных/команд (с 7 по 14) – с помощью этих контактов на дисплей передаются данные для отображения на его экране. Также с их помощью на дисплей можно передавать различные команды. Более подробно об этом написано в статье про подключение ЖК дисплея 16×2 к микроконтроллеру AVR (!!!!!!!!!!!!!!).

Контакты светодиода (15 и 16) – данные контакты используются для включения фоновой подсветки ЖК дисплея (опционально).

Из всех этих 16 контактов только 10 контактов являются обязательными для корректной работы ЖК дисплея, остальные можно оставить неподключенными.

Схема проекта

Схема подключения ЖК дисплея 16×2 к плате MSP430G2 представлена на следующем рисунке.

Схема подключения ЖК дисплея 16×2 к плате MSP430G2Одной из возможных проблем подключения ЖК дисплея 16×2 к плате MSP430G2 может стать проблема с питанием. ЖК дисплей имеет рабочее напряжение +5V в то время как плата MSP430G2 работает только с напряжением 3.6V. К счастью для нас контакты данных ЖК дисплея, работой которых управляет микросхема контроллера дисплея HD44780U, могут работать с широким диапазоном рабочих напряжений – от 2.7V до 5.5V. Поэтому нам стоит побеспокоиться только о контакте Vdd (контакт 2) ЖК дисплея, а его контакты данных смогут работать с напряжением 3.6V.

По умолчанию плата MSP430G2 не содержит контакта +5V, но мы можем сделать небольшой лайфхак чтобы получить это напряжение от USB порта. Если вы внимательно присмотритесь к USB порту, то вы обнаружите на нем контакт TP1 – этот контакт и обеспечивает напряжение +5V. Все, что нам необходимо сделать, это припаять к нему небольшой разъем типа "папа" как показано на следующем рисунке чтобы его можно было потом просто подключать к ЖК дисплею.

Припаивание контакта на плату MSP430G2 для подачи питания на ЖК дисплей

Примечание: не подключайте к этому контакту 5V нагрузку, которая потребляет ток более 50mA, это может повредить ваш USB порт.

Если вы не хотите заморачиваться с припаиванием данного разъема к плате MSP430G2 просто используйте для подачи питания на ЖК дисплей внешний источник питания напряжением +5V, при этом не забудьте подключить общий провод (землю) данного источника питания к общему проводу платы MSP430G2.

Как только вы решите вопрос с подачей питания на ЖК дисплей подключение всех остальных контактов дисплея к плате, как следует из представленной схемы, исключительно прозрачно.

Объяснение кода программы

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты. Программировать плату MSP430G2 мы будем с помощью Energia IDE.

Перед тем как приступать к программированию платы необходимо, прежде всего, изучить контакты платы, которые мы будем использовать. На следующем рисунке представлена распиновка платы MSP430G2.

Распиновка (назначение контактов) платы MSP430G2Схема подключения ЖК дисплея к плате MSP430G2 представлена в следующей таблице.

Контакт ЖК дисплея Контакт платы MSP430G2
Vss Ground
Vdd +5V USB pin
Rs Pin 2 of MSP
R/W Ground
Enable Pin 3 of MSP
D4 Pin 4 of MSP
D5 Pin 5 of MSP
D6 Pin 6 of MSP
D7 Pin 7 of MSP

Первым делом в программе зададим осмысленные имена используемым контактам платы.

Представленная запись обозначает что, к примеру, вместо указания номера контакта 2 мы можем обращаться к нему по заданному нами его условному наименованию, то есть RS. Аналогично и для других 6 контактов.

Далее подключим библиотеку для работы с ЖК дисплеем. Эта библиотека установится автоматически при установке Energia IDE. Поэтому просто подключим ее использование в программе с помощью следующей строчки кода:

Затем объявим объект для работы с ЖК дисплеем, при объявлении которого мы в качестве его параметров укажем контакты платы MSP430G2, к которым подключен ЖК дисплей.

Далее, в функции void setup() инициализируем объект для работы с ЖК дисплеем. Поскольку ЖК дисплеи выпускаются данных размеров, то при его инициализации необходимо явно указать количество его столбцов и строк, то есть в нашем случае это будет 16 и 2.

Чтобы начать что то выводить на экран ЖК дисплея прежде всего необходимо указать позицию на экране, с которой мы начнем этот вывод. Сделаем это с помощью функции lcd.setCursor():

Аналогичным образом мы можем указать и другую позицию для курсора, например:

Если на экране ЖК дисплея уже содержится какая либо информация, то перед новым выводом на него информации желательно очистить его экран с помощью команды:

В результате полный код функции void setup() будет выглядеть следующим образом.

Внутри функции void loop() мы будем инкрементировать число каждые 500 мс и отображать это число на экране ЖК дисплея. Вначале присвоим этому числу значение равное 1.

Для формирования задержки в 500 мс используем функцию delay().

Инкрементировать нашу переменную мы будем с помощью команды test++, все остальные команды в функции void loop() вам уже известны.

Тестирование работы проекта

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

Отображение приветственного сообщения на экране ЖК дисплея 16×2

Через две секунды после этого на экран ЖК дисплея начнет выводиться последовательно увеличивающееся число как показано на следующем рисунке.

Тестирование работы проекта

Более подробно работу проекта вы можете посмотреть на видео, приведенном в конце статьи.

Исходный код программы

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
36 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *