STC 应用文档 用 STC 系列 MCU 的 IO 直接驱动段码 LCD 2014-6-19 V2.0
用 STC 系列 MCU 的 IO 口直接驱动段码 LCD
日 期:2014-6-19
版 本:V2.0
当产品需要段码 LCD 显示时,如果使用不带 LCD 驱动器的 MCU,则需要外接 LCD 驱动 IC,这会增
加成本和 PCB 面积。事实上,很多小项目,比如大量的小家电,需要显示的段码不多,常见的是 4 个 8
带小数点或时钟的冒号“:”,这样如果使用 IO 口直接扫描显示,则会减小 PCB 面积,降低成本。
但是,本方案不合适驱动太多的段( 占用 IO 太多),也不合适非常低功耗的场合。
段码 LCD 驱动简单原理:如图 1 所示。
LCD 是一种特殊的液态晶体,在电场的作用下晶体的排列方向会发生扭转,因而改变其透光性,从
而可以看到显示内容。LCD 有一个扭转阀值,当 LCD 两端电压高于此阀值时,显示内容,低于此阀值时,
不显示。通常 LCD 有 3 个参数:工作电压、DUTY(对应 COM 数)和 BIAS(即偏压,对应阀值),比
如 4.5V、1/4 DUTY、1/3 BIAS,表示 LCD 显示电压为 4.5V,4 个 COM,阀值大约是 1.5V,当加在某段
LCD 两端电压大于 1.5V 时(一般加 4.5V)显示,而加 1.5V 时不显示。但是 LCD 对于驱动电压的反应不
是很明显的,比如加 2V 时,可能会微弱显示,这就是通常说的“鬼影”。所以要保证驱动显示时,要大于
阀值电压比较多,而不显示时,要用比阀值小比较多的电压。
注意:LCD 的两端不能加直流电压,否则时间稍长就会损坏,所以要保证加在 LCD 两端的驱动电压
的平均电压为 0。LCD 使用时分割扫描法,任何时候一个 COM 扫描有效,另外的 COM 处于无效状态。
驱动 1/4Duty 1/2BIAS 3V 的方案电路见图 1,LCD 扫描原理见图 3,MCU 为 3V 工作,用双向口做
COM,PUSH-PULL 或 STANDARD 输出口接 SEG,并且每个 COM 都接一个 47K 电阻到一个电容,RC
滤波后得到一个中点电压。在轮到某个 COM 扫描时,设置成 PUSH-PULL 输出,如果与本 COM 连接的
SEG 不显示,则 SEG 输出与 COM 同相,如果显示,则反相。扫描完后,这个 COM 的 IO 就设置成高阻,
这样这个 COM 就通过 47K 电阻连接到 1/2VDD 电压,而 SEG 继续输出方波,这样加在 LCD 上的电压,
显示时是+-VDD,不显示时是+-1/2VDD,保证了 LCD 两端平均直流电压为 0。
驱动 1/4Duty 1/3BIAS 3V 的方案电路见图 4,LCD 扫描原理见图 5,, MCU 为 5V 工作,SEG 线通
过电阻分压输出 1.5V、3.5V,COM 线通过电阻分压输出 0.5V、2.5V(高阻时)、4.5V。在轮到某个
COM 扫描时,设置成 PUSH-PULL 输出,如果与本 COM 连接的 SEG 不显示,则 SEG 输出与 COM 同相,
如果显示,则反相。扫描完后,这个 COM 的 IO 就设置成高阻,这样这个 COM 就通过 47K 电阻连接到
2.5V 电压,而 SEG 继续输出方波,这样加在 LCD 上的电压,显示时是+-3.0V,不显示时是+-1.0V,完全
满足 LCD 的扫描要求。
当需要睡眠省电时,把所有 COM 和 SEG 驱动 IO 全部输出低电平,LCD 驱动部分不会增加额外电流。
1