要将 LCD1602 与 STM32F103 连接,需要使用以下引脚:

| LCD1602 引脚 | STM32F103 引脚 | |---|---| | VSS | GND | | VDD | +5V | | VO | 可变电阻器(10kΩ)与 GND 连接 | | RS | PB0 | | RW | GND | | E | PB1 | | D0-D7 | 不使用 | | A | +5V | | K | GND |

其中,RS、RW 和 E 引脚连接到 STM32F103 的 GPIO 引脚,可以通过 STM32 的编程来控制它们。VO 引脚连接到一个可变电阻器,可以通过调节电压来控制 LCD 的对比度。A 和 K 引脚连接到 +5V 和 GND,分别提供正极和负极电源。

在 STM32 的程序中,需要定义 GPIO 引脚并进行初始化。例如:

#include "stm32f10x.h"

#define RS_PIN GPIO_Pin_0
#define E_PIN GPIO_Pin_1
#define RS_PORT GPIOB
#define E_PORT GPIOB
#define LCD_PORT GPIOB

void lcd_init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

    GPIO_InitStruct.GPIO_Pin = RS_PIN | E_PIN;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStruct);
}

void lcd_send_cmd(uint8_t cmd)
{
    GPIO_ResetBits(RS_PORT, RS_PIN);
    GPIO_Write(GPIOB, cmd);
    GPIO_SetBits(E_PORT, E_PIN);
    delay(1);
    GPIO_ResetBits(E_PORT, E_PIN);
}

void lcd_send_data(uint8_t data)
{
    GPIO_SetBits(RS_PORT, RS_PIN);
    GPIO_Write(GPIOB, data);
    GPIO_SetBits(E_PORT, E_PIN);
    delay(1);
    GPIO_ResetBits(E_PORT, E_PIN);
}

void lcd_clear(void)
{
    lcd_send_cmd(0x01);
}

void lcd_init(void)
{
    lcd_send_cmd(0x38);
    lcd_send_cmd(0x0C);
    lcd_send_cmd(0x06);
    lcd_send_cmd(0x01);
}

void lcd_display_string(char *str)
{
    while(*str)
    {
        lcd_send_data(*str++);
    }
}

在这个例子中,我们使用 GPIOB0 和 GPIOB1 引脚来控制 LCD 的 RS 和 E 引脚,使用 GPIOB10 到 GPIOB15 引脚来控制 LCD 的 D0 到 D7 引脚。在 lcd_init() 函数中,我们发送了一些初始化命令,以便正确配置 LCD。lcd_send_cmd()lcd_send_data() 函数用于向 LCD 发送命令和数据,lcd_clear() 函数用于清除 LCD 屏幕,lcd_display_string() 函数用于在 LCD 屏幕上显示字符串。

STM32F103 连接 LCD1602 显示屏教程

原文地址: https://www.cveoy.top/t/topic/lJIk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录