预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

LCD(LiquidCrystalDiodes)是液晶显示器的简称。LCD显示器具有体积小、重量轻、功耗极低、易于 定制、显示内容丰富等特点,被越来越广泛地应用于仪器仪表、通信产品、家用电器等领域。根据不同种 类的LCD,其驱动方式分为静态和动态两种,其中动态驱动方式可以减少LCD显示器的引线和相应的驱动 电路,适用于较多位的字符显示和点阵式显示,是现在和将来LCD显示驱动的主导方式。但LCD的动态驱 动与控制较为复杂,实际应用中,通常都是使用专用的IC芯片,或直接采用具有动态LCD驱动接口的单片 机。前者一般较为昂贵,且通用性不好,后者则需具有针对相应单片机的开发系统或开发手段。这些都限 制了LCD显示器更为广泛的应用。本文介绍了一种简单的方法,可以用一般并行接口配合单片机软件进行 LCD的动态驱动,从而使得具有任何型号单片机开发手段的人都可以使用动态驱动的LCD显示器。作为实 例,本文采用与MCS51系列兼容的ATMEL89C1051单片机串行口扩充的并行口实现了具有3个公共背极,5 1个显示段位的LCD的驱动,显示效果良好,费用极其低廉。 2动态LCD的一般驱动原理[1] 由于LCD的电化学特性,LCD的驱动一般采用交流驱动。图1为基本的LCD驱动电路和工作波形。图 中A为显示频率信号,C为显示控制信号。从中可以看出,当LCD两极间电压为零时,不显示;而当LCD 两端为交替变化的电压时,LCD显示。动态驱动方式的实质是用矩阵驱动法来驱动字段的显示。在此,字 段引线相当于行引线,公共背极引线相当于列引线,字符的每一字段相当于矩阵的一个点。由于是交流驱 动,因而不能采用象LED的动态驱动方法,即用LCD的公共电极作为显示的开关控制极;也不能将LCD驱 动线悬空,否则在悬空线与选通线交点上的非选通点则会由于液晶所具有的电容特性而产生交叉显示效应, 使清晰度下降。一般作法是在非选通点上加上低于LCD显示阈值的电压信号,以消除交叉效应的影响,如 偏压法。图2以2×2矩阵为例说明采用偏压法时只有D、S线交点显示的情形。各线上所加电压及其相位 如图2(b),各显示点的电压如图2(c)所示。从中可知,在显示点上有工作电压Vc,其它点上的最高电压 只有1/2Vc。因此,当显示阈值电压大于1/2Vc而小于Vc时仅显示点显示。由以上可知,动态LCD驱动与 控制较为复杂,因而在实际应用中,通常都是使用专用集成电路,如MC145000和MC145001等或带有LCD 动态驱动接口的单片机。 ,TN液晶显示器以它价格低廉,耗电量低,显示清晰等优势成为很多小产品的首选显示器 件;lcd正常显示需要交流方波,而且为了不重复显示笔段,需要4个COM分时显示,但是专用的lcd驱动芯 片价格较高,且增加了系统的复杂程度,带lcd驱动的mcu价格更是不低,怎么办呢?如果我们徐娅的笔段不 多的话就可以考虑用普通IO型的单片机模拟lcd驱动波形来使用lcd了. 要使用LCD之前我们需要了解关于LCD的几个参数: 1.电压:这个我们一般和mcu供电电压一致就可以了,lcd电压高于mcu电压易造成亮度不够,lcd电压低 于mcu电压易造成鬼影(不该点亮的笔段却点亮) 2.偏压(BIAS):偏压级数越多lcd的对比度级别就越多,对于mcu驱动的简单lcd我们为了简单只需要亮 和不亮两种状态就够了,所以只要1/2的就可以了,不必做成1/3,1/4. 3.周期(DUTY):周期跟公共端COM的个数有关,例如3个com,周期就是1/3,4个com周期就是1/4 了解以上几点我们就可以进行下一步了,下面以一个例子作为引述: 图1LCD逻辑图 图2MCU脚位图 我们以以上两个图片作为此次实验,图1为LCD的逻辑图和连线图,图2是与单片机连接的脚位图,注意实际 上单片机的COM1-COM4这几个引脚对地和VCC之间接有100K的电阻. 我们需要在lcd上面第一个8字从0-9依次显示,每秒递增1次,一直循环:根据图1得到0-9的com1-com 4对应的SEG码如下: ;;;;;;;;;COM1BTL查表;;;;;;;;;;;;; COM1BTL:ADDPC,A RETL0XF1;0 RETL0XF3 RETL0XF1 RETL0XF1 RETL0X03;4 RETL0XF1;5 RETL0XF1 RETL0XF1 RETL0XF1 RETL0XF1;9 ;;;;;;;;;;;;;;;; ;;;;;;;COM2BTL查表;;;;;;; COM2BTL:ADDPC,A RETL0XF0;0 RETL0XF2;1 RETL0XF2;2 RETL0XF2;3 RETL0XF0; RETL0XF1 RETL0XF1;6 RETL0XF2;