2.0 GN1621A-段码屏LCD

一、综述

  段码液晶屏是早期液晶显示屏开始应用时的主要类型,目的是替代LED数码管,因为原理简单、成本低,直到现在还在广泛的应用。它区别于点阵屏,段码屏上的内容一般需要找厂家定制,一旦屏幕制作完成,显示的内容就无法更改。这相对于点阵屏是一个劣势,点阵屏可以随心所欲的显示要展现的内容。
  段码屏中有很多个段,有32x4、32x8、64x4、64x8等等,以32x4为例,说明该屏可以点亮128个段,每个段经过厂家制作成不同的形状,例如把第0段制作成左上角的“蓝牙”图标,把第59段制作成右上角的“电池”图标,通过程序点亮第0段和第59段,屏幕上就会在左上角显示“蓝牙”图标和在右上角显示“电池”图标。一旦屏幕制作完成,每个段和其对应的位置与形状就无法改变了,屏包含的段越多,可以显示的内容就越多。

二、LCD显示原理

  LCD的显示原理比较简单,它在电场的作用下晶体的排列方向会发生扭转,因而改变其透光性,从而可以看到显示内容。LCD有一个扭转阈值,当两端电压高于此阈值时,显示内容,低于此阈值时,不显示。通常有3个参数:工作电压、Duty(对应COM数)和Bias(即偏压或偏置,对应阈值)。
  Duty和Bias有一经验公式,可以帮助快速的选择合适的Duty和Bias。
在这里插入图片描述
  例如可以选择Duty为4,Bias为1/3。
  比如工作电压4.5V,4DUTY,1/3BIAS,表示LCD工作电压为4.5V,4个COM,阈值为1.5V。当加在某段LCD两端电压大于1.5V时显示,反之,则不显示。但是LCD对于驱动电压的反应不是很明显,比如加2V时,可能会微弱显示,这就是通常说的“虚影”,所以要保证显示效果良好,要大于阈值电压比较多,而不显示时,要比阈值电压小得多。
  但LCD的两端不能长时间加直流电压,否则会损坏,所以要保证加在LCD两端的驱动平均电压为0。故采用时分割扫描法,任何时候只有一个COM有效,另外的COM处于无效状态。

1、波形分析

  在实际使用时,LCD的两端电压为COM和SEG引脚施加的,假设COM共4个,SEG共32个,则可以驱动的段数为32x4=128,每一个段都会对应一组COM和SEG。
  如下图所示,LCD工作电压4.5V,4DUTY,1/3BIAS,说明电压的输出的最小分度为4.5/3=1.5V,每个引脚输出的电压为0、1.5V、3V、4.5V,同时1/4占空比,四组COM分时扫描驱动,1/4指每个COM引脚输出占总输出时间的1/4。
  图中一共有两个周期,第一个周期为时间段1-8,第二个周期为时间段9-16。以第一个周期为例,时间段1、2,COM1有驱动波形,时间段3、4,COM2有驱动波形,COM3和COM4同理,可以看出一个周期分别被4个COM瓜分,同一时刻,只能有一个COM有驱动波形,并且每个COM的波形是固定不变的。而SEGn的波形是变化的,当某个时段COMn-SEGn的电压大于阈值时,对应的段就会点亮,否则熄灭。
  具体来看每个时段的电压情况
  时段1、2:时段1,COM1为4.5V,SEGn为3.5V,COM1-SEGn=1V,低于阈值1.5V,不显示。时段2,COM1为0.5V,SEGn为1.5V,COM1-SEGn=-1V,同样不显示,并且平均电压为0V。
  时段3、4:时段3,COM2为4.5V,SEGn为3.5V,COM2-SEGn=1V,不显示。时段2,COM2为0.5V,SEGn为1.5V,COM1-SEGn=-1V,不显示。同时平均电压为0V。但是图中显示的COM-SEG电压为3V和-3V,应该是错误。
  时段5、6:对应为COM3,分析过程同上。
  时段7、8:时段7,COM4为4.5V,SEGn为1.5V,COM4-SEGn=3V,高于阈值,显示。时段8,COM4为0.5V,SEGn为3.5V,COM1-SEGn=-3V,显示。并且平均电压为0V。
  第二个周期中,时段11、12,因为此时SEGn为1.5V与3.5V,最终电压为3V与-3V,故显示。
在这里插入图片描述
  SEGn中的n可以为0~31中任意的值,如果n=0,则在第一周期中,只有[COM4,SEG0]对应的段被点亮,在第二周期中,[COM2,SEG0]和[COM4,SEG0]对应的段被点亮。
  最后要强调的是,这些波形并不是MCU生成的,MCU只需要告诉LCD芯片点亮那些段即可,LCD芯片会自己生成。

2、RAM映射

  如下图所示,LCD芯片内部有用来存储所显示段的RAM,把某位写1,则对应的段就会点亮。
  假设上一节的波形分析图中显示的为SEG0,即第一个周期点亮[COM4,SEG0],第二个周期点亮[COM2,SEG0]和[COM4,SEG0],则第一个周期,向SEG0写入0x8,第二个周期,写入0xA。其他的SEGn也是同理。
在这里插入图片描述

三、GN1621操作

  本文使用的是GN1621芯片,市面上的LCD芯片操作方法基本都是一样的。

1、接口

  GN1621需要4线通信,分别为CS、WR、RD和DATA。CS为片选,拉低为使能,WR是写时钟,RD是读时钟,DATA是传输的数据。该类芯片比较特殊的一点是写操作和读操作分别需要不同的时钟。一般情况下,为了节约引脚,可以省掉读时钟。
在这里插入图片描述

2、指令格式

  如下图所示,指令共有两种模式,分别为命令模式和数据模式。对GN1621的设置操作称为命令模式,其ID为二进制100,由系统设置命令,系统频率选择命令、LCD设置命令、蜂鸣频率选择命令和操作命令组成。而数据模式主要是对RAM进行读写操作,包括READ、WRITE和READ-MODIFY-WRITE操作。
  注意,当模式切换时,即前一刻发送命令,下一刻发送数据,或者反过来,CS必须要拉高一次。这就表明在实际使用时,没法把CS一直拉低,有时候硬件为了节约MCU引脚,直接把CS接GND,这是行不通的。
在这里插入图片描述
  常用的功能如下图中红框所示,按功能划分为了4组。第1组,写数据到RAM中,即选择要点亮的段。第2组,启动或关闭LCD。第3组,选择时钟源。第4组,配置Duty和Bias。
  初始化LCD时,如果选择LCD片内RC震荡器,Duty为4,Bias为1/3,故发送的命令为:RC256、SYSEN、BIAS1/3、LCDON。
  初始化完毕后,使用WRITE,发送要点亮的段即可。
在这里插入图片描述

3、时序分析

  如下图所示,不管是读还是写,均在SCLK的上升沿采集数据。写操作,MCU在写时钟的上升沿到来之前,把数据输出到IO上,上升沿到来时,LCD会采集IO数据。读操作,LCD会在读时钟的上升沿到来之前,把数据输出到IO上,上升沿到来时,MCU会采集数据。
在这里插入图片描述
  我们在实际使用时,主要使用如下两种时序:命令模式和连续地址写模式。这两种模式从时序上来说,大同小异,都是MCU在写时钟的上升沿到来之前,把数据准备好,等上升沿来临,LCD读取DATA数据。
在这里插入图片描述
  连续地址写只需要给出一个起始地址,后续的数据会自动往后面的递增地址写入。RAM的映射图就已经给出了RAM的地址范围,地址0-31对应SEG0-SEG31,每个地址的第0-3位,对应了COM0-COM3。
  假设要点亮[SEG0,COM1]、[SEG1,COM0]、[SEG1,COM2]、[SEG2,COM3],那么使用连续地址写命令,先写地址0x00,然后连续写数据0x2、0x5、0x8,LCD芯片会自动的把这三个数据写入地址0x0,0x1,0x2。
在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值