在家电行业中,低功耗是重要的一方面考虑,当然随着市场产品的发展,基于arm的lcd之类的显示越来越重要,那是发展的趋势。可目前来说,小家电,水表,卡表,燃气表之类,需要的显示只是一个辅助功能,不需要人机交互。段式液晶又满足低功耗,对比度明显, {MOD}彩可变得优点,还是有一定的市场。
本文的目的是解释模拟段式液晶驱动原理,代码执行,以及其中写代码的一些规范。采用的芯片其实没多大关系,如同IIC通信模拟一样,只需要普通的端口。
首先介绍下microchip公司的pic芯片,pic芯片采用的是哈佛结构,操作数与操作码在一起,组成13位,这样可以缩短执行周期,执行过程:
取址 执行
取址 执行
pic芯片的低功耗也是做得不错,由于不是重点,飘过。既然要模拟段式液晶驱动就必须了解pic单片机IO口的特性,pic单片机端口配置就只有两个寄存器,支持复用,(不是公用,选择一种方式,其他方式禁止。)
1:方向寄存器指令TRISX(X = A,B,C,D, E。。。)TRISX寄存器也就是一段地址,只不过是8位的,控制8个端口的输入输出方向,例如TRISC = 0x01,代表C端口的第一位是设置为输入,其他位为输出。
2:输出时状态寄存器PORTX(X= A,B,C,D,E。。。)PORTX寄存器也是一段地址,是8位的,控制8个端口的高低电平,前提是TRISX相应的端口置0,输出才有效。
简单介绍pic后开始进行本文的重点。
段式液晶驱动:段式液晶工作原理是利用电压差驱动液晶屏中的小段液晶,只要电压满足驱动段内的带电介质移动,就能实现该段点亮,是不是电压差只要满足条件就行了?
不是这样的,虽然电压差有的话是可以让该段变量,但是长时间的让带电介质偏移到一端,很容易使液晶中的带点介质不会流回原来的位置,这样就相当于不通电也亮了,所以不能简单的设置为高低电平驱动,变相的就需要模拟交流信号,让带电介质不会失去活性。固液晶千万不要一个方向通高低电平。
图一1/2偏置,1/2分压
1/2分压是什么意思呢?也就是将电压分成两等份。比如5V分成2.5V,分压后就是5V,2.5V,0V几种电压,就是图1的V2,V1,V0,
1/2偏置是什么意思呢?就是com口在一个周期内各执行一次。总共有2个com,相当于每个com口执行1/2个周期。
为什么要这样做呢?其实我也不想这样做,很麻烦,但是厂家出于自己的角度,认为这样可以执行一次可以显示多个字段。也是为设计者着想。
如果学过同步时序电路,其实同步时序也不难,因为把异步时序电路弄懂之后,就么没怎么了。同步时序电路,从左到右依次执行,明白这个后看电路图应该很容易。当然这里可以解释下同步时序电路,同步时序就是上面的端口同时输出相应波形,可以垂直看
1:::com0:V2,COM1:V1,SEG0:V0,SEG1:V2。
2:::com0:V0,COM1:V1,SEG0:V2,SEG1:V0。
。。。。。。
上面1是同步执行的。就是同时执行com0,com1,SEG0,SEG1。这里的com,seg是接在芯片的普通端口上的。
现在解释具体的实现过程:com是位选,seg是段选,看设计的原理图。只有com,seg同时工作才能实现,因为com,seg分别接在一段液晶的两端,当com0=1,seg0=0;则与com0和seg0链接的那一段将被点亮或者当com0=0,seg0=1;则与com0和seg0链接的那一段将被点亮其他情况不亮。在图一中,一帧就是一个周期,比如在COM0-SEG0那一行,1帧中,开始com0 = v2,seg0 = v0,电压差为V2,请看com0-seg0那一行是否这样呢?
明白能如何点亮一段就可以实现点亮其他段了,当然这里还要考虑几个问题,
1:采用1/2偏置,1/2分压是什么意思?采用1/3偏置,1/2分压是什么意思?采用1/3偏置,1/3分压是什么意思?。。。
2:如何实现分压?
3:频率选择?