本帖最后由 lbbook 于 2022-3-1 00:49 编辑
1、液晶显示模块简介
LM6059BCW图形显示模块
主要参数如下
分辨率:128 x 64
接口:并口/串口
电压:3.3V
工作温度:-20°C~70°C
外形尺寸:50.9mm x 40.9mm x 8.7mm
视窗:37.0mm x 28.0mm
官方显示效果如下:
实物正反面如下图(旧实验板上拆下来的):
2、液晶显示模块接线
由于之前在STM32F103平台上已经移植过GPIO模拟串口驱动LM6059,因此这里也采用了IO模拟串口的方法。首先将LCD模块和开发板连接起来。
序号
|
GD32L233C
|
LM6059
|
功能
|
1
|
PB4
|
CS
|
片选
|
2
|
PB5
|
RES
|
复位
|
3
|
PB6
|
A0
|
区分显示数据和控制命令
|
4
|
PB7
|
SCL
|
串口时钟
|
5
|
PB8
|
SI
|
串口数据
|
6
|
3V3
|
VDD
|
模块电源正极3.3V
|
7
|
GND
|
VSS
|
模块电源地
|
3、液晶显示模块程序
3.1 初始化GPIO
/* enable the GPIO clock */
rcu_periph_clock_enable(RCU_GPIOB);
/* configure GPIO pin */
gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8);
/* reset GPIO pin */
gpio_bit_reset(GPIOB, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8);
3.2 初始化IO状态
SET_LCD_CS();
SET_LCD_A0();
SET_LCD_CLK();
SET_LCD_MOSI();
3.3 复位
SET_LCD_RST();
CLR_LCD_RST();
delay_1ms(1); //保持低电平至少2.5uS
SET_LCD_RST();
delay_1ms(1); //重启后最多2.5uS就可以正常工作
3.4 初始化
SdCmd(0xab); //new
SdCmd(0xaf); // display on
SdCmd(0x40); // display start line=0
SdCmd(0xc8); // Common output mode select= reverse
SdCmd(0xa6); // normal display
SdCmd(0xa4); // Duisplay all point = off
SdCmd(0xa3); // LCD bias = 1/9 a2
SdCmd(0x2f); // Power control = all on
SdCmd(0x25); // Rab Ratio 26
SdCmd(0x81); // E-Vol setting
SdCmd(0x1A); // (2byte command)Parameter.ContrastLevel
3.5 显示Hello World!
initLCDM();
LCD_Display_12_12(0,16,(unsigned char *)"Hello World!");
LCD_DrawLine(8,4,59,4); //Y轴
LCD_DrawLine(57,2,57,124); //X轴
LCD_Display_4_5(59,6,"0"); //0
WriteScreen(DisplayBuffer);
3.6 移植要点
主要就是5个GPIO的初始化,以及注意复位的延时时间。时序一般没有问题,也可对照下图检查一遍。
另外还有一个就是一般都是修改一个显示数组,但是如果没有将显示数组上传到模块的话是不会显示出来的。这个要注意,否则像我一样改了半天都没显示出来,还以为自己移植错误或者液晶模块损坏了,毕竟是拆机件。
附上部分程序:
LCD.c
(10.63 KB, 下载次数: 21)
LCD.h
(4.11 KB, 下载次数: 20)
font12x12.c
(7.09 KB, 下载次数: 17)
font12x12.h
(404 Bytes, 下载次数: 16)
font4x5.c
(1 KB, 下载次数: 16)
font4x5.h
(201 Bytes, 下载次数: 15)
|