6. 屏模块通信
6.1 8080 通信
1.9 寸液晶模组支持 8080 8-bit 并口通信,使用 13 条信号线(DB[7:0] + RD + WR + RS + CS + RESET)。
8080 通信连接图
8080 通信连接图
8080 通信原理图
8080 通信原理图
点亮屏流程
点亮屏流程
屏需要初始化驱动 IC 后才能正常显示。8080 模式下需按照 ST7789V 初始化序列配置寄存器,包括退出睡眠、行列扫描顺序、RGB 图像数据格式、Gamma 校正等,之后即可写入帧缓冲区数据进行显示。
6.2 SPI 通信
SPI 模式下使用 4 线 SPI(CS、SCL、SDA、RS),通过设置 IM1=1, IM2=1 切换到 SPI 模式。
SPI 驱动程序示例
void spi_send_byte(uint8_t data) {
LCD_CS_LOW;
LCD_DC_HIGH; // 数据
// 硬件 SPI 发送
while (spi_i2s_flag_get(SPIx, SPI_I2S_RDBF_FLAG) == RESET);
spi_i2s_data_transmit(SPIx, data);
while (spi_i2s_flag_get(SPIx, SPI_I2S_BF_FLAG) != RESET);
LCD_CS_HIGH;
}
void lcd_wr_command(uint8_t cmd) {
LCD_CS_LOW;
LCD_DC_LOW; // 命令
spi_i2s_data_transmit(SPIx, cmd);
while (spi_i2s_flag_get(SPIx, SPI_I2S_RDBF_FLAG) == RESET);
LCD_CS_HIGH;
}
void lcd_wr_data(uint8_t data) {
LCD_CS_LOW;
LCD_DC_HIGH;
spi_i2s_data_transmit(SPIx, data);
while (spi_i2s_flag_get(SPIx, SPI_I2S_RDBF_FLAG) == RESET);
LCD_CS_HIGH;
}
SPI 初始化序列(ST7789V)
void lcd_spi_init(void) {
LCD_RESET_HIGH; delay_ms(200);
LCD_RESET_LOW; delay_ms(200);
LCD_RESET_HIGH; delay_ms(800);
lcd_wr_command(0x11); // 退出睡眠
delay_ms(120);
lcd_wr_command(0x36); lcd_wr_data(0x00); // 行列扫描顺序
lcd_wr_command(0x3A); lcd_wr_data(0x55); // RGB565 格式
lcd_wr_command(0xB2); lcd_wr_data(0x1F); lcd_wr_data(0x1F);
lcd_wr_data(0x00); lcd_wr_data(0x33); lcd_wr_data(0x33);
lcd_wr_command(0xB7); lcd_wr_data(0x73); // Gate Control
lcd_wr_command(0xBB); lcd_wr_data(0x1E); // VCOM Setting
lcd_wr_command(0xC0); lcd_wr_data(0x2C); // LCM Control
lcd_wr_command(0xC2); lcd_wr_data(0x01);
lcd_wr_command(0xC3); lcd_wr_data(0x13); // VRH Set
lcd_wr_command(0xC4); lcd_wr_data(0x20); // VDV Set
lcd_wr_command(0xC6); lcd_wr_data(0x0F); // Frame Rate
lcd_wr_command(0xD0); lcd_wr_data(0xA4); lcd_wr_data(0xA1);
// Gamma 校正
lcd_wr_command(0xE0); lcd_wr_data(0xF0); lcd_wr_data(0x0C); /* ... 14 bytes */;
lcd_wr_command(0xE1); lcd_wr_data(0xF0); lcd_wr_data(0x17); /* ... 14 bytes */;
lcd_wr_command(0x21); // 颜色翻转
lcd_wr_command(0x29); // 开启显示
LCD_BL_LOW; // 点亮背光
}
完整驱动程序示例代码(含 lcd_setblock、lcd_drawpoint、lcd_clear、lcd_display_image、show_ch 等函数)请参阅完整 PDF 数据手册。

