一文学会LCD12864显示中文、英文、反显 |
您所在的位置:网站首页 › 液晶显示数字是什么字体 › 一文学会LCD12864显示中文、英文、反显 |
1、基本原理
驱动LCD其实就是往LCD的显存写数据,写1的地方显示,写0的地方不显示,反显刚好相反;由于显存以128列、64行分布,所以也称12864液晶。 2、基本特性工作电压 3.3V,背光电压 3.0V\45MA 通讯方式; 8 位并行(6800 和 8080 时序),4 线串行通讯 12864; 点阵显示器内存(DDRAM 为 13265) ; 显示对比度,内部寄存器调节(软件调对比度); 占空比 1/64 偏压比 1/9; 工作温度 -20 到+70 度。 3、显存映射
本文使用GD32驱动LCD。 10.1、io口定义以及初始化 #define LCD_SCL_PORT GPIOB #define LCD_SCL_PIN GPIO_PIN_6 #define LCD_SDA_PORT GPIOB #define LCD_SDA_PIN GPIO_PIN_7 #define LCD_CSB_PORT GPIOB #define LCD_CSB_PIN GPIO_PIN_11 #define LCD_RST_PORT GPIOC #define LCD_RST_PIN GPIO_PIN_11 #define LCD_A0_PORT GPIOC #define LCD_A0_PIN GPIO_PIN_13 #define LCD_BKLED_PORT GPIOA #define LCD_BKLED_PIN GPIO_PIN_6 #define LCD_CMD 1 #define LCD_DATA 0 #define PORT(port) LCD_##port##_PORT #define PIN(pin) LCD_##pin##_PIN #define LCD_PIN_OUT(pin,level) { if(level) \ { gpio_bit_set(PORT(pin),PIN(pin));} \ else \ { gpio_bit_reset(PORT(pin),PIN(pin));} \ } void LcdIoInit(void) { rcu_periph_clock_enable(RCU_GPIOA); rcu_periph_clock_enable(RCU_GPIOB); rcu_periph_clock_enable(RCU_GPIOC); gpio_init(LCD_SCL_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LCD_SCL_PIN); gpio_init(LCD_SDA_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LCD_SDA_PIN); gpio_init(LCD_CSB_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LCD_CSB_PIN); gpio_init(LCD_RST_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LCD_RST_PIN); gpio_init(LCD_A0_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LCD_A0_PIN); gpio_init(LCD_BKLED_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, LCD_BKLED_PIN); LCD_PIN_OUT(BKLED,1); } 10.2、LCD写 /* ismcd:高为数据,低为指令 */ static void LcdWrite(uint8_t iscmd ,uint8_t data) { uint8_t i; LCD_PIN_OUT(CSB,0); if(iscmd) { LCD_PIN_OUT(A0,0); } else { LCD_PIN_OUT(A0,1); } for(i=0;i>0)&0x0f)+0x00); //设置列地址的低4 位 } 10.4、LCD清屏清屏,就是向显存写入0,即不显示。 /*全屏清屏*/ void LcdClearScreen(void) { uint8_t i,j; for(i=0;i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |