第15章C51液晶显示模块ppt课件_第1页
第15章C51液晶显示模块ppt课件_第2页
第15章C51液晶显示模块ppt课件_第3页
第15章C51液晶显示模块ppt课件_第4页
第15章C51液晶显示模块ppt课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、第15章 C51液晶显示模块在单片机的人机交互系统中,常常需要显示系统运行中的某些信息和数据,例如字符、汉字或者图形等。液晶显示器LCD正好可以完成此项任务,它是一种功耗很低的显示器,在电子表、计算器、数码相机、计算机的显示器和液晶电视上都可以看到它的身影。液晶显示器以优越的性能,越来越受到各方面的重视。在单片机系统中,为了应用的方便,常使用另外一种集成度更高的显示组件,即液晶显示模块。液晶显示模块将液晶显示器、控制器、背光源和外部连接端口等组装在一起,可以方便地用于需要液晶显示的场合。液晶显示模块的英文名称为“LCD Module”,可以简称为LCM。本章主要介绍液晶显示器以及液晶显示模块,

2、并详细介绍了常用的液晶显示模块控制器及其控制子函数。最后通过两个实例,逐步详细讲解了如何使用液晶显示模块显示汉字和图形。15.1 液晶显示模块概述 液晶显示是依靠液晶来进行数据或者图形显示的。液晶显示器本身不发光,其通过调节背光的亮度来达到显示效果,这是一种被动显示器。液晶显示模块是以液晶屏为核心,配合一定的控制电路,以达到方便使用目的的显示组件。目前在单片机系统中,液晶显示模块的使用最为广泛。15.1.1 液晶显示模块的分类 根据液晶显示模块显示功能的不同,液晶显示模块可以分为如下3种: 1段码数字型 2点阵字符型 3点阵图形型 段码数字型液晶显示模块 点阵字符型液晶显示模块 15.1.2

3、液晶显示模块的特点相比其他显示器件,液晶显示模块具有如下一些特点:显示内容丰富。可以显示多行汉字、字符以及图形等。体积小巧。在显示内容相同的情况下,液晶显示模块体积要相对小巧,重量也轻。功耗低。液晶显示模块的功耗主要消耗在其内部的电极、背光电源和驱动芯片上。因而,相对于相同的显示面积,液晶显示模块的功耗比其他显示器件要小得多。显示质量高。液晶显示模块每一个点恒定发光,不需要不断刷新亮点。因此液晶显示模块显示画质高,且不会闪烁。无电磁辐射。液晶显示模块没有电磁辐射,正因为这个优点使得液晶电视和计算机的液晶显示器得到广泛应用。控制简单方便。液晶显示模块内置控制器,而且均为数字式接口,操作十分方便。

4、应用范围广。根据需要液晶显示模块可以显示数字、字符、汉字和图形等。因此液晶显示模块可根据实际需要适用于各种场合。15.2 液晶显示控制驱动器 液晶显示模块LCM大部分都具有内置LCD控制驱动器。LCD控制驱动器主要用于控制液晶的显示,其采用控制指令集进行控制显示。这类液晶显示模块和单片机的接口都比较简单,控制起来也相对容易,目前得到了广泛的应用。一般而言,只要掌握一种的液晶显示模块及其控制驱动器的使用方法,就可以举一反三,掌握其他液晶显示模块的使用。 目前市场上常见的LCD控制驱动器有ST7920、HD44780、KS0066U等型号。这里要介绍的是目前使用较为广泛的ST7920点阵图形液晶模

5、块的控制驱动器,其可以控制显示数字、字符、汉字和图形等,功能比较全面。15.2.1 液晶显示控制驱动器概述ST7920液晶显示模块控制驱动器是一种功能极强的液晶控制模块,由台湾矽创电子公司生产,其主要包括如下几方面的功能:芯片内置32个普通驱动器common及64个段驱动器segment。芯片内置12864汉字图形点阵的液晶显示控制模块。芯片内置8192个中文汉字1616点阵),用于显示汉字。ST7920包含有两个型号,ST7920-BIG5内建BIG-5码繁体中文字型库,ST7920-GB内建GB简体中文字型库。芯片内置128个字符的ASCII字符库816点阵),用于显示常用的字符。芯片内置

6、64256点阵显示RAMGDRAM),用于显示图形。芯片内置有2MB的中文字型CGROM和64256点阵的GDRAM绘图区域,便于简单、有效地显示汉字和图形。芯片内置4组可编程控制的1616点阵造字空间。芯片可以采用4位/8位并行、2线/3线串行等多种控制接口,可以实现灵活的单片机接口。15.2.2 液晶显示控制驱动器功能说明 这里以内建简体中文字型库的ST7920-GB芯片为例,介绍液晶显示控制驱动器的功能以及字符、汉字和图形等的显示操作。 1基本读写操作 2忙碌标志BF) 3中文字型ROMCGROM)4半宽字型ROMHCGROM) 5自定义字型RAMCGRAM)6图标RAMIRAM) 7显

7、示数据RAMDDRAM)8绘图显示RAMGDRAM) 9地址计数器AC)10LCD驱动电路 11硬件游标/闪烁控制电路15.3 液晶显示控制器指令集 液晶显示控制器通过控制指令来完成液晶的显示操作。在液晶显示模块控制驱动器ST7920中,提供了两套控制指令:基本指令和扩充指令。这些指令都是用来控制液晶的显示操作。下面分别对各指令的使用进行介绍。15.3.1 基本指令集 液晶显示模块控制驱动器ST7920提供了11条基本指令。当RE=0时为基本指令集模式,下面分别介绍各基本指令的使用。 1清除显示指令2地址复位指令 3进入设定点指令4显示状态开关指令 5游标或显示移位控制指令6功能设定指令 7设

8、定CGRAM地址指令8设定DDRAM地址指令 9读取忙碌标志BF和地址指令10写数据到RAM指令 11读取RAM的值指令15.3.2 扩充指令集液晶显示模块控制驱动器ST7920扩充指令集提供了更高级的液晶显示控制。当RE=1时,为扩充指令集模式。ST7920提供了7种扩充指令,这些指令也是用来完成液晶显示控制的。下面分别介绍各指令的使用。1待命模式指令2卷动地址或RAM地址选择指令3反白选择指令4睡眠模式指令5扩充功能设定指令6设定IRAM地址或卷动地址指令7设定绘图RAM地址指令15.3.3 控制器指令操作方式液晶控制驱动器ST7920提供了并行和串行两类指令操作方式。这两种控制方式,由外

9、部PSB引脚来选择:当PSB引脚输入高电平时,为并行操作方式。当PSB引脚输入低电平时,为串行操作方式。其中,并行操作方式又可以分为8位并行操作方式和4位并行操作方式两种。下面分别对这两种指令操作方式进行介绍。串行数据传输的时序图 15.4 点阵图形型液晶操作子函数 液晶显示模块一般均内置控制器,其操作基本类似。这里以前面介绍的点阵图形型液晶控制器ST7920为例,介绍液晶显示模块的操作子函数。在下面介绍中,常用到的符号含义如下: E为液晶显示模块的读写使能信号。 R_W为液晶显示模块的读写选择信号。 RS为液晶显示模块的数据/指令信号。 D_I为液晶显示模块的数据指令选择信号。15.4.1

10、指令操作子函数指令操作子函数用于向液晶显示控制器写入各种操作指令。指令操作子函数程序示例如下:void WCOM(unsigned char dcode) /写指令程序unsigned char q; R_W=1; D_I=0;/设置状态Loop: P1=0 xFF; E=1;/使能有效 q=P1;/将P1口状态读入 E=0;/关闭使能信号 if(q&0 x80)/判断屏幕是否忙 goto Loop;/若忙,循环等待 R_W=0; D_I=0;/写数据指令 P1= dcode;/将数据送入P1口 E=1;/使能信号开 E=0;/使能信号关 15.4.2 数据操作子函数数据操作子函数用于

11、向液晶显示控制器写入各种操作数据。数据操作子函数程序示例如下:void Dat(unsigned char ddata)unsigned char q; R_W=1; D_I=0;/读状态指令Loop: P1=0 xFF; E=1;/使能 q=P1; E=0; if(q&0 x80)/判忙 goto Loop; D_I=1;/送数据指令 R_W=0; P1= ddata;/写入数据 E=1;/使能信号开 E=0;/使能信号关 15.4.3 初始化子函数初始化子函数用于初始化液晶显示控制器。初始化子函数程序示例如下:void Imim() P0=0 xFF;/初始化单片机端口 P1=0

12、xFF; P2=0 xFF; P3=0 xFF; E=0;WCOM(0 x38);/功能设定 WCOM(0 x08);/关显示指令 WCOM(0 x06);/游标右移 Clearlcd();/清屏 WCOM(0 x0c);/开显示指令 15.4.4 清屏子函数 清屏子函数用于对液晶显示器进行清屏操作。在ST7920控制器中,提供了两种方式进行清屏操作。下面分别进行介绍: 基本指令集清屏子函数,程序示例如下: void Clearlcd() D_I=0; R_W=0; P1=0 x01; WCOM(0 x01);/清除显示 15.4.5 汉字显示子函数汉字显示子函数用于在液晶屏上显示汉字。汉字显

13、示子函数程序示例如下:void Hanz() int i; WCOM(k);/设置起始点 for(i=0;ij;i+,p+) wbyte=*p; Dat(wbyte);/将汉字数组数据送入 15.4.6 图形显示子函数 图形显示子函数用于在液晶显示器上进行绘图操作。 程序中,使用了ST7920的扩充指令集来进行绘图操作。首先,通过指令操作子函数WCOM设定ST7920处于扩充指令集模式,然后通过页循环和列循环来送入图形数据。这里变量p2为图形数组指针,Column和Page为图形显示的起始列和行,z和y为图形数组的页和列。15.5 液晶汉字显示实例 点阵图形型液晶显示模块除了可以显示基本的数字

14、和英文字符外,最大的优势是还可以显示中文信息。因而,这里首先介绍点阵图形型液晶显示模块的字符及汉字的显示。15.5.1 电路设计 这里采用Atmel公司的AT89S52单片机,液晶显示模块选用内置ST7920的NH12864M。整个电路的电路图,如下图。电路图 15.5.2 程序设计 这里采用C51语言编写程序。具体操作步骤如下:液晶屏显示内容 15.6 液晶图形显示实例 点阵图形型液晶显示模块除了可以显示中文信息外,另一个优势是可以显示图形。因而,这里介绍如何提取自定义图形的点阵信息以及图形的显示。 15.6.1 图形数组的提取因为这里介绍的均为单色液晶,其只能显示黑白图形,因此需要首先将图片转化为黑白图,如下图。图形的点阵信息可以逐个查看像素点的黑白值。为了更快地得到图像的点阵信息,得到任何一个图形的点阵信息,可以选择一款字模提取程序。从中打开黑白图像,便可以得到该图的点阵信息,如下图。蝴蝶图案 提取点阵信息 15.6.2 图形显示程序设计 这里仍然采用前面的电路原理图,使用液晶显示图形的程序代码示例如下: 在该程序中,定义图形数组Tu,其中存放了前面用字模提取程序得到蝴蝶图案对应的点阵数据。在主函数中,首先初始化液晶屏,然后使用扩充指令集进行清屏操作。接着指定图像数组显示的页和列,以及起始页和

温馨提示

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

评论

0/150

提交评论