为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

液晶显示1602

2010-10-17 30页 ppt 1MB 53阅读

用户头像

is_984288

暂无简介

举报
液晶显示1602null第十四讲 16×2液晶显示 第十四讲 16×2液晶显示 null14.0 项目演示效果图XP_14_01 16×2液晶显示14.1 项目目标设计14.1 项目目标设计了解1602液晶显示器(LCD)的基本工作原理; 掌握74HC00逻辑芯片在液晶显示系统中所起的作用; 理解给出的1602液晶显示C语言源程序的结构和各语句所起作用; 在达到以上三点目标之后,根据本章“项目任务扩展”中提出的问题,以组或个人为单位,在规定时间里完成扩展项目任务。14.2 项目任务 14.2 项目任务 1602液...
液晶显示1602
null第十四讲 16×2液晶显示 第十四讲 16×2液晶显示 null14.0 项目演示效果图XP_14_01 16×2液晶显示14.1 项目目标设计14.1 项目目标设计了解1602液晶显示器(LCD)的基本工作原理; 掌握74HC00逻辑芯片在液晶显示系统中所起的作用; 理解给出的1602液晶显示C语言源程序的结构和各语句所起作用; 在达到以上三点目标之后,根据本章“项目任务扩展”中提出的问题,以组或个人为单位,在规定时间里完成扩展项目任务。14.2 项目任务 14.2 项目任务 1602液晶显示控制项目的电路原理图如图14-1所示,STC89C52RC的nRD和nWR控制信号线分别与74HC00的Pin1和Pin2相连,74HC138的输出引脚Pin13接74HC00的Pin9和Pin10引脚,通过这三个控制信号的读写组合控制1602LCD的工作使能,读写数据则通过1602LCD内置寄存器进行。 本项目是通过编写程序,在1602液晶显示器的第一行显示静态字符,第二行在给定时间间隔内循环动态显示ASCII码。null图14-1 1602液晶显示控制项目的电路原理图14.3 系统板上硬件连线 14.3 系统板上硬件连线 对本项目进行实训时不需在开发板上插接任何连接插线或连线,给开发板上电前,请将1602液晶显示器插接在图14-1所示电路上的RP1插座上。null图14-2 1602液晶显示控制C语言程序图14.4 程序流程图14.5 C语言源程序(略)14.5 C语言源程序(略)14.6 系统构成和程序14.6.1 1602字符型液晶引脚及功能介绍 单片机系统的输出显示器件主要有:发光二极管、七段LED数码管及液晶显示器。液晶显示器在计算器、万用表、电子表及家用电子产品中应用很广,显示的主要是数字、专用符号和图形。 晶液显示器有以下几个优点:显示质量高、数字式接口、体积小、重量轻、功耗低。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,使其根据输入信号显示相应的内容。 液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA和移动通信工具等众多领域。null 液晶显示器的分类方法有很多种,通常可按其显示方式分为段式、字符式和点阵式等。1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,分为上下2行,每行显示16个字符,通常称为1602字符型液晶显示器。图14-3是安装在开发板上的1602液晶显示器实物图。 1602LCD采用的14 Pin(无背光)或16 Pin(带背光)接口,PMY单片机开发板上选用了16 Pin(带背光)接口,见图14-1,各引脚说明如表14-1所示。null图14-3 开发板上的1602液晶显示器实物图null表14-1 1602液晶显示器引脚说明null 表14-1中的引脚解释说明说明如下: ·Pin1 GND为电源地。 ·Pin2 VCC接+5V。 ·Pin3 VO 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个1KΩ的电位器设定对比度。 ·Pin4 RS 为寄存器选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。 ·Pin5 R/W 为读/写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平、R/W为高电平时可以读忙信号,当RS为高电平、R/W为低电平时可以写入数据。 ·Pin6 E 为使能端,当E端由高电平跳变成低电平时,液晶显示器执行命令。 ·Pin7~Pin14 DB0~DB7 为8位双向数据线。 ·Pin15 A 背光源正极。 ·Pin16 K 背光源负极。null14.6.2 1602字符型液晶基本指令及操作时序表14-2 1602液晶显示器引脚接口说明1602液晶显示器内部共有11条控制指令,如表14-2所示。null表14-2 1602液晶显示器引脚接口说明(续)null 1602液晶显示器的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 ·指令1 清显示。指令码01H,光标复位到地址00H位置。 ·指令2 光标复位。光标返回到地址00H。 ·指令3 光标和显示模式设置。 I/D为光标移动方向,高电平右移,低电平左移; S为屏幕上所有文字是否左移或者右移标志,高电平表示有效,低电平则无效。 ·指令4 显示开/关控制。 D为控制整体显示的开与关设置,高电平表示开显示,低电平表示关显示;C为控制光标的开与关设置,高电平表示有光标,低电平表示无光标;B为控制光标是否闪烁设置,高电平闪烁,低电平不闪烁。 ·指令5 光标或字符移位。 S/C为高电平时移动显示的文字,低电平时移动光标。null·指令6 功能设置指令。DL取高电平时为4位总线,低电平时为8位总线;N取低电平时为单行显示,高电平时双行显示;F为低电平时显示5×7的点阵字符,高电平时显示5×10的点阵字符。 ·指令7 字符发生存储器地址设置。 ·指令8 数据存储器地址设置。 ·指令9 读忙信号和光标地址。BF为忙标志位,高电平表示忙,此时显示器不能接收指令或者数据,如果为低电平表示不忙。 ·指令10 写数据。 ·指令11 读数据。 1602LCD的读写操作时序分别如图14-4和图14-5所示,根据这两个图归纳出的基本操作时序表,见表14-3。null图14-4 1602LCD的读操作时序null图14-5 1602LCD的写操作时序null表14-3 1602 LCD的基本操作时序表null14.6.3 1602字符型液晶的显存及字库图14-6 1602的内部显示地址null 液晶显示器是一个慢显示器件,所以在执行每条指令之前一定要确认显示器的忙标志(调用指令9检测BF位)是否为低电平,为低表示不忙,否则显示器处于忙状态,外部给定指令失效。显示字符时,要先输入显示字符地址,也就是告诉显示器在哪里显示字符,图14-6是1602的内部显示地址。 例如,第二行第一个字符的地址是40H,能否对1602液晶显示器直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1(见表14-2中的指令8说明),所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。null 在对液晶显示器的初始化中要先设置其显示模式,在液晶显示器显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶显示器是否处于忙的状态。 1602液晶显示器内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图14-7所示。这些字符有阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写英文字母'A'的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,就能看到字母'A'。null 图14-7 1602LCD的CGROM字符代码与图形对应图null14.6.4 项目系统及程序分析 如图14-8是1602液晶显示器项目的系统功能图,图中保留了与本项目相关的各个控制、数据和地址信号,其中信号RS、R/W和E的功能在表14-1中已被列出。根据前文所述,1602液晶显示器的E端为使能端,由表14-3可知,当E端为高电平或由高跳变成低电平时,液晶显示器的执行给定的4种读写指令。 由图14-8可以看出,决定E状态的三个输入控制信号为CSLCD、nRD和nWR,它们通过74HC00(4通道与非门)的输入组合,构成以下等式关系: E= = null 图14-8 1602液晶显示显示器项目的系统功能图null 可以看出,必须同时满足以下两个条件,1602液晶显示器才会进行读取操作: ·CSLCD信号必须有效(为低电平)。 ·nRD和nWR中任一个信号为低(执行读或者写指令)时。 第一个条件规定了74HC138译码器的nY2通道必须被选通,由此确定输入CBA的编码为010,地址端A15A14A13(P27P26P25)的编码也为010;第二个条件在执行1602液晶显示器的读写指令时,单片机自动设置有效。 由表14-3可知,1602液晶显示器的读写指令分4种:读状态、写指令、读数据和写数据。以读数据为例,RS和R/W都为高电平时,执行该指令,因此A0A1=11,由图14-8可以看出,STC单片机的其它地址端悬空,可以视作1,与前面确定的地址编码A15A14A13相结合,得出LCD读数据端口地址为01011111 11111111B=0x5fffH。null 其余3种情况的端口地址也可用该方法确定,引入主函数前的端口地址定义: #define LCDCMDPort XBYTE[0x5ffc] //LCD命令字的地址 #define LCDStatusPort XBYTE[0x5ffd] //LCD状态标志端口 #define LCDWdataPort XBYTE[0x5ffe] //LCD写数据端口 #define LCDRdataPort XBYTE[0x5fff] //LCD读数据端口 #define Busy 0x80 //LCD忙判别位 学习了以上知识后,结合项目中C语言源程序的注解,读者不难理解所有程序代码。值得一提的是,前文提及1602液晶显示器相对于STC单片机来说是一个“慢”设备,每次STC单片机对其进行读写操作时,必须检测LCD的忙标志位。由表14-2的指令9可知,当BF为高电平表示忙,此时液晶显示器不能接收指令或者数据;如果为低电平表示不忙。则液晶显示器可以接收指令或数据。null 以向1602LCD写入1字节数据为例,引入C语言源程序中的相关程序: void LcdWritedata(char DataW) { while(LCDStatusPort&Busy);//等待LCD的忙标志是否结束 LCDWdataPort=DataW; //向LCD数据口写入数据 } Busy为0x80用来检测LCD状态读出标志端口,只有当该端口D7位为0,while循环内的条件不满足则跳出该循环执行下一条指令,这表示LCD可以接收数据,此时程序才能向LCD数据口写入数据。14.7 项目扩展任务14.7 项目扩展任务 理解1602液晶显示项目的软硬件原理,以组或个人为单位,设计以下程序: 用4×4矩阵键盘在液晶显示器上显示特定的16个字符,键码分配按以下规则,即S1、S2~S16为0、1~F,如当按键S7时,液晶显示器上应显示字符8,显示位置和形式不作要求。null
/
本文档为【液晶显示1602】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索