新闻  |   论坛  |   博客  |   在线研讨会
利用单片机I/O口直接驱动LCD
tvb2058 | 2007-12-09 11:30:59    阅读:2537   发布文章

如何将小家电成本降低的同时,又保证其性能,是对应用工程师提出的更高要求。本控制板需要进行温度控制,显示界面要求LCD显示。带专用LCD驱动器,又带A/D转换器的单片机成本太高,因此选用台湾义隆公司带A/D的单片机EM78P259N直接驱动LCD。该款单片机性价比高,性能可靠,很适合在家电控制中应用。

1  LCD简介

  目前,市面主流LCD(液晶显示器)分成以下几大类:TN(扭曲阵列型)、STN(超扭曲阵列型)、DSTN(双层超扭曲阵列)、HPA(高性能定址或快速DSTN)、TFT(薄膜场效应晶体管)等。由于成本因素,目前小家电大多数采用的是TN型单色液晶显示器,它的原理是把液晶灌入两个列有细槽的平面之间。这两个平面上的槽互相垂直(相交成90°),也就是说,若一个平面上的分子南北向排列,则另一平面上的分子东西向排列,而位于两个平面之间的分子被强迫进入一种90°扭转的状态。由于光线顺着分子的排列方向传播,所以光线经过液晶时也被扭转90°。当液晶上加一个电压时,分子便会重新垂直排列,使光线能直射出去,而不发生任何扭转。LCD正是由这样两个相互垂直的极化滤光器构成的,所以在正常情况下应该阻断所有试图穿透的光线。但是,由于两个滤光器之间充满了扭曲液晶,所以在光线穿出第一个滤光器后,会被液晶分子扭转90°,最后从第二个滤光器中穿出。另一方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光器挡住。总之,加电将光线阻断,不加电则使光线射出。LCD模型可以把其看成一个电容器,一个电极连接着公共极板,另一个连接着字符段。LCD受电压的均方根值控制,当施加在LCD上的电压为零时,LCD呈透明状态。当施加在字符段与公共极的电压大于LCD的阀值电压,则该字符段就显示出来。如果用直流驱动LCD,将会引起显示单元永久性的损坏。为了防止不可逆转的电化学反应使LCD损坏,加在所有字符段上的电压必须周期性翻转极性,以使加在字符段上的平均电压为0。为了节约单片机I/O口线,采用多路复用的方法驱动LCD。

2  单片机EM78P259N简介

  EM78P259N是台湾义隆公司推出的8位单片机,引脚如图1所示。


图1

  主要功能如下:

  ◆ 工作电压范围为2.3~5.5 V;
  ◆ 工作频率(基于时钟是2分频),在Crystal模式下DC—20 MHz/2 CLKS、5 V,DC—8 MHz/2 CLKS、3 V,在RC模式下DC—4 MHz/2 CLKS、5 V,DC—4 MHz/2 CLKS、3 V;
  ◆ 低功耗,在5 V/4 MHz时工作电流小于1.9 mA,在3 V/32 kHz时工作电流为15 μA,在睡眠模式耗电电流为1 μA;
  ◆ 内置RC振荡,4 MHz、8 MHz、1 MHz、455 kHz(带自动校验);
  ◆ 80 B RAM;
  ◆ 2K×13程序空间;
  ◆ 双向I/O口;
  ◆ 8级堆栈深度;
  ◆ 3个8位定时器,1个16位定时器;
  ◆ 1个比较器;
  ◆ 4路12位精度A/D转换。

3  I/O口直接驱动LCD的实现方法

  下面介绍多路复用显示的驱动方法,电路图如图2所示。将所有公共电极(COM)各施加一次扫描电压的时间叫一帧,单位时间内扫描多少帧的频率叫帧频,将扫描公共电极(COM)选通的时间与帧周期之比叫占空比。通常占空比等于公共电极数N的倒数,即1/N。由于在多路复用显示驱动方法中,像素被分成选通像素、非选通像素和半选通像素。它们都被加上了一定的电压,所以引出了平均电压法。选通像素上的电压与非选通像素上的电压比就是常说的LCD偏压比。在动态显示时,要使LCD的某个像素实现显示,就必须循环地在该像素上用公共级扫描脉冲(COM)和段扫描脉冲(SEG)合成一个超过液晶阀值电压的工作电压(及平均电压)才能完成。说到底,平均电压法是把半选通像素上的电压和非选通像素的电压平均化,用适度提高非选择像素的电压来抵消半选择像素的一部分电压,从而扩大选择像素与半选择像素之间电压的差距,提高显示对比度,使非选择像素和半选择像素的显示更均匀。


图2

  根据单片机的特性,采用1/2偏压,1/2占空比方法驱动LCD,现以COM=2,SEG=4的LCD为例:LCD屏共有8个像素,公共极有2极,字符段为4段。

  公共极信号产生的波形如图3所示。

  从图3可看出,公共极信号发生可分成4个阶段S0、S1、S2和S3。

  S0: COM0=+5 V,COM1=+2.5 V。
  S1: COM0=+2.5 V,COM1=+5 V。
  S2: COM0=0 V,COM1=+2.5 V。
  S3: COM0=+2.5 V,COM1=0 V。


图3

  这样在S0阶段,选通的像素只可能是与COM0连接的像素,并且SEG段必须为0 V,该像素才会亮。与COM1连接的像素只可能是非选通像素或半选通像素,而半选通像素电压低于LCD要点亮的阀值电压,所以此时与COM1连接的像素都不会亮。在S1阶段,选通的像素只可能是与COM1连接的像素,并且SEG段必须为0 V,该像素才会亮。与COM0连接的像素只可能是非选通像素或半选通像素,而半选通像素电压低于LCD要点亮的阀值电压,所以此时与COM0连接的像素都不会亮。

  在S2阶段,选通的像素只可能是与COM0连接的像素,并且SEG段必须为+5 V,该像素才会亮。同时,驱动LCD的电压极性相反,与COM1连接的像素只可能是非选通像素或半选通像素,而半选通像素电压低于LCD要点亮的阀值电压,所以此时与COM1连接的像素都不会亮。

  在S3阶段,选通的像素只可能是与COM1连接的像素,并且SEG段必须为+5 V,该像素才会亮。同时,驱动LCD的电压极性相反,与COM0连接的像素只可能是非选通像素或半选通像素,而半选通像素电压低于LCD要点亮的阀值电压,所以此时与COM0连接的像素都不会亮。

  编者注:程序流程图(图4)及源程序见本刊网站www.mesnet.com.cn。

结语

  利用上面提供的方法, 只要 LCD 要显示的像素不多,都可利用带双向口的单片机直接驱动,公共极(COM)可扩展为3个,或4个以上。

参考文献

1  郭强.液晶显示应用技术.北京:电子工业出版社,2003

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客