Добавить в корзинуПозвонить
Найти в Дзене
Автомеханик

Подключаем LCD на HD44780 через I2C расширитель PCF8574 к микроконтроллеру msp430

Как можно подключить ЖК-дисплей на контроллере hd44780 к launchpad, если необходимо на одни и те же выводы «повесить» различные функции.
Решение лежит близко к поверхности, вариант 1 — это использование сдвигового регистра 74hc595, вариант 2 — использование специального «расширителя портов» pcf8574, на деле являющимся контроллером ввода/вывода, управляемого по шине I2C. Чтобы «поиграться», был

Как можно подключить ЖК-дисплей на контроллере hd44780 к launchpad, если необходимо на одни и те же выводы «повесить» различные функции.

Решение лежит близко к поверхности, вариант 1 — это использование сдвигового регистра 74hc595, вариант 2 — использование специального «расширителя портов» pcf8574, на деле являющимся контроллером ввода/вывода, управляемого по шине I2C. Чтобы «поиграться», был куплен вариант готово платы с pcf8574

«Чумазая» от флюса плата, была промыта и покрыта лаком «plastic»

Поиск в интернетах рабочего примера привёл на сайт, где готовый модуль на pcf8574 использовался для подключения индикатора на hd44780, однако только ни один из найденных вариантов не работал. Следствие показало, что во всех вариантах распайка модуля отличалась от моего, соответственно после «прозвонки» контактов выявилась такая картина подключения дисплея к «расширителю» pcf8574:

LCD D4 -> P4

LCD D5 -> P5

LCD D6 -> P6

LCD D7 -> P7

LCD RS -> P0

LCD RW -> P1

LCD EN -> P2

На выводе P3 контроллера pcf8574 -управление подсветкой дисплея, как следствие — существует возможность программно управлять подсветкой.

Адресация контроллера pcf8574. На плате установлен контроллер без индекса «А», согласно даташиту ее базовый адрес 0х40, у контроллера pcf8574 I2C-адрес определяется логическими уровнями на выводах A0-A1. По умолчанию, если не запаивать перемычки на плате, то на всех этих выводах присутствует логическая единица. Это означает, что контроллер pcf8574 имеет вот такой адрес: 0b01001110 = 0x4E.

Реализация отправки данных по I2C отличается от приведённой в примерах для контроллера (будем использовать второй контроллер из комплекта launchpad, — msp430g2452 и его встроенный последовательный интерфейс USI)

Остальное — дело техники, реализован необходимый минимум методов, время испытать библиотеку в железе!