打印
[STM32L0]

学习笔记+STM32L053驱动段式液晶屏

[复制链接]
1073|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cruelfox|  楼主 | 2019-12-29 19:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cruelfox 于 2019-12-31 08:16 编辑

学习资料:(RM0367) STM32L0x3参考手册(Reference Manual)

段式液晶屏,应该是液晶显示技术最古老的应用了。这种屏上的显示像素少,每个像素是如同七段数码管那样的一个笔段,或者一个符号,或者是简单图案。因为这种屏一般都不含驱动电路,信号直接加到液晶的电极上,刷新频率也不高,因此功耗很低。而且大量生产的成本也很低,广泛用在电子钟表、电子计算器、电子秤、智能电表气表、血糖仪……等等小型电器和设备上。

虽然段式液晶屏的显示方式和LED数码管相似,都是以公共端+笔划端构成矩阵扫描动态显示的,但液晶毕竟不是二极管,其一它没有单向导通一说,其二液晶像素要显示时加上去的电压需要是交变信号,不能用固定的直流。于是,用单片机的I/O口直接输出高低电平驱动它是不行的。虽然有现成的单独驱动芯片可以用,从功耗和PCB板级复杂度上考虑,若MCU集成液晶驱动器将是更优的方案。

ST的STM8L STM32L系列某些型号就集成了段式液晶驱动器,我这里使用的是 STM32L053R8T6, 它可以支持最多8个液晶公共端(COM端)扫描驱动。我为它 DIY 了一块测试用的 PCB.


学习手册中的LCD部分,来看看怎么用。首先注意到,LCD设备需要一个单独的时钟 LCDCLK, 它并不是直接用 APB 总线的时钟 PCLK的。我开始并不理解为什么还需要另外的时钟,后来注意到 LCD 可以在STOP模式下工作——在STOP模式,PCLK已经停掉了。所以用另外一个活动的时钟是必须的:液晶必须保持刷新。

于是,芯片设计成和RTC共用一个时钟。从clock tree图上可以看得更清楚。除了LSE, LSI, 还有一个1MHz的时钟可选。

确实段式液晶的刷新率低,32kHz时钟已经够用了。手册给出了配置的例子,按照 1/4 duty 方式(用到4个COM端)配置的寄存器参数就照表格中来填就可以了。


还有一个很重要的参数是 bias,就是确定使用多少种驱动电压。根据我的了解,只用高低两种电压是不可能驱动液晶显示的(除非不扫描),至少要三种电压,即 1/2 bias,多一个中点电压。如果是 1/3 bias,就是四种电压,像下面这个图里面示意的:

液晶驱动的原则是,让要显示的像素两端的(交流)电压(有效值)大,让不显示的像素两端的(交流)电压小。 手册中有这个图来解释:


差不多就可以看寄存器怎么配置了。看起来除了显示用的RAM,就几个寄存器,不复杂。



我不用中断,主要就是配置 CRFCR 两个寄存器。写一段测试代码吧:
        LCD->FCR = 4<<LCD_FCR_PS_Pos|1<<LCD_FCR_DIV_Pos|5<<LCD_FCR_CC_Pos;
  //设置分频器,和升压电荷泵输出的电压
        LCD->CR = LCD_CR_BIAS_1|LCD_CR_DUTY_1|LCD_CR_DUTY_0|LCD_CR_LCDEN;
  //设置 1/3 Bias, 1/4 Duty驱动模式,使能驱动器
        LCD->RAM[0]=0xF0F0;
        LCD->RAM[2]=0x0F0F;
        LCD->RAM[4]=0xAAAA;
        LCD->RAM[8]=0x5555;
  //随便设了一些显示笔画,测试用而已
        LCD->SR = LCD_SR_UDR;        // 写RAM后必须更新才生效


观察一下输出电压波形。下图是 COM0, COM2 两个公共端电压:


SEG0, SEG1 两个笔划端的电压:


接成差分输入,看下显示和不显示的像素两端电压如何不同:


看起来已经正常输出了,找个液晶屏测试一下喽

因为焊接不便,引出的飞线没有全接到液晶屏。

确认了可以可靠显示。


使用特权

评论回复
沙发
mmuuss586| | 2020-1-16 09:46 | 只看该作者
牛,感谢分享

使用特权

评论回复
板凳
xiaoqizi| | 2020-1-17 16:52 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
wakayi| | 2020-1-17 16:55 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
wowu| | 2020-1-17 16:55 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

50

帖子

1

粉丝