打印

四川成都控制器电路板开发定制:段码屏的显示原理和HT162...

[复制链接]
1464|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yonko|  楼主 | 2018-7-7 21:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最近在承接单片机系统、电路板、控制器、电子产品、工控测控传感自动化系统、仪器仪表、装置设备、软件EXE编程、安卓APP开发设计定制业务的时候(业务Q Q:2531263726),一个客户联系到沙鸥,打算对一个市面上现有的测试仪器进行升级改进,电话初步交流了一下,当时一想,仪器无非就是探头加二次电路,应该SO EASY,客户发来产品资料,于是简单调研了一下这个仪器,发现光是这种类型仪器的测试探头就有千百种,呃,夸张了,好几种是有的,比如微波、射频、电磁波、电容等各种各样的探测方法都有,原来不是那么简单,小瞧了。那么直接拆解现有探头再开发新的适配电路板将是困难和费时间的事,因为原厂的电路板一般都有编程器件,没有程序代码也就不知道原厂板对探头是怎么进行的信号分析和处理,将是无从下手的,就像习武之人只学招式无非就是一些花架子,没有深厚的内功一切都做不成。
左思思右想想,测试仪有显示屏,能不能够从显示屏的接口获取传输显示的数据呢,因为一般显示屏显示的数据是已经经过处理得出的有效的可用的结果,这也许还是个好的思路。
一看,这是一个段码屏,段码屏一般都是定制的产品,每个屏的结构很可能都是不一样的。要想获取屏上的数据,肯定首先要做的事情就是了解显示的原理和结构,通过调研技术资料,从厂家获取相关帮助信息,获得了一点点的经验。不过这篇**不是讲解怎么从段码屏获取数据,因为目前还没有做到那一步,这个还是有点难度的事,本文先来一些简单轻松的东西,主要说明段码屏的一般结构、原理、驱动方法和使用HT1621驱动段码屏的方法。

一、        段码屏的显示原理和驱动方法

一般段码屏有段电极和公共极,就像在图 2中,SEG1~SEG5为段电极,COM为公共极。段码屏中的每个段,都填充了一种特殊的液态晶体。在电场的作用下,晶体的排列方向会发生扭转,因而改变其透光性,从而可以看到显示的内容。一般电场电压就加在段电极和公共极的两端。

但是段码液晶显示屏不像数码管,施以一定大小的直流正向电压就能显示,如果在SEG和COM两端加直流电压,将会导致液态晶体不可逆的损坏。那么正确的操作是怎样呢?资料上说要想液晶显示的话需要在SEG和COM两端需要施加一定压差的交流电,假如不要液晶显示的话也需要在SEG和COM两端施加电压,不过施加电压的压差很小或者为零就可以。举个例子,我们要点亮某个段时,只需要保证给其电极两端加的电压差为3.3V(如COM1=3.3V,SEG1=0V),并且间隔合适的时间,将这两极的电压反转输出(如COM1=0V,SEG1=3.3V);不点亮某个段时,只需要保证给其电极两端加的电压差为0V(如COM1=3.3V,SEG1=3.3V),并且间隔合适的时间,将这两极的电压反转输出(如COM1=0V,SEG1=0V)。

上面将的就是段码屏的原理,下面举个简单的例子,说一下段码屏的结构。这个段码屏能显示的字符是“888.E”,一共有10个引脚,1-4号引脚分别是COM4-COM1,5-10号引脚分别是SEG1-SEG6。假如我们想让第一个符号显示“8”,就需要第一个字符的ABCDEFG码段都点亮,就需要在COM1-SEG2,COM2-SEG1和SEG2, COM3-SEG1和SEG2, COM4-SEG1和SEG2,之间同时施加交流电压,就是图 4里左边的电压逻辑。可以看出,这个段码屏的驱动方式还是比较复杂的,所以,咱们为了简便,需要使用到一个段码屏驱动芯片HT1621,在下一节详细地讲一讲。

二、        用HT1621来驱动段码屏
客官您看了在上一章节介绍的段码屏驱动原理吧,要想点亮一个码段就需要在它的两极施加交流电压,客官您是不是感觉太麻烦了,其实沙鸥也有这个感觉,不过其实厂家一般是用一些驱动芯片来做段码屏产品,比较常见的就是HT1621.
那HT1621又是干嘛的呢,来自百科的解释,HT1621是128 点内存映象和多功能的LCD驱动器,HT1621 的软件配置特性使它适用于多种LCD应用场合包括LCD模块和显示子系统,用于连接主控制器和HT1621的管脚只有4 或5 条,HT1621 还有一个节电命令用于降低系统功耗,一句话来说,HT1621就是用来驱动LCD的,它跟主控制器用几根线连接就可以了。那么问题来了,用HT1621怎么来驱动段码屏呢?
查阅了很多资料,有一篇文档非常值得推荐:《多功能LCD驱动器HT1621及其应用》,关于HT1621的具体参数、引脚配置等信息可以找一下它的datasheet看看,本文就直接讲一下怎么使用这个芯片。
HT1621有SEG0~SEG31一共32个段电极输出,COM0~COM3四个背电极输出,也就是能够驱动32*4=128个段码。在实际的应用中,一般我们是用不了这么多个段码的,可以先从低位向高位依次连接到段码屏。图 6又举了一个例子讲了一下单片机、HT1621和段码屏的接线。

线接好了,那问题来了,怎么让段码屏显示我们想要的字符呢?
看来还得从HT1621说起,HT1621内部有个RAM,大小是32*4=128,对应着32个SEG和4个COM电极组成的128个段码。将RAM中某一位置1,那么对应的段码就会被点亮,同样,置0的话,对应的段码就不显示,如图 7。举个例子,如图 8的段码屏,我们想让第一位显示字符“1”,根据图 5的逻辑表,我们需要让B和C码段的电极SEG2-COM2、SEG2-COM3两端有电压差,假如是用HT1621驱动并且按照图 5接线,那么只需要让HT1621 RAM中地址1中的数据位D1、D2为1,其余为0即可。


那么问题又来了,怎么让RAM中的数据变化呢?这就需要使用到单片机等微处理器,由单片机向HT1621传输数据改变RAM中内容,HT1621和单片机有四个引脚是连接的,CS、RD、WR和DATA,单片机就是通过这几个连接的引脚采用串行通讯的方式向HT1621传输数据。
它们之间通信的时序图如图 9,可见按照时序控制CS,WR,DATA引脚就能向HT1621的RAM中写入数据,从而改变段码屏中的显示内容。

以上为段码屏的显示原理和使用HT1621驱动的方法,本文的叙述没有来得及实践验证,可能有误,假如说错了话请不要见怪,恭迎指正。

欢迎关注微信公众号:永珂在线

相关帖子

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

本版积分规则

116

主题

229

帖子

0

粉丝