一、综述

  段码液晶屏是早期液晶显示屏开始应用时的主要类型,目的是替代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。

外设芯片——2.0 GN1621A-段码屏LCD相关推荐

  1. 导轨电表、万用表、计量插座、工控物联网、学习机、仪器仪表等低功耗高抗干扰段码屏LCD液晶显示驱动IC-VK2C22A/B LQFP52/48,完全兼容替代16C22,44*4/40*4显示

    型号:VK2C22A/B 品牌:永嘉微电/VINKA 封装:LQFP52/48.DICE(COB邦定片).COG(邦定玻璃用) 年份:新年份 VK2C22A/B概述: VK2C22A/B是一个点阵式存 ...

  2. 怎么点亮段码屏_段码液晶屏实现原理及应用

    什么是段码液晶屏 段码液晶或段码液晶屏,只是液晶屏的用户对于某一类液晶显示屏的一种叫法,但是在液晶行业之内,一般都称之为图案型的液晶屏,从而来区别于点阵型的液晶屏,故段码液晶屏并不是一个很严格的表述或 ...

  3. HT1623驱动LCD段码屏程序

    HT1623驱动LCD段码屏--STM32F103 一.简介 二.使用步骤 1.管脚初始化配置 2.HT1623数据写入和初始化配置 3.操作段码屏例程 一.简介 有关芯片相关知识和使用原理好多博主已 ...

  4. [MM32生态]如何使用不带SLCD控制器的MCU IO直接驱动段码屏

    前言 相信大家都对段码液晶屏都不陌生了,在电子大爆炸的日常生活中到处可以见到它的身影,比如在通信工具.家用电器.仪器仪表.交通工具.文教体娱.医疗保健.光阀产品等等应用领域.段码屏一般外形尺寸都在 2 ...

  5. 怎么点亮段码屏_段码LCD液晶屏驱动方法

    TFT 液晶屏: http://www.hzjingxian.com 段码 LCD 液晶屏驱动方法 段码 LCD 液晶屏驱动方法 首先,不要以为用单片机来驱动就以为段码屏是直流驱动的,其实,段码屏是交 ...

  6. 段码屏和点阵屏的区别如何呢

    LCD液晶屏已经广泛应用于各行各业,从而种类也多了起来,主要包含:字符点阵型LCD液晶屏.图形点阵型LCD液晶屏,断码LCD液晶屏(段码LCD液晶屏).OLED液晶屏等.这些液晶屏都是为显示设备上信息 ...

  7. MSP430单片机HT1261驱动LCD段码屏

    去年帮人做的一个段码屏相关的开发,网上有关这方面的资料比较少,这里写一点自己的积累. 一.参考资料 (1)http://www.51hei.com/bbs/dpj-127088-1.html (2)h ...

  8. STM32连接HT1621段码屏驱动

    HT1621:128个位元LCD控制器,内部RAM直接对应LCD显示单元. 对于HT1621,操作之前应发送标志码,表明要求工作在哪种状态,标志定义如下: 操作 状态 标志码 读 数据 110 写 数 ...

  9. FM1906段码屏驱动

    最近做开发又用到了段码屏,6位的段码屏,驱动芯片是FM1906 单片机型号:APM32F103C8T6(STM32的国产替代) 库函数:HAL库 直接上驱动程序- FM1906.c: #include ...

最新文章

  1. 20180429 xlVBA套打单据自适应列宽
  2. mysql5.6优化建议
  3. 什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发
  4. org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI
  5. 第 132 章 Example
  6. 高级软件工程第四次作业:两只小熊队团队作业
  7. ubuntu 下安装apache服务器
  8. 利用c语言面向对象编程,用C语言程序实现面向对象编程
  9. 在Windows mobile 5.0下操作INI文件
  10. 蓝桥杯 受伤的皇后(dfs)
  11. 那些年,我们一起做过的 Java 课后练习题(71 - 75)
  12. kafka 创建 topic 报错 Error: Exception thrown by the agent : java.rmi.server.ExportException: Port alrea
  13. [微信小程序] 单张、多张图片上传(图片转base64格式)实践经验
  14. APISpace 笑话大全API
  15. Android.bp入门教程
  16. SRAM DRAM SDRAM DDR2 LPDDR2 PSRAM RLDRAM的区别和联系
  17. 计算机网络基础15:MikroTik路由器使用方法
  18. 【数理统计】估计的性质是否具有变换不变性
  19. Python给多人发送邮件
  20. 项目实训-关键词提取-任务理解工作分配

热门文章

  1. 在家怎么能赚钱?三分钟教会你4个赚钱方法!
  2. Verilog-程序设计语句-三种建模方式
  3. 代理服务器拒绝连接问题的解决
  4. mysql 查询所有下级
  5. mysql根据经纬度查询距离在1000米范围内的数据
  6. ctf.show web入门(信息搜集) 1~20
  7. java循环依赖问题怎么解决_Spring如何解决循环依赖的问题
  8. 打印字符串所有子序列
  9. jQuery剥皮二 - extend
  10. 一问讲透到底什么才是运营,重新定义你对运营的理解