《单片机原理及应用》课件1第12章_第1页
《单片机原理及应用》课件1第12章_第2页
《单片机原理及应用》课件1第12章_第3页
《单片机原理及应用》课件1第12章_第4页
《单片机原理及应用》课件1第12章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章LCD模块及其应用12.1LCD的基本结构和显示原理12.2LCD显示模块的分类12.3LCD显示模块与8051的接口12.4设计课目与演练——显示文字“中文演示”小结习题液晶显示器(LiquidCrystalDisplay,LCD)具有显示信息多、体积小、功耗低等特点,在基于微处理器的仪器仪表及监视、控制等智能装置的终端显示、人机接口中受到普遍欢迎。过去,液晶显示器价格较贵且接口电路复杂,妨碍了它的广泛应用。近年来,集控制器、驱动器和显示器于一体的图形点阵式液晶显示器模块(LCM,LCDModule)投入市场,它价格适中,可方便地与各种微处理器接口;功能全,不仅能显示ASCII字符,还可显示汉字、图形和曲线,能方便地提供汉字菜单方式的人机界面。目前,它被各种高中档设备竞相采用,可与微机系统连接,构成功能强、结构简单、人机界面友好的智能仪表或控制系统。本章主要介绍LCD的结构、原理及分类,并且结合具体的LCD模块给出应用实例。12.1LCD的基本结构和显示原理液晶是一种介于液体与固体之间的热力学的中间稳定相。其特点是在一定的温度范围内既有液体的流动性和连续性,又有晶体的各向异性。液晶分子呈棒形,长宽之比较大,分子不能弯曲,是一个刚性体;其中心一般有一个桥链,两头有极性。

LCD的内部结构如图12-1所示。中间的液晶材料被上、下两层玻璃夹住,并且在玻璃的内侧涂有配向膜(图中的定向层)。配向膜的作用是提供液晶分子呈均匀排列的接口条件,让液晶依照预定的顺序排列。由于液晶的四壁效应,在配向膜的作用下,液晶分子在上、下电极极板上呈水平排列,排列方向互为正交,而玻璃间的分子呈连续扭转过渡。这样的构造能使液晶对光产生旋光作用,使光的偏振方向旋转90°。图12-1液晶显示器的内部结构图液晶显示器的工作原理如图12-2所示。外部光线通过上偏振片后形成单向偏振光,偏振方向呈垂直方向。当此偏振光通过液晶材料后,被旋转90°,偏振方向呈水平方向。此方向与下偏振片的偏振方向一致,因此该光线能够完全通过下偏振片而到达反射板,经反射后沿原路返回,从而呈现出透明状态,所以此时看到的是底板的颜色。当在液晶盒的上、下电极加上一定的电压后,液晶分子受电场影响,其棒状分子的排列方向会倾向平行于电场方向,变成垂直排列,从而失去旋光性,因此,从上偏振片入射的偏振光不能被旋转。当此偏振光到达下偏振片时,其偏振方向与下偏振片的偏振方向垂直,因而被下偏振片吸收,无法到达反射板形成反射,因而呈现黑色。根据需要,将电极做成各种文字、数字或者点阵,就可获得所需要的各种显示。图12-2液晶显示器的工作原理12.2LCD显示模块的分类

LCD的分类方法很多,通常按照显示形式来进行划分,有笔段型、字符点阵型和图形点阵型三种。

1.笔段型笔段型是以长条形状来显示像素的,该类型主要用于数字和西文字母的显示。这种笔段型显示器件通常有六段、七段、八段、十四段和十六段,在形状上总是围绕数字8的结构发生变化。其中,七段显示器最为常用,广泛应用于电子表、计算器等数字仪表中。笔段型的显示结构有点像LED数码管,但是液晶显示的驱动与LED的驱动有较大的不同,如图12-3所示。对于LED,只要在两端控制直流电压的导通或截止,就可以控制相应字段的亮或暗。而对于LCD,如果使用直流电压驱动,则会使液晶体产生电解,电极老化,从而大大降低LCD的使用寿命。一般应在LCD的公共极(一般为背极)加上恒定的交变方波信号,通过控制前极的电压变化而在LCD两极间产生所需的零电压或二倍幅值的交变电压,以达到LCD亮、灭的控制。图12-4所示为笔段型液晶显示器的驱动原理图。A为公共输入端,其输入一方波序列信号;B端为笔画电极端。二者加到异或门的输入端,使LCD两极之间的电压在0至二倍幅值交变电压下变化。当LCD两极电压的极性相同时,电压为0,不显示;当LCD两极电压的极性相反时,电压为二倍幅值方波电压,LCD呈现黑色。图12-3笔段型LCD图12-4笔段型液晶显示器的驱动原理图

2.字符点阵型字符点阵型液晶显示器是专门用来显示数字、字母或某些符号的液晶显示器,如图12-5所示。在电极图形设计上,它是由若干个5 × 8或5 × 11的点阵组成的,每一个点阵显示一个字符。它的显示功能有所提高,但不能显示图形。

3.图形点阵型图形点阵型液晶显示器的显示屏具有多行多列、密度较高的矩阵式晶格点,点的大小决定了显示的清晰度,它不仅可以显示字符,而且可以显示连续、完整的图形,如图12-6所示。这类液晶显示器广泛应用于游戏机、笔记本电脑、彩色电视机等设备中。图12-5字符点阵型LCD图12-6图形点阵型LCD12.3LCD显示模块与8051的接口在实际应用中,用户很少直接设计LCD显示器的驱动接口,而是使用内部自带驱动的显示器模块——LCDMODULE,简称LCM。LCM把LCD显示屏、背光源、驱动电路和线路板等部件构造成一个整体,作为一个独立部件来使用。其内部结构如图12-7所示。这类LCM和单片机的接口比较简单,控制比较容易,控制指令一般为LCD驱动芯片的指令集。因此,掌握一种液晶显示模块,便可以熟悉同类型驱动器的其它液晶显示模块的使用。下面以北京青云的LCM3202401图形点阵液晶模块为例介绍其接口,并给出显示汉字、图形的设计过程和方法。图12-7LCM内部结构框图12.3.1LCM320240概述

1.功能特点

LCM320240的显示内容为320 × 240点阵,点大小为0.34 × 0.34mm2,点间距为0.02mm。

显示类型:

STN蓝模式(蓝底白字),6:00视角,负向显示;

FSTN黑白模式(白底黑字,蓝底黑字),6:00视角,正向显示。

CCFL背光或LED背光。

工作电压:3V或5V。

工作温度:-20~70℃,储存温度:-30~80℃。

控制器SED1335,芯片封装SMT。

改进增强型液晶显示模块,美国专用DC-DC电源。

2.结构框图及引脚

LCM320240的内部结构如图12-8所示。

LCM320240的引脚定义如表12-1所示。

3.指令集这里使用的控制器是SED1335,其对应的指令集如表12-2所示。图12-8LCM320240的内部结构表12-1LCM320240引脚定义表12-2SED1335控制指令集12.3.2LCM320240与8051的接口电路设计

LCM320240与8051的接口电路如图12-9所示。

89C52为高电平复位,而LCM320240为低电平复位,所以增加了一个反相器74LS04。注意:也可以使用I/O方式来单独控制显示模块的复位,例如,使用P1.0连到端。程序运行后,可以用软件指令:

CLR P1.0 ;低电平复位有效

ACALL DELAY ;延时一段时间

SETB P1.0 ;复位结束

可用A0直接控制命令/数据的选择,所以设置了地址锁存器74LS373。图12-9液晶驱动接口电路注意:如果用I/O方式控制命令/数据的选择,则可以使用P1口(或者其它),这样做的好处是可以不用锁存器了(在系统设计中,常常会使用锁存器)。A0、、信号的控制作用如表12-3所示。可以用A15控制片选,所以配合A0得到访问LCM320240各操作端口的地址如下:读数据端口地址:7FFFH读状态端口地址:7FFEH写数据端口地址:7FFEH写命令端口地址:7FFFH

滑动变阻器R2用于调节对比度。

19、20脚没有连接。如果使用LED背光,则19脚接+5V,20脚接地。如果使用CCFL背光,则需要外接逆变器,输入+5V直流电源,输出900VAC,连接到CCFL灯管引线即可。表12-3A0、、信号的控制作用12.3.3程序设计下面分步讲解LCM的程序设计。

1.复位

12.3.2节对复位有详细的介绍。可以设置为硬件复位或软件复位。

2.命令和数据读/写子程序写命令:

W_CMD: MOVDPTR,#7FFFH ;写命令端口地址

MOVX@DPTR,A ;调用前,A中是待设置的命令

RET写数据:

W_DAT: MOVDPTR,#7FFEH ;写数据端口地址

MOVX@DPTR,A ;调用前,A中是待写入的数据

RET

读数据

R_DAT: MOVDPTR,#7FFFH ;读数据端口地址

MOVXA,@DPTR ;读入数据

RET读状态:

R_STA: MOVDPTR,#7FFEH ;读状态端口地址

MOVXA,@DPTR ;读入状态

RET对液晶屏的访问都是通过这几个子程序来完成的。进一步:

各端口的地址是如何获得的?

这个外设还有什么样的地址?

3.初始化

SED1335控制的液晶屏在使用前必须进行初始化设置,这些设置会直接影响液晶屏是否可以正常工作。这里给出LCM320240图形模式的初始化部分,以子程序的形式给出,使用时直接调用即可。其它的型号需要根据相应的设置进行初始化。

INIT: MOVA,#40H ; SYSTEMSET命令

;初始化,显示窗口设置

ACALLW_CMD ;调用写命令子程序

MOVR0,#00H ;一共需要8个参数

SYSSET: MOVA,R0 ;设置参数偏移量

MOVDPTR,#SYS_TAB ;参数表首地址

MOVCA,@A+DPTR ;取参数

ACALLW_DAT ;写参数

INCR0 ;修改偏移指针

CJNER0,#08H,SYSSET ;判是否满8个

MOVA,#44H ; SCROLL命令

ACALLW_CMD ;调用写命令子程序

MOVR0,#00H ;设置显示区域,卷动

SCROLL: MOVA,R0 ; MOVDPTR,#SCR_TAB ; MOVCA,@A+DPTR ; ACALLW_DAT ; INCR0 ; CJNER0,#0AH,SCROLL ;

10个参数

;

MOVA,#5AH ;

HDOTSCR代码

ACALLW_CMD ;设置点单元卷动位置

MOVA,#00H ;参数数据写入0 ACALLW_DAT ; MOVA,#5BH ;

OVLAY设置

ACALLW_CMD ;设置合成显示方式

MOVA,#0CH ;

GRAPHIC ACALLW_DAT ; MOVA,#58H ;

DISPOFF ACALLW_CMD MOVA,#54H ; NOFLASHING ACALLW_DAT

ACALLCLEAR ;清显示RAM子程序

MOVA,#59H ;

DISPON ACALLW_CMD ; RET ; SYS_TAB: DB30H,87H,07H,27H,42H,0efH,28H,00H

SCR_TAB: DB00H,00H,0f0H,00H,40H,0efH,00H,80H,00H,00H

进一步:

这里是320240图形模式的初始化设置方法,如果工作在双屏模式呢?如果工作在文本模式呢?这里仅给出了一种方法。如果读者使用了SED1335控制器的液晶屏,则请查阅其工作手册。

掌握液晶屏的各参数是应用液晶屏的重点。……

4.清显示RAM子程序

CLEAR: MOVA,#4CH ; CSRDIR ACALLW_CMD MOVA,#46H ; CSRW ACALLW_CMD MOVA,#00H ; CSRL ACALLW_DAT MOVA,#00H ; CSRH ACALLW_DAT MOVA,#42H ; MWRITE ACALLW_CMD MOVR6,#80H ;清除32KB的空间

MOVR7,#00H MOVA,#00H

CLR1:

CLR2: ACALLW_DAT ; DJNZR7,CLR2 DJNZR6,CLR1 ; RET这个子程序可以作为清屏使用。进一步:

思考:CLR2和CLR1两个标号使用的是同一地址,有什么意义吗?是否可以使用同一个标号?

思考:在循环中,没有给R6重新赋值,分析它的工作原理。12.4设计课目与演练——显示文字“中文演示”利用图12-9所示的电路,设计显示文字“中文演示”这四个字。在该设计中,需要利用汉字点阵采集软件,得到对应汉字的字符点阵信息,然后显示。源程序如下:

ORG0000H LJMPSTART

CWADD1 EQU 7FFFH ;写命令地址

DWADD1 EQU 7FFEH ;写数据地址

DRADD1 EQU 7FFFH ;读数据地址

CRADD1 EQU 7FFEH ;读状态地址

SYSTAB:DB30H,87H,07H,27H,42H,0F0H,30H,00H ;P1~P8

SCRTAB:DB00H,00H,0F0H,00H,40H,0F0H,00H,80H,00H,00H;P1~P10

TEMP1 EQU28H ;两个缓冲单元

TEMP2 EQU29H ;

COM EQU30H ;指令寄存器

DAT1 EQU31H ;参数及显示数据寄存器

COUNT1 EQU32H ;计数器1

COUNT2 EQU33H ;计数器2

O_XL EQU34H ; X坐标低8位寄存器(字节)

O_XH EQU35H ; X坐标高8位寄存器(点列) ;

D7点为绘点和消点标志位

O_YL EQU36H

; Y坐标寄存器(字符行/点行)

COOE EQU37H ;汉字代码

CFLUG EQU10H ;位标志,表示字符的写入方式

ORG0040H ;

START: LCALLDELAY ; MOVSP,#60H ;

LCALLINT ;初始化液晶屏

LCALLCLEAR ;清除屏幕

;LJMPDISCHA ;下面没有其它指令

DISCHA: MOVO_XL,#00H ;设置X坐标

MOVO_YL,#00H ;设置Y坐标

MOVCOOE,#00H ;设置汉字代码

LCALLCCW2_PR ;调汉字写入程序

MOVO_XL,#04H ; MOVO_YL,#00H ; MOVCOOE,#01H ; LCALLCCW2_PR ; MOVO_XL,#08H ; MOVO_YL,#00H ; MOVCOOE,#02H; ; LCALLCCW2_PR ; MOVO_XL,#0CH ; MOVO_YL,#00H ; MOVCOOE,#03H ; LCALLCCW2_PR ; SJMP$ ;

DELAY: MOVR2,#01H ;延时子程序

MOVR3,#01H ;

DEL1: NOP ; DJNZR3,DEL1 ; DJNZR2,DEL1 ; RET ;

;写指令代码子程序

PR1: PUSHDPL ; PUSHDPH ; MOVDPTR,#CWADD1 ; MOVA,COM ; MOVX@DPTR,A ; POPDPH ; POPDPL ; RET ;

;写参数及显示数据子程序

PR2: PUSHDPL ; PUSHDPH ; MOVDPTR,#DWADD1 ; MOVA,DAT1 ; MOVX@DPTR,A ; POPDPH ; POPDPL ; RET ;

;读状态及显示数据子程序

PR3: PUSHDPL ; PUSHDPH ; MOVDPTR,#DRADD1 ; MOVXA,@DPTR ; MOVDAT1,A ; POPDPH ; POPDPL ; RET ;

;初始化子程序

INT: MOVCOM,#40H ; SYSTEMSET LCALLPR1 ;写入指令代码

MOVCOUNT1,#00H ;设置计数器1为00H

INT3: MOVDPTR,#SYSTAB ;设置指令参数表地址

MOVA,COUNT1 ;取参数

MOVCA,@A+DPTR ; MOVDAT1,A ;

LCALLPR2 ;写入参数

INCCOUNT1 ;计数器加1 MOVA,COUNT1 ; CJNEA,#08H,INT3 ;共8个参数

MOVCOM,#44H ; SCROLL LCALLPR1 ;写入指令代码

MOVCOUNT1,#00H ;设置计数器

INT2: MOVDPTR,#SCRTAB ;设置指令参数表地址

MOVA,COUNT1 ;取参数

MOVCA,@A+DPTR ; MOVDAT1,A LCALLPR2 ;写入参数

INCCOUNT1 ;计数器加1 MOVA,COUNT1

CJNEA,#0AH,INT2 ;共10个参数

MOVCOM,#5AH ;

HDOTSCR LCALLPR1 MOVDAT1,#00H LCALLPR2 MOVCOM,#5BH ;

OVLAY LCALLPR1 MOVDAT1,#00H LCALLPR2 MOVCOM,#59H ;

DISPON LCALLPR1 MOVDAT1,#54H ;关闭光标

LCALLPR2 RETCCW2_PR: MOVA,COOE ;计算汉字字模数据首地址

MOVB,#131 MULAB MOVDPTR,#CGTAB ;汉字库入口地址

ADDA,DPL MOVDPL,A MOVA,B ADDCA,DPH MOVDPH,A MOVTEMP1,DPL MOVTEMP2,DPH MOVA,O_YL ;计算光标地址

MOVB,#30H MULAB

ADDA,O_XL MOVO_XL,A MOVA,B ADDCA,#40H ;加入显示二区起始地址SAD2H MOVO_YL,A ;存光标地址高字节

MOVCOM,#4FH ; CSRDIR(右移) LCALLPR1 MOVCOUNT1,#4 ;一共4个汉字

CCW2_1: MOVCOM,#46H ; CSRW LCALLPR1 MOVDAT1,O_XL ;设置光标地址CSR LCALLPR2

MOVDAT1,O_YL

LCALLPR2 MOVCOM,#42H ; MWRITE LCALLPR1 MOVCOUNT2,#32

CCW2_2: CLRA MOVCA,@A+DPTR ;取字模数据

MOVDAT1,A INCDPTR INCDPTR INCDPTR INCDPTR LCALLPR2 ;写入数据

DJNZCOUNT2,CCW2_2 ; MOVA,O_XL ;修正光标地址

ADDA,#01H ;加1 MOVO_XL,A MOVA,O_YL ADDCA,#00H MOVO_YL,A MOVDPL,TEMP1 MOVDPH,TEMP2 INCDPTR MOVTEMP1,DPL MOVTEMP2,DPH

DJNZCOUNT1,CCW2_1 RET

CLEAR: MOVCOM,#4CH ; CSRDIR LCALLPR1 ;写入指令代码

MOVCOM,#46H ; CSRW LCALLPR1 ;写入指令代码

MOVDAT1,#00H ;设置参数光标指针

LCALLPR2 ;写入CSRL LCALLPR2 ;写入CSRH MOVCOM,#42H ; MWRITE LCALLPR1 ;写入指令

MOVR3,#00H ;设置循环变量

MOVR4,#00H MOVDAT1,#00H ;设置显示数据

CLR1: LCALLPR2 ;写入数据

DJNZR3,CLR1 ;一直到清空全部缓冲区

DJNZR4,CLR1 RET

CGTAB:

;--文字:中--

;--华文行楷24;此字体下对应的点阵为:宽×高=32×33--

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H

DB 003H,0FFH,0FFH,0C0H,003H,0FFH,0FFH,0C0H, 003H,0FFH,0FFH,0C0H,000H,000H,000H,000H

DB 000H,000H,000H,000H

;--文字:文--

;--华文行楷24;此字体下对应的点阵为:宽×高=32×33--

DB 000H,000H,000H,000H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H

DB 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H

DB 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H

DB 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H

DB 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H

DB 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H

DB 01FH,0FFH,0FFH,0F8H,01FH,0FFH,0FFH,0F8H, 01FH,0FFH,0FFH,0F8H,000H,000H,000H,000H

DB 000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H,000H,000H

DB 000H,000H,000H,000H

;--文字:演--

;--华文行楷24;此字体下对应的点阵为:宽×高=32×33--

DB 000H,000H,000H,000H,007H,0FFH,0FFH,0F0H, 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H

DB 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H, 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H

DB 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H, 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H

DB 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H, 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H

DB 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H, 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H

DB 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H, 007H,0FFH,0FFH,0F0H,007H,0FFH,0FFH,0F0H

DB 007

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论