普通MCU驱动液晶LCD方法.docx

上传人:b****1 文档编号:329189 上传时间:2022-10-09 格式:DOCX 页数:9 大小:70.23KB
下载 相关 举报
普通MCU驱动液晶LCD方法.docx_第1页
第1页 / 共9页
普通MCU驱动液晶LCD方法.docx_第2页
第2页 / 共9页
普通MCU驱动液晶LCD方法.docx_第3页
第3页 / 共9页
普通MCU驱动液晶LCD方法.docx_第4页
第4页 / 共9页
普通MCU驱动液晶LCD方法.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

普通MCU驱动液晶LCD方法.docx

《普通MCU驱动液晶LCD方法.docx》由会员分享,可在线阅读,更多相关《普通MCU驱动液晶LCD方法.docx(9页珍藏版)》请在冰豆网上搜索。

普通MCU驱动液晶LCD方法.docx

普通MCU驱动液晶LCD方法

LCD(LiquidCrystalDiodes)是液晶显示器的简称。

LCD显示器具有体积小、重量轻、功耗极低、易于

定制、显示内容丰富等特点,被越来越广泛地应用于仪器仪表、通信产品、家用电器等领域。

根据不同种类的LCD其驱动方式分为静态和动态两种,其中动态驱动方式可以减少LCD显示器的引线和相应的驱动

电路,适用于较多位的字符显示和点阵式显示,是现在和将来LCD显示驱动的主导方式。

但LCD的动态驱

动与控制较为复杂,实际应用中,通常都是使用专用的IC芯片,或直接采用具有动态LCD驱动接口的单片机。

前者一般较为昂贵,且通用性不好,后者则需具有针对相应单片机的开发系统或开发手段。

这些都限制了LCD显示器更为广泛的应用。

本文介绍了一种简单的方法,可以用一般并行接口配合单片机软件进行LCD的动态驱动,从而使得具有任何型号单片机开发手段的人都可以使用动态驱动的LCD显示器。

作为实

例,本文采用与MCS51系列兼容的ATMEL89C1051单片机串行口扩充的并行口实现了具有3个公共背极,5

显示效果良好,费用极其低廉。

1个显示段位的LCD的驱动,

 

2动态LCD的一般驱动原理

1]

由于LCD的电化学特性,

中A为显示频率信号,C为显示控制信号。

从中可以看出,当LCD两极间电压为零时,不显示;而当

两端为交替变化的电压时,LCD显示。

动态驱动方式的实质是用矩阵驱动法来驱动字段的显示。

在此,字

段引线相当于行引线,公共背极引线相当于列引线,字符的每一字段相当于矩阵的一个点。

由于是交流驱动,因而不能采用象LED的动态驱动方法,即用LCD的公共电极作为显示的开关控制极;也不能将动线悬空,否则在悬空线与选通线交点上的非选通点则会由于液晶所具有的电容特性而产生交叉显示效应,使清晰度下降。

一般作法是在非选通点上加上低于LCD显示阈值的电压信号,以消除交叉效应的影响,

LCD的驱动一般采用交流驱动。

图1为基本的LCD驱动电路和工作波形。

LCD

LCD驱

 

偏压法。

图2以2X2矩阵为例说明采用偏压法时只有DS线交点显示的情形。

各线上所加电压及其相位

如图2(b),各显示点的电压如图2(c)所示。

从中可知,在显示点上有工作电压VC,其它点上的最高电压

只有1/2VC。

因此,当显示阈值电压大于1/2VC而小于Vc时仅显示点显示。

由以上可知,动态LCD驱动与

控制较为复杂,因而在实际应用中,通常都是使用专用集成电路,如MC145000和MC145001等或带有LCD

动态驱动接口的单片机。

在众多显示器件中,TN液晶显示器以它价格低廉,耗电量低,显示清晰等优势成为很多小产品的首选显示器件;led正常显示需要交流方波,而且为了不重复显示笔段,需要4个COM分时显示,但是专用的led驱动芯片价格较高,且增加了系统的复杂程度,带led驱动的meu价格更是不低,怎么办呢?

如果我们徐娅的笔段不多的话就可以考虑用普通10型的单片机模拟led驱动波形来使用led了.

要使用LCD之前我们需要了解关于LCD的几个参数:

1.电压:

这个我们一般和meu供电电压一致就可以了,led电压高于meu电压易造成亮度不够,led电压低

于meu电压易造成鬼影(不该点亮的笔段却点亮)

2.偏压(BIAS):

偏压级数越多led的对比度级别就越多,对于meu驱动的简单led我们为了简单只需要亮和不亮两种状态就够了,所以只要1/2的就可以了,不必做成1/3,1/4.

3.周期(DUTY):

周期跟公共端COM的个数有关,例如3个com,周期就是1/3,4个com周期就是1/4

了解以上几点我们就可以进行下一步了,下面以一个例子作为引述:

SEC

1

2

3

4

5

6

1

8

9

10

SI

SO

lA

S2

2A

S3

cmi

LE

IF

IB

EF

2B

CEW

MD

IE

IG

2E

TI

111

IC

ED

ec

CDM4

I..…丨播1H唤口"P

图1LCD逻辑图

 

CQMl

u?

vcc

P50

P51

Pd7

P53

VCC

GND

Pd5-OSI

PdINT

卩d4-QSO

P63-RST

P^2-TCC

14

COM2

13

12

COM4

11

Ih

1

10

SEG3

9

SEG4

MCU脚位图

MCU

我们以以上两个图片作为此次实验,图1为LCD的逻辑图和连线图,图2是与单片机连接的脚位图,注意实际

上单片机的C0M1-C0M这几个引脚对地和VCC之间接有100K的电阻.

我们需要在led上面第一个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;

RETL0XF0;

RETL0XF0;9

;;;;;;;;;COM3BTL查表;;;;;;;;

COM3BTL:

ADDPC,A

RETL0XF1;0

RETL0XF3;1

RETL0XF0;2

RETL0XF2;3

RETL0XF2;4

RETL0XF2;5

RETL0XF0;6

RETL0XF3;7

RETL0XF0;8

RETL0XF2;9

;;;;;;;COM4BTL查表;;;;;;;;

COM4BTL:

ADDPC,A

RETL0XF0;0

RETL0XF2;1

RETL0XF1;2

RETL0XF0;3

RETL0XF2;4

RETL0XF0;5

RETL0XF0;6

RETL0XF2;7

RETL0XF0;8

RETL0XF0;9

以上查表采用的是0代表点亮1代表不点亮,得到以上查表我们需要做的就是每个COM分时输出固定的波形,

com输出波形同时查表输出对应的笔段,这样就能正常显示了,具体流程图如下;1.COM1输出高,其他com1/2电平(输入),seg查表

2.C0M1输出低,其他com1/2电平(输入),seg查表并取反3.COM2输出高,其他com1/2电平(输入),seg查表4.COM2输出低,其他com1/2电平(输入),seg查表并取反5.COM3输出高,其他com1/2电平(输入),seg查表

6.COM3输出低,其他com1/2电平(输入),seg查表并取反7.COM4输出高,其他com1/2电平(输入),seg查表

8.COM4输出低,其他com1/2电平(输入),seg查表并取反

9.跳到1

具体程序如下:

LCD_DSPLY:

;11111;COM1=3V,其他COM=1.5V;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

MOVA,LCD_BUF;LCD显示查表CALLCOM1BTL;

MOVP6,A;驱动seg显示

MOVA,@0B00001110

IOWP5;P5方向

BSP5,COM1;COM1=3V

MOVA,@0B11111100

IOWP6

CALLDELAY16MS延时16ms,扫描一个周期=16ms约60HZ;2222;COM1=0V,其他COM=1.5V;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

MOVA,LCD_BUF;LC[显示查表

CALLCOM1BTL;

MOVTBL_BUF,A;

COMATBL_BUF;seg取反

MOVP6,A;驱动seg显示

MOVA,@0B00001110

IOWP5;P5方向

BCP5,COM1;COM1=0V

MOVA,@0B11111100

IOWP6

CALLDELAY16MS延时16ms,扫描一个周期=16ms约60HZ;;;3333333;COM2=3V,其他COM=1.5V;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

MOVA,LCD_BUF;LCD显示查表

CALLCOM2BTL;

MOVP6,A;驱动seg显示

MOVA,@0B00001101

IOWP5;P5方向

BSP5,COM2;COM2=3V

MOVA,@0B11111100

IOWP6

CALLDELAY16MS延时16ms,扫描一个周期=16ms约60HZ

;;;;;;44444444,COM2=0V,其他COM=1.5V;;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

CALLCOM2BTL;

MOVTBL_BUF,A;COMATBL_BUF;seg取反

MOVP6,A;驱动seg显示

MOVA,@0B00001101

IOWP5;P5方向

BCP5,COM2;COM2=0V

MOVA,@0B11111100

IOWP6

CALLDELAY16MS延时16ms,扫描一个周期=16ms约60HZ

;;;;55555,COM3=3V,其他COM=1.5V;;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

MOVA,LCD_BUF;LCD显示查表

CALLCOM3BTL;

MOVP6,A;驱动seg显示

MOVA,@0B00001011

IOWP5;P5方向

BSP5,COM3;COM3=3V

MOVA,@0B11111100

IOWP6

CALLDELAY16MS延时16ms,扫描一个周期=16ms约60HZ

;;6666666,COM3=0V,其他COM=1.5V;;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

MOVA,LCD_BUF;LCD显示查表

CALLCOM3BTL;

MOVTBL_BUF,A;

COMATBL_BUF;seg取反

MOVA,@0B00001011

IOWP5;P5方向

BCP5,COM3;COM3=3V

MOVA,@0B11111100

IOWP6

CALLDELAY16MS延时16ms,扫描一个周期=16ms约60HZ;;7777777,COM4=3V,其他COM=1.5V;;;;;;;;;;;

MOVA,@0XFF;

IOWP5

IOWP6

MOVA,LCD_BUF;LCD显示查表

CALLCOM4BTL;

MOVP6,A;驱动seg显示

MOVA,@0B00000111

IOWP5;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1