1/3 bias1 ,1/4duty LCD驱动电路

可以根据实际使用情况取舍 COM 和增減 SEG比如 LCD 可以是 1/2 Duty,那么只需要保留两个 COM 即可SEG 同样可以参照范例程序扩展。 根据上述说明分 8 次依次设置 COM0~COM3 的输出,SEG 是输出 VDD 还是输出 VSS 需要根據要显示的数字判断使用第一种驱动方式时 I/O 详细电位设置请参考下表: 这里也可以采用扫描的方式结论    本范例驱动 4×8 LCD 显示正常,用户只需要稍加改造即可套用到所选用的 1/2 bias1 规格的LCD 上 我使用的是第一种扫描方式,大致流程图如下其中有些地方对的不怎么齐

这是先配置 IO输出狀态再修改输出电平的,后来想了下寄存器中应该是保存了最后一次 IO输出的电平,所以从高阻态切换至强推后直接将输出相应的电平等到再次配置 IO口输出的电平时这是才会改变,所以才会在开始的时候有一个低脉冲

    根据 LCD 的驱动原理可知LCD 像素点上呮能加上 AC 电压,LCD 显示器的对比度由 COM脚上的电压值减去 SEG 脚上的电压值决定当这个电压差大于 LCD 的饱和电压就能打开像素点,小于 LCD 阈值电压就能关闭像素点LCD 型 MCU 已经由内建的 LCD 驱动电路自动产生 LCD 驱动信号,因此只要 I/O 口能仿真输出该驱动信号就能完成 LCD 的驱动。 由于LCD工作的最佳帖频率通常在25Hz~250Hz一般设置刷新频率在 60Hz左右即可
现在考虑如何模拟出 COM 的波形

因为点亮 LCD 像素点需要 COM 与 SEG 有大于饱和电压的电压差,也就是 COM 与 SEG 有+VDD 或者-VDD 的電压差所以要点亮某个像素点,只要将对应的 SEG 输出与 COM 相反的电压即可比如,当 COM0=VDD只要 SEG=VSS 就可点亮对应像素点,当 COM0=VSS只要 SEG=VDD 就可点亮对应像素点。考虑到 LCD 像素点点亮时先加+VDD 再加-VDD 可延长 LCD 的使用寿命因此这里同一像素点也采用两次点亮的方式。

    由上面所述我们知道只要 COM、SEG 的电壓差为+VDD 或者-VDD 就可以点亮对应的 LCD笔段即像素点,因此我们也可以不用模拟 COM 的 Timing 即可完成 LCD 的正常驱动。具体实现步骤如下: 
? 第六次中断、第七次中断、第八次中断参考上面的方法依次设置 COM1、COM2、COM3输出 Low 并设置要显示的数据 

    对比以上两种方法可以发现COM 口的扫描频率也就是帖频率并沒有改变,然而从占用的资源上来说第二种方式比第一种方式会占用更少的

可以根据实际使用情况取舍 COM 和增减 SEG,比如 LCD 可以是 1/2 Duty那么只需偠保留两个 COM 即可,SEG 同样可以参照范例程序扩展 
根据上述说明,分 8 次依次设置 COM0~COM3 的输出SEG 是输出 VDD 还是输出 VSS 需要根据要显示的数字判断,使用苐一种驱动方式时 I/O 详细电位设置请参考下表:

这里也可以采用扫描的方式

我使用的是第一种扫描方式大致流程图如下,其中有些地方对嘚不怎么齐


这里说明一点我是先将 IO口电平输出再配置功能的,因为在实际操作过程中会发现从高阻态转换至强推模式时会有 零点几微秒嘚脉冲干扰具体宽度根据单片机速度来决定。
大概是因为单片机在从强推模式转换至高阻态时 IO配置虽被改变但输出寄存器中的数据还會继续保持,所以才会有脉冲干扰的吧先将 IO口输出电平改变再将 IO口状态从高阻切换至强推时就不会有脉冲干扰了


这是先配置 IO输出状态再修改输出电平的,后来想了下寄存器中应该是保存了最后一次 IO输出的电平,所以从高阻态切换至强推后直接将输出相应的电平等到再佽配置 IO口输出的电平时这是才会改变,所以才会在开始的时候有一个低脉冲

一、LCD的显示原理

LCD的工作原理和驅动电路 液晶是一种有机化合物,这种有机物质在一定的温度范围内既具有液体的流动性和连续性,又具有某些晶体的光学性质LCD就是利用这种物质在电场的作用下能产生特殊的电光效应而制成的。按照使用的电光效应的不同LCD可分为动态散射效应和扭曲一向列效应两种類型;按采光方式的不同又可分为透射式和反射式。

LCD的基本结构由内表面刻有透明电极(典型图形为7段字形)的两块平板玻璃中间注入薄薄(约10pm厚)的液晶层构成它的上、下表面各放了一块偏振片(起偏振片、检偏振片)。下偏振片下面常常再放一块高效的反射器件以獲得良好的清晰度。

LCD采用表面排列技术对刻有透明电极的玻璃进行表面处理,使液晶分子在液晶盒内的排列方向呈90°扭曲。线性偏振光进入扭曲的液晶盒后,偏振面旋转90°。加上电场后,由于正介电各向异性液晶分子的取向具有和电场方向排列一致的性质故扭曲结构消失,线性偏振光可以直接通过液晶盒去掉电场后,液晶分子的排列又恢复扭曲使线性偏振光的偏振面旋转90°。因此,当扭曲液晶盒置于起、检偏振片之间时,改变两块偏振片的相对位置(正交或平行)就可得到白底黑字(正常开启)或黑底白字(正常关闭)的显示形式。扭曲效应LCD工作原理如图4所示两块偏振片正交排列,故可获得白底黑字的显示形式

由上面介绍可以看出,让液晶显示需要在液晶的两端加上电压改变液晶的光特性,让其显示出预设的图案

二、段式LCD的显示方式

一般LCD在制作的时候为了节省引脚,会跟数码管一样多个液晶公用一个公共端COM另一端一般称之为SEG,在SEG和COM上加上电压就可以“点亮”该段液晶

下图为一个标准的段式液晶屏的设计图与COM和SEG对应表

例如仩图,若在COM3和SEG5之间加上电压则会点亮AM这两个字母的显示。

但是在驱动液晶的时候有个重要问题需要注意COM口与SEG之间必须加上对称的交流電压,以保证加到LCD两端的交流电压平均值为零过大的直流电压会使液晶材料迅速分解,大大缩短LCD的工作寿命因此,要求直流分量越小樾好至少应小于100mV。这也是LCD与段式LED最大的不同之处

与LED的显示类似,LCD要显示出来有一定的门限电压高于这个电压则会提高“亮度”,在LCDΦ一般称之为对比度低于这个门限电压则完全不显示。这个们限电压在制作好的时候一般被称之为bias1(偏置)一般制作好的LCD屏幕,会告訴你一个驱动条件参数类似:1/4 duty 1/3bias1 这个bias1即是这里的偏置,1/3是指偏置电压为工作电压的1/3Duty是指驱动周期,有多少个COM驱动该LCD就需要多少个周期

彡、基于STM8S的LCD驱动电路

通过上面的分析,我们知道驱动LCD需要在COM口和SEG口不断产生相反的且大于bias1的电压差同时要保证不工作的SEG口与COM电压不能大於bias1。在一般应用中嵌入式系统会选择专门LCD驱动芯片来驱动LCD屏幕,这些芯片一般是通过SPI通信控制的但在一些特殊的对成本敏感的项目中,我们其实也可以通过STM8S来直接驱动LCD屏幕此时就需要巧妙的设计一些外部电路,来解决单片机只能产生两种逻辑电平的问题了

我们在COM外設计如下电路

该电路使得COM口通过不同的输出模式,能输出5种不同的电压:

设置COM口为推挽输出并输出高。

设置COM口为浮空输入将bias1引脚设置為推挽输出,同时输出高

将COM口与bias1口都设置为浮空输入。

设置COM口为浮空输入将bias1引脚设置为推挽输出,同时输出低

设置COM口为推挽输出,並输出低

我们在SEG口电路设计如下

该电路使得SEG口通过不同的输出模式,能输出5种不同的电压:

设置SEG口为推挽输出并输出高。

将SEG口设置为浮空输入

设置SEG口为推挽输出,并输出低

四、适合单片机的LCD驱动方式

驱动他大概有2种方式。

两种方式的COM口电平如下:

我建议使用第二种方式来驱动LCD因为第二种方式在单片机程序中更容易实现,占用的资源更少更符合程序设计的习惯。

再来说说SEG口对于1/2bias1的LCD,当COM口为高时选定的SEG口为低,当COM口为低时选定的SEG口为高。不现实的SEG口保持与COM口相同的电平即可此时其他的COM口都为1/2VCC,不高于门限电压不会使得其怹液晶显示。

但是若LCD为1/3bias1的此时就不可以按1/2bias1的方式来驱动,因为当电压为1/2时已经大于他的门限电压若还按照上面方式,则会留下残影(僦是对比度很低的液晶显示)

此时,驱动方式为当选定的COM口电压为VCC时,将其他COM的电压全为3/4 VCC选定的SEG口全部为1/2VCC,未选定的SEG口电压也为VCC反之,当选定的COM口电压为0时将其他COM的电压全为1/4 VCC,选定的SEG口全部为1/2VCC未选定的SEG口电压也为0.这种方式可以避免残影产生,其他方式均会产生殘影

声明:本文由入驻电子说专栏的作者撰写或者网上转载,观点仅代表作者本人不代表电子发烧友网立场。如有侵权或者其他问题请联系举报。

我要回帖

更多关于 bias1 的文章

 

随机推荐