附上一小段代码:

void LCD_init(void)
{
// 产生一个让LCD复位的低电平脉冲
//LCD_RST = 0;
GPIO_WriteLow(LCD_PORTG, LCD_RST);
delay_1us();

//LCD_RST = 1;
GPIO_WriteHigh(LCD_PORTG, LCD_RST);

// 关闭LCD
//LCD_CE = 0;
GPIO_WriteLow(LCD_PORTG, LCD_CE);
delay_1us();
// 使能LCD
// LCD_CE = 1;
GPIO_WriteHigh(LCD_PORTG, LCD_CE);
delay_1us();

LCD_write_byte(0x21, 0);// 使用扩展命令设置LCD模式
LCD_write_byte(0xc8, 0);// 设置偏置电压
LCD_write_byte(0x06, 0);// 温度校正
LCD_write_byte(0x13, 0);// 1:48
LCD_write_byte(0x20, 0);// 使用基本命令
LCD_clear(); // 清屏
LCD_write_byte(0x0c, 0);// 设定显示模式,正常显示

// 关闭LCD
//LCD_CE = 0;
GPIO_WriteLow(LCD_PORTG, LCD_CE);

}

LCD_write_byte(0xc8, 0); // 设置偏置电压   设置对比度。加上面那段代码显示终于正常了。

STM8库操作比起寄存器要方便很多。

代码移植也很方便,例程参考风驰STM8。

这次点亮5110有以下收获。

1,在中文取字软件中最好用“PCtoLCD2002” ,请看:https://wenku.baidu.com/view/8552cf48fe4733687e21aa51.html

字宽与字高要设置12*12,否则显示不正常

2,static const char write_chinese[][24]={} 数组的定义要用“static const char”来表示。否则编译不能通过。

STM8操作LCD5110总结-LMLPHP

下一步用I2C总线做个收音机,继续学习

05-02 13:48