STM32F4. Урок 34 - Підключення символьного LCD-дисплея 16х2 (HD44780)
Ця бібліотека використовується для управління символічним ЖК-дисплеєм розміром 16х2 символів. Програмний код сумісний з чіпами: ST7066U, HD44780, SED1278, KS0066U та S6A0069X.
Дисплей працює в 4-бітному режимі. Для передачі даних використовуються 6 GPIO-виводів. У C-файлі, за бажанням, можуть бути встановлені будь-які вільні виводи (автор використовував PE5-PE10).
Приклад роботи:
Використовувані піни:
PE5 -> LCD_RS
PE6 -> LCD_E
PE7 -> LCD_DB4
PE8 -> LCD_DB5
PE9 -> LCD_DB6
PE10 -> LCD_DB7
Необхідні бібліотеки:
Підключувані модулі CooCox-IDE: GPIO
Підтримувані бібліотеки: відсутні
Перерахування:
typedef enum { TLCD_OFF =0, // Дисплей=off, Курсор=off, Миготіння=off TLCD_ON, // Дисплей=on, Курсор=off, Миготіння=off TLCD_Cursor, // Дисплей=on, Курсор=on, Миготіння=off TLCD_BLINK // Дисплей=on, Курсор=on, Миготіння=on }TLCD_MODE_t;
Функції:
void UB_LCD_2x16_Init(void); // ініціалізація дисплея void UB_LCD_2x16_Clear(void); // очищення дисплея void UB_LCD_2x16_SetMode(TLCD_MODE_t mode); // встановлення режиму роботи дисплея void UB_LCD_2x16_String(uint8_t x, uint8_t y, char *ptr); // вивід рядка на дисплей з координатами x,y
Приклад використання:
//-------------------------------------------------------------- // Файл : main.c // Дата : 17.04.2013 // Версія : 1.0 // Автор : UB // EMail : mc-4u(@)t-online.de // Веб : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.0 // Модуль : CMSIS_BOOT, M4_CMSIS_CORE // Функція : Демонстрація бібліотеки LCD-2x16 // Примітка : Ці два файли повинні бути на 8MHz // "cmsis_boot/stm32f4xx.h" // "cmsis_boot/system_stm32f4xx.c" //-------------------------------------------------------------- #include "main.h" #include "stm32_ub_lcd_2x16.h" int main(void) { SystemInit(); // Ініціалізація налаштувань кварца // Ініціалізація ЖК-дисплея UB_LCD_2x16_Init(); // Друк тексту в першому рядку UB_LCD_2x16_String(0,0,"LCD 2x16 STM32F4"); // Друк тексту в першому рядку UB_LCD_2x16_String(3,1,"Discovery"); while(1) { } }
У додатку проект CooCox і окрема бібліотека для використання в інших проектах. Автор оригінальної статті просить задавати питання на його сайті німецькою або англійською мовами.
Прикріплені файли:
- ub_stm32f4_lcd_2x16_rus.rar (4 Кб)
- Demo_34_LCD_2x16_rus.rar (148 Кб)