芯课堂 | 华芯微特段码屏驱动

芯课堂 | 华芯微特段码屏驱动_第1张图片

段码屏简介

段码液晶显示屏简称段码屏(LCD SEGMENT DISPLAY)。本文以如下图数字显示的段码屏(YR1213)为例,从初学者的角度,分析一个段码屏的驱动原理。

芯课堂 | 华芯微特段码屏驱动_第2张图片

段码屏的特点:

每个显示单元单独控制。例如一个数字分成A、B、C、D、E、F、G 7个显示单元,一个小数点为一个单独的显示单元。这样的定义方式,方便开发者在开发时定位显示单元的位置。如显示数字1,将单元B、C驱动显示即可,显示数字2,驱动A、B、G、E、D显示即可。

芯课堂 | 华芯微特段码屏驱动_第3张图片 

控制的原理与驱动方式:

每个独立的显示单元,通过控制两端的电压实现控制显示。

以3.3v显示屏为例,如果COM、SEG端压差为3.3v则COM显示,如果压差为0V 则不显示;(注意:使用交流电驱动(采用方波),直流可能会导致液晶屏损坏)。

芯课堂 | 华芯微特段码屏驱动_第4张图片

芯课堂 | 华芯微特段码屏驱动_第5张图片

为什么把显示单元的两端分为COM和SEG端?了解完驱动方式可知答案。 

驱动方式一般有两种

l 静态驱动:

一般是在 COM 口加一恒定的交变方波信号,通过控制 SEG 的电压变化而在 LCD 间产生所需的 0 电压或两倍幅值的交变电压,达到对 LCD 进行亮灭的控制。这样一个七段的LCD就需要 8 个口进行驱动。

l l 时分割驱动方式:

当显示字段增多时,为了减少引出线和驱动回路数,就要采用时分割驱动方式。时分割驱动方式通常采用电压平均化法,其占空比用 1/2、1/4、1/8、1/16、1/32 等,偏比有 1/2、1/3、1/4、1/5 等,其分母数字越大,则其清晰度越高。

芯课堂 | 华芯微特段码屏驱动_第6张图片

1/4DUTY和1/3BIAS驱动模式波形

按照时分割方式驱动,驱动此段码屏就只需要四个COM和8个seg,31个显示单元就只需要12个PIN脚进行驱动。 芯课堂 | 华芯微特段码屏驱动_第7张图片

按照屏幕手册提供的”坐标”信息,可以知道具体的显示单元受哪个COM和SEG控制,例如第一个数字显示为1,则选通1B 1C,设置1B对应的公共电极端COM3,选通电极的端为第六脚。 

芯课堂 | 华芯微特段码屏驱动_第8张图片 

 坐标图

SWM 241 段码屏驱动编写

SWM241系列所有型号SLCD控制模块操作均相同,使用前需使能SLCD控制模块时钟, 并通过设置PA15输出高电平开启SLCD电源域。最大支持4COM*32SEG驱动(不同封装有差异),支持偏压(BIAS)、占空比(DUTY)、帧率、配置。

以上文YR1213型号为例,根据SWM241 库开发,编写 4COM,8SEG段码屏驱动:首先根据屏幕手册确定屏幕的工作电压,确认PCB连线方式。

以一下SWM241与屏幕脚位连接方式为例:

芯课堂 | 华芯微特段码屏驱动_第9张图片 

第一步:华芯微特SWM241数据手册,确定SWM241 COM与SEG驱动口功能、屏幕COM SEG的功能,为避免顺序混乱,定义为宏方便修改连线方式。 

 芯课堂 | 华芯微特段码屏驱动_第10张图片

第二步:设置PA15输出高电平开启SLCD电源域

图片

第三步:配置LCD的GPIO功能

芯课堂 | 华芯微特段码屏驱动_第11张图片

第四步:设置驱动参数初始化并打开驱动模块

图片

驱动参数详解:

Duty:占空比:  SLCD_DUTY_1DIV4   SLCD_DUTY_1DIV3

Bias:偏置模式:SLCD_BIAS_1DIV3    SLCD_BIAX_1DIV2

FrameFreq:帧频率: 

SLCD_FRAMEFREQ_488Hz 

SLCD_FRAMEFREQ_244Hz 

SLCD_FRAMEFREQ_122Hz 

SLCD_FRAMEFREQ_61Hz

Duty在屏幕的数据手册中会给出,SLCD_DUTY_1DIV4 为1/4,

Bias在屏幕的数据手册中会给出, SLCD_BIAS_1DIV3  为1/3

FrameFreq:根据需要的刷新频率设定,可调整看显示效果,无拖影显示效果明显即可。

第五步:点亮屏幕测试效果

点亮所有显示单元,测试所有单元显示有效:

图片

完成以上五步,查看显示

第六步:根据“坐标图“,自定义显示数据

 例如显示 1.1.1.1

芯课堂 | 华芯微特段码屏驱动_第12张图片

芯课堂 | 华芯微特段码屏驱动_第13张图片

你可能感兴趣的:(单片机,嵌入式硬件)