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正常的显示 ...
随机推荐
- ABP 04 用户的创建
有这样一个问题,我忘记了密码,查了一下数据那张表,是加密了的,然后就有了这篇文章了. 往后台传的时候,还是传的明文. 请求的地址:/api/services/app/User/Create 用户还是挺 ...
- 可持久化0-1Trie树
我跟可持久化数据结构杠上了 \(QwQ\) .三天模拟赛考了两次可持久化数据结构(主席树.可持久化0-1Trie树),woc. 目录: 个人理解 时空复杂度分析 例题及简析 一.个人理解 可持久化0- ...
- React-HelloWorld
React-HelloWorld 最简单的React示例如下: ReactDOM.render( <h1>Hello,world!</h1>, document.getelem ...
- mac 使用tesseract识别图片中的中文
安装 tesseractbrew install tesseract 加入环境变量export TESSDATA_PREFIX=/usr/local/Cellar/tesseract/4.1.0/sh ...
- HDU图论题单
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- myeclipse的安装与破解
myeclipe安装和破解一直困扰我很长时间,我又是尴尬症的人,不破解就是不行,花费一天时间终于搞定是怎么破解的. 一:首先myeclipse的官方下载网站www.myeclipsecn.com/do ...
- window.showModelessDialog传值
参数传递:1. 要想对话框传递参数,是通过vArguments来进行传递的.类型不限制,对于字符串类型,最大为4096个字符.也可以传递对象,例如:------------------------ ...
- 使用MeadCo's ScriptX控件做WEB打印
官方网址:http://www.meadroid.com/scriptx/index.asp MeadCo's ScriptX控件有两种使用方式,一种是做为免费版本使用,一种是做为收费版本使用,免费版 ...
- 1045-Access denied for user 'root'@'localhost'解决方法
1.出现这个问题的原因之一是权限的问题,也就是说你的电脑可能没有权限访问mysql数据库. 讲道理这种情况其实基本上不该遇到,因为我们在安装mysql之后,root其实是有最高权限的,而且很少会有人去 ...
- Mercurial 安装及使用
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/moonspiritacm/articl ...