一种通用的LCD显示屏驱动程序

2005-04-29 00:44:03边增远曾碧鞠仪静李雷
电子世界 2005年2期
关键词:驱动程序子程序显示屏

边增远 曾碧 鞠仪静 李雷

摘要:本文介绍了一种通用的LCD显示电路,并以PIC16F873芯片设计出了结合硬件的较为通用的驱动程序。

LCD显示屏具有体积小、重量轻、耗电低、显示内容丰富、易于定制、使用寿命长等优点,被广泛用于仪器仪表、家电、控制产品等诸多领域。根据不同的LCD显示屏其驱动程序分为静态驱动和动态驱动。因为动态驱动比静态驱动占用的芯片硬件资源少、驱动电路简单等特点而成为LCD驱动的主流。本文正是采用动态驱动方式,以Microchip公司的PIC16F873芯片,设计出一种较为通用的LCD显示电路及其LCD显示的相应驱动程序,目的在于减少研发人员的工作量,避免不必要的重复性工作。

1.LCD显示的硬件电路

为了达到动态显示的目的,在电路中使用了三个移位计数器,其中两个用于LCD显示,一个用于控制LED双色灯显示,显示部分共占用PIC16F873芯片6个I/O口,分别为RC0、RC1、RC2、RC3、RC4、RC5。可以实现控制的显示笔划位数达48个,如图1所示。其中RC3、RC5配合产生移位输入信号, RC0、RC1、RC2、RC4配合控制背电极(COM0、COM1、COM2)。当背电极COM0、COM1、COM2与笔画电极(由移位计数器输出)之间的电势差达到5V时,对应的笔画就显示,否则不显示。为了延长液晶显示屏的寿命,通常间隔交换背电极与笔画电极的电位。例如,当要COM0显示的时候可以使得RC0、RC1为5V,RC2、RC4为0V,这样COM0电压为5V,COM1、COM2电压为2.5V,然后RC0、RC1为0V,RC2、RC4为5V,这样COM0电压为0V,COM1、COM2电压为2.5V。达到显示目的。

2.驱动波形

在电路中使用RC3为时钟输入端,RC5作为数据输入端进行主同步串行。当要输入COM0行上的数据是1000 1010 1100 0100时,其驱动波形如图2所示。在正向输出(COM0端为低电平)结束后,进行反向输出(COM0端为高电平)。图3为一个完整显示周期内COM0、COM1、COM2的波形变化。

3.LCD软件显示程序

本文以PIC16F873为芯片,采用PIC汇编语言,在MAPLAB-ICD开发器上实现。程序包括移位输入数据子程序、显示矩阵校正程序、LCD显示输出程序,具体流程如图4。其中显示校正程序是将自己定义的单元值与LCD显示矩阵的值对应;移位输入数据子程序是将校正好的数据移位输入到LCD的笔画电极;LCD显示输出程序则调用移位计数器把数据转换成正确的显示结果。在本刊的网站上给出了源程序,其中,移位输入数据子程序请参照源代码(a) ;显示矩阵校正程序请参照源代码(b) ;LCD显示输出程序请参照源代码(c)。

4.结语

如果LCD显示屏的显示矩阵很规则,在设计程序的时候就可以省去矩阵校正子程序部分。本文针对没有规律的显示矩阵排列设计了软件驱动程序,巧妙采用了移位计数器和PIC16F873上面的串行数据输出功能,达到了通用显示的目的,本文的方法已经在智能充电器的LCD显示部分得到了很好的应用,并且显示效果相当令人满意。所提供的源程序均为调试过的程序,可以直接使用。◆

猜你喜欢
驱动程序子程序显示屏
一块布就是一个显示屏?
军事文摘(2022年10期)2022-06-15 02:29:30
苍蝇迷恋显示屏
未来五年LED显示屏出货将保持16%增长
中国照明(2016年6期)2016-06-15 20:30:14
浅谈子程序在数控车编程中的应用
基于AT89S52的手势可控LED滚动显示屏设计
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
简化编程与子程序嵌套的应用
科技传播(2011年24期)2011-08-29 05:39:46
驱动程序更新与推荐
驱动程序更新与推荐