Здесь мы рассматриваем четырех проводную систему подключения, это нам позволит сэкономить порты микроконтроллера
Как подключить питание можно посмотреть в Datasheet здесь
Теперь когда мы все подключили, начнем это дела запускать.
Для начала нам понадобиться библиотека для работы с дисплеем,
качаем ее здесь для STM32F1xx или здесь для STM32F051
так же не забываем про Delay
В Header файле нам надо всего лишь указать к каким портам подключен порт служебных линий и порт данных
/*************************************************
* Здесь ручками установим порты подключения LCD *
*************************************************/
#define PORT_RS_RW_EE GPIOC //Порт подключения служебных линий
#define PORT_DATA GPIOC //Порт подключения шины данных 4bit
#define INT_PORT_RS_RW_EE RCC_APB2Periph_GPIOC //Порт подключения служебных линий, шины тактирования
#define INT_PORT_DATA RCC_APB2Periph_GPIOC //Порт подключения шины данных 4bit, шины тактирования
#define RS GPIO_Pin_0 //Служебная шина RS
#define RW GPIO_Pin_1 //Служебная шина RW
#define EE GPIO_Pin_2 //Служебная шина E
#define D4 GPIO_Pin_3 //Шина данных D4
#define D5 GPIO_Pin_4 //Шина данных D5
#define D6 GPIO_Pin_5 //Шина данных D6
#define D7 GPIO_Pin_6 //Шина данных D7
/*********************************************************************************************************/
Теперь простенький код для LCD
LCD_INIT(); //Инициализация LCD
LCD_PUT("Hello World"); //Вывод на дисплей Hello World
Да, не забываем инициализировать дисплей
Вот собственно, что получилось.
Если вы посмотрите header файл там можно будет найти следующие функции
/*******************************Функции для работы с дисплеем*********************************************/
void PORT_INIT(void); //Инициализация Портов работы с LCD
void LCD_INIT(void); //Инициализирует LCD: 2строки по 16 символов, 4bit шина данных,
void LCD_CLEAR(void); //Очистка экрана
void LCD_GOTO(uint8_t x, uint8_t y); //Перевод курсора в нужное положение
void LCD_PUT(char *STR); //Вывод на экран Символов
void LCD_COMMAND(uint8_t byte); //Отправка каманд по 4бита
void WRIGHT_HALF_BYTE(uint8_t byte); //Запись полубайта
void LCD_SEND_DATA(uint8_t data); //отправка данных в LCD (код ASCII)
/********************************************************************************************************/
Вот и все что хотел сказать по этой теме, если есть вопросы, пишите.