R9AL |
2020 /
STM32:
Подключение индикатора LCD1602 к stm32 по четырем проводам
Алгоритм работы с дисплеем получается следующий:
Выставляем на выводе RS 1 или 0 в зависимости от того, что мы хотим передать (команду или сообщение)
Отправляем в дисплей старший полубайт
Дергаем вывод enable
Отправляем в дисплей младший полубайт
Дергаем вывод enable
Схема:
Для того чтобы начать что-то выводить на дисплей его нужно сначала инициализировать, иначе диплей просто не будет понимать, что мы от него хотим. В этом поможет даташит, в котором написаны все команды для дисплея.
Для инициализации нужны только 3 команды:
Выбор числа линий , ширина, шины и размера символа. Эта команда у будет выглядеть так - 00101000. после этой команды у дисплея ширина данных будет 4 бита, 2 строки и размер символа 5x8 точек.
Настройка режима отображения. 00001100. Отключается курсор и его мигание, включается дисплей.
Очистка экрана. 00000001. Просто очистка дисплея.
Работать это будет так. Ставим вывод RS в ноль, отправляем старший полубайт, дергаем вывод enable, отправляем младший полубайт, дергаем вывод enable. Со следующими командами тоже самое.
Код инициализации. Прежде чем его использовать, нужно для начала в настроить пины, которые использует дисплей выставить в режим gpio output. Этот кусочек кода должен находиться вне цикла и выполняться только один раз (в начале программы).
В конце статьи есть ссылка на библиотеку. В ней уже реализованы некотрые функции, для удобной работы с дисплеем, а именно:
LCD_init() - инициализация дисплея
LCD_print() - вывод символа
LCD_printStr() - вывод строки
lcd_printInt() - вывод числа типа Integer
LCD_clear() - очистка дисплея
Lcd_setCursor() - установка дисплея по нужным координатам
Чтобы использовать библиотеку необходимо файл lcd.h поместить в в ваш проект в папку Inc, а файл lcd.c в папку Src. После этого в файле main.c подключить библиотеку (#include "lcd.h"). теперь можно использовать функции библиотеки. После загрузки прошивки в STM необходимо перезагрузить контроллер, для корректного отображения информации на дисплее.