STM8L052C6T6液晶LCD驱动过程
首先还是必要的说明,鄙人经验有限,如发现问题还请不吝赐教,反馈到邮箱mr.li.ming@qq.com
使用的液晶屏

单片机引脚

液晶的COM1-COM4分别对应单片机LCD_COM0-LCD_COM3
默认LSI(内部低速时钟)是打开的,一般不操作,如果被关闭了,要先打开LSI。
所以先看看程序
void LCD_GLASS_Init(void)
{
/* Enable LCD/RTC clock */
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//打开RTC时钟
CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE);//打开LCD时钟
CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);//设置RTC时钟源 /* Initialize the LCD */
LCD_Init( LCD_Prescaler_1,//
LCD_Divider_31, //
LCD_Duty_1_4, //使用的4个COM所以是1/4
LCD_Bias_1_3, //
LCD_VoltageSource_Internal);//内部电压源 LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0x08);//SEG11 0X08
LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0x3C);//SEG18,SEG19,SEG20,SEG21 0X3C /* To set contrast to mean value */
LCD_ContrastConfig(LCD_Contrast_3V1);//设置对比度
LCD_DeadTimeConfig(LCD_DeadTime_0);//设置死区时间
LCD_PulseOnDurationConfig(LCD_PulseOnDuration_1);//设置停留时间 /* Enable LCD peripheral */
LCD_Cmd(ENABLE);//使能驱动
}
配置---哪些段被用来驱动LCD。
板上使用了PA4,PA5,PA6,PD1四个COM,PB1,PD4,PD5,PD6,PD7五个SEG
PB1 - SEG11
PD4 - SEG18
PD5 - SEG19
PD6 - SEG20
PD7 - SEG21
LCD_PortMaskConfig(LCD_PortMaskRegister_0, 0x00);//SEG0-7没有使用
LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0x08);//SEG11 0X08
LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0x3C);//SEG18,SEG19,SEG20,SEG21 0X3C
然后在对应的位置写1显示写0清除,比如下面的清屏
void LCD_GLASS_Clear(void)
{
uint8_t counter = 0;
for (counter = 0; counter <= LCD_RAMRegister_13; counter++)
{
LCD->RAM[counter] = 0x00;
}
}
要是想全部显示看看段码都有没有坏,就把清屏的修改一下
void LCD_GLASS_Check(void)
{
uint8_t counter = 0;
for (counter = 0; counter <= LCD_RAMRegister_13; counter++)
{
LCD->RAM[counter] = 0xff;
}
}
下面着重记录一下踩过的坑:
LCD_Init();函数里面的最后一个参数是LCD_VoltageSource_Internal还是LCD_VoltageSource_External
官方STM8L-DISCOVERY的原理图上
R25这个0R电阻没有焊接,所以代码里使用的是LCD_VoltageSource_Internal
如果焊接了,代码里就要使用LCD_VoltageSource_External
STM8L052C6T6液晶LCD驱动过程的更多相关文章
- 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (九): 软件SPI和硬件SPI驱动ST7789V液晶LCD
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (十一): 软件SPI和硬件SPI驱动ST7567液晶LCD
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- sc7731 Android 5.1 LCD驱动简明笔记之二
此篇笔记基于sc7731 - android 5.1,对lcd的framebuffer做一个简明笔记. 一共分为两大部分:第一部分,关于LCD的硬件方面的:第二部分,关于lcd核心处理(framebu ...
- android系统平台显示驱动开发简要:LCD驱动调试篇『四』
平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...
- 【转】Android LCD(四):LCD驱动调试篇
关键词:android LCD TFTSN75LVDS83B TTL-LVDS LCD电压背光电压 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台 ...
- 【电子基础】液晶显示器原理·LCD驱动基础
LCD显示器概述 ——>液晶显示器,LCD为英文 Liquid Crystal Display的缩写,它是一种数字显示技术,可以通过液晶和彩色过滤光源,并在平面面板上产生图像. ——&g ...
- Smart210学习-----lcd驱动
帧缓冲设备 1.1帧缓冲设备:帧缓冲(framebuffer)是 Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行 ...
- S3C2440 LCD驱动(FrameBuffer)实例开发<一>(转)
1. 背景知识 在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义! LCD工作的硬件需求:要使一块LCD正常的显示 ...
随机推荐
- navicat提示无法连接解决办法
1.错误如下图: 2.这个是由于mysql中user表中未设置允许该ip访问导致,解决办法: 1)查下user表:select user,host from user; 这张表就是mysql.user ...
- attempt to call method 'getDataString' (a nil value)
错误: LUA ERROR: [: attempt to call method 'getDataString' (a nil value) 在合并cocos和quick的时候,在EventCusto ...
- unity:坐标变换 - 两个函数
在cocos中,我们知道有如下的坐标变换函数: CCPoint convertToNodeSpace(const CCPoint& worldPoint);CCPoint convertToW ...
- [原创]Android Monkey测试工具使用介绍
[原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...
- Google Dremel架构
Dremel 是Google 的“交互式”数据分析系统.Google开发了Dremel将处理时间缩短到秒级,作为MapReduce的有力补充.Apache推出Dremel的开源实现Drill,将Dre ...
- Element + Vue I18n动态import加载国际化语言包翻译文件
需求 项目为多页应用,包含产品a.b.c.d.e,每个产品都有自己的翻译文件.一次加载所有翻译文件是极度不合理的.于是考虑动态加载. 实现 参考官方文档:延迟加载翻译 项目结构 │ ├── dist ...
- 在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据
在.Net Core 3.0中 内置了一套Json序列化/反序列化方案,默认可以不再依赖,不再支持 Newtonsoft.Json. 但是.NET Core 3.0 System.Text.Jso ...
- PHP系列 | PHPexcel导入xls格式 ,提示错误:iconv(): Wrong charset, conversion from `CP936' to `UTF-8' is not allowed
导入xls格式(2003版本)时会报错提示错误信息 iconv(): Wrong charset, conversion from `CP936' to `UTF-8' is not allowed[ ...
- 013 mint-ui
一:概述 1.中文文档 https://mint-ui.github.io/#!/en 2.安装包 二:mt-button的使用 主要是介绍css-component 1.程序 在App.vue下面写 ...
- ES技巧
2, 统计字段b的不同值的数量 {"size":0,"aggs":{"distinct_colors":{"cardinality ...