找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3901|回复: 0
收起左侧

HT1261驱动LCD段码屏

[复制链接]
ID:259517 发表于 2019-7-20 12:27 | 显示全部楼层 |阅读模式
一、参考资料
二、液晶段码屏主要参数
1.段电极SEG、公共极COM
    一般段码屏有段电极和公共极,就像在图中,SEG为段电极,COM为公共极。段码屏中的每个段,都填充了一种特殊的液态晶体。在电场的作用下,晶体的排列方向会发生扭转,因而改变其透光性,从而可以看到显示的内容。一般电场电压就加在段电极和公共极的两端。
1.jpg
图1
2.供电电压、偏压比(偏置比)Bias、占空比Duty
(1)占空比:1根COM线在扫描过程中所占的时间,假如一共用了2根COM线,Duty=1/2,假如一共用了3根COM线,Duty=1/3,假如一共用了4根COM线,Duty=1/4。
    HT1621一共可驱动4根COM,占空比 Duty 取值范围是1/2或1/3或1/4
(2)偏压比:偏压就是用于控制液晶偏转角度的电压,HT1621的偏压比 Bias 取值范围是1/2或1/3。当供电电压为3.3V,偏压比为1/3时,求得偏压为 3.3V*(1/3)=1.1V,代表 图1 SEG和COM之间的电压差值超过偏压1.1V时点亮。
三、HT1621的指令代码介绍
    如下表为部分能用到的指令代码,其中:
(1)以第一个指令 READ 为例,指令“110a5a4a3a2a1a0d0d1d2d3”的前三位“110”代表读数据操作 READ,中间的“a5a4a3a2a1a0”为6位地址(高位在前,以二进制的0-31对应对应32个段电极SEG0-SEG31),最后的“d0d1d2d3”为4位数据(低位在前,每一位依次对应4个COM中的一个)。
(2)指令 SYSEN,“100 0000 0001 x”,打开系统时钟,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“00000001”换算成十六进制为0x01,固定代码指示打开系统时钟,最后一位“x”代表任意传入一位“0”或“1”。
(3)指令 LCDOFF,“100 0000 0010 x”,关闭偏置发生器,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“00000010”换算成十六进制为0x02,固定代码指示关闭偏置发生器,最后一位“x”代表任意传入一位“0”或“1”。
(4)指令 LCDON,“100 0000 0011 x”,打开偏置发生器,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“00000011”换算成十六进制为0x03,固定代码指示打开偏置发生器,最后一位“x”代表任意传入一位“0”或“1”。
(5)指令 BIAS 1/2,“100 0010 abx0 x”,偏压比为1/2时使用,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“0010abx0”中“ab”可取“00”或“01”或“10”,分别代表2个COM或3个COM或4个COM,最后一位“x”代表任意传入一位“0”或“1”。
(6)指令 BIAS 1/3,“100 0010 abx1 x”,偏压比为1/3时使用,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“0010abx1”中“ab”可取“00”或“01”或“10”,分别代表2个COM或3个COM或4个COM,最后一位“x”代表任意传入一位“0”或“1”。
2.jpg
四.本例中代码分析
    1.从下图可知,本液晶屏供电电压3.3V,占空比1/4,偏压比1/3,根据 中的分析,可得 使用指令 BIAS 1/3,其中占空比为1/4,即使用4个COM,得到“ab”为“10”,所以代码为“100 0010 10x1 x”,“x”均为“0”,得到中间的8位指令为“0010 1001”,即为十六进制的“0x29”
    此处,如果使用指令 BIAS 1/2,其中占空比为1/4,即使用4个COM,得到“ab”为“10”,所以代码为“100 0010 10x0 x”,“x”均为“0”,得到中间的8位指令为“0010 1000”,即为十六进制的“0x28”
3.jpg

2. 如下图定义的 BIAS为0x28,对应于偏压比为1/2,和给出的参数偏压比为1/3不符合,分析:
    (1)提高偏压比,为了更好的对比度,呈现更好的显示效果;
    (2)猜测调成0x29也能正常显示;
    (3)按照博客 https://blog.csdn.net/qq_43188920/article/details/91511913中所说,“当液晶屏的工作电压小于4.5V时让客户做1/2偏压,此时液晶抖度大清晰度高,容易过法线。相反,若用1/3偏压垂直视角不清晰,且无法过法线。
    所以,为了更好的显示效果,#define BIAS  0x28
4.jpg
3.根据 中的说明,指令 SYSEN,“100 0000 0001 x”,打开系统时钟,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“00000001”换算成十六进制为0x01,最后一位“x”代表任意传入一位“0”或“1”,
    所以 #define SYSEN 0x01
4.根据 中的说明,指令 LCDOFF,“100 0000 0010 x”,关闭偏置发生器,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“00000010”换算成十六进制为0x02,最后一位“x”代表任意传入一位“0”或“1”,
    所以 #define LCDOFF 0x02
5.根据 中的说明,指令 LCDON,“100 0000 0011 x”,打开偏置发生器,其中前三位“100”代表发出的是命令,取得控制权,中间的8位“00000011”换算成十六进制为0x03,最后一位“x”代表任意传入一位“0”或“1”,
    所以 #define LCDON 0x03
五、结合代码
1.发送3个命令 BIASSYSENLCDON
(1)先发送“0x80”中的高3位数据,即“1000 0000”的高三位“100”,代表命令;
(2)再发送 BIASSYSENLCDON 对应的 8 位数据 0x28、0x01、0x02等代码,最后一位任意。
5.jpg
6.jpg
2.写单个地址的数据
(1)先发送“0xa0”中的高3位数据,即“1010 0000”的高三位“101”,代表写数据;
(2)再发送 写入地址 对应的 6 位数据,从高位到低位,“a5a4a3a2a1a0”,最后从低位向高位发送4位数据“d0d1d2d3”。
7.jpg
4.连续写地址数据(以连续写入6个数据为例)
(1)先发送“0xa0”中的高3位数据,即“1010 0000”的高三位“101”,代表写数据;
(2)再发送 初始写入地址对应的 6 位数据,从高位到低位,“a5a4a3a2a1a0”,最后从低位向高位连续6个发送8位数据“d0d1d2d3d4d5d6d7”。
8.jpg
9.jpg
10.jpg

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表