液晶显示控制(1602)c语言实例

上传人:ldj****22 文档编号:48806066 上传时间:2018-07-20 格式:PPT 页数:21 大小:1.28MB
返回 下载 相关 举报
液晶显示控制(1602)c语言实例_第1页
第1页 / 共21页
液晶显示控制(1602)c语言实例_第2页
第2页 / 共21页
液晶显示控制(1602)c语言实例_第3页
第3页 / 共21页
液晶显示控制(1602)c语言实例_第4页
第4页 / 共21页
液晶显示控制(1602)c语言实例_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《液晶显示控制(1602)c语言实例》由会员分享,可在线阅读,更多相关《液晶显示控制(1602)c语言实例(21页珍藏版)》请在金锄头文库上搜索。

1、第九 讲 LCD控制显示字符一、LCD简介 二、1602字符型液晶显示屏 三、1602控制程序编写 四、实训一、LCD简介n LCD 液晶显示器是 Liquid Crystal Display 的简称 ,LCD 的构造是在两片平行的玻璃当中放置液态 的晶体,两片玻璃中间有许多垂直和水平的细小 电线,透过通电与否来控制杆状水晶分子改变方 向,将光线折射出来产生画面。 u1 对比度 对比度是屏幕上同一点最亮时(白色)与最暗时( 黑色)的亮度的比值,高的对比度意味着相对较高 的亮度和呈现颜色的艳丽程度。 u2 亮度 LCD是一种介于固态与液态之间的物质,本身是不 能发光的,需借助要额外的光源才行。因

2、此,灯管 数目关系着液晶显示器亮度。最早的液晶显示器只 有上下两个灯管,发展到现在,普及型的最低也是 四灯,高端的是六灯。u3 信号响应时间 响应时间指的是液晶显示器对于输入信号的反应速度 ,也就是液晶由暗转亮或由亮转暗的反应时间,通常 是以毫秒(ms)为单位。 u4 可视角度 大多数光都是从屏幕中垂直射出来的,所以从某一个 较大的角度观看液晶显示器时,便不能看到原本的颜 色,甚至只能看到全白或全黑。为了解决这个问题, 到目前为止有三种比较流行的技术,分别是: TN+FILM、IPS(IN-PLANE -SWITCHING)和 MVA(MULTI-DOMAIN VERTICAL align M

3、ENT)。 n LED(Light Emitting Diode),发光二极管 u是一种固态的半导体器件,它可以直接把电转化为光。 LED的心脏是一个半导体的晶片,晶片的一端附在一个 支架上,一端是负极,另一端连接电源的正极,使整个 晶片被环氧树脂封装起来。二、1602字符型液晶显示屏 n 字符型LCD是由若干个57或511等点阵符位组 成。每一个点阵字符位都可以显示一个字符。点 阵字符位之间有一空点距的间隔起到了字符间距 和行距的作用。目前市面上常用的有16字1行, 16字2行(简称1602),20字2行和40字2行 等的字符模块组,其中1602液晶显示屏应用比较 广泛。 引脚符号功能说明1

4、VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时 对比度最弱,接地电源时对 比度最高( 对比度过高时会产生“鬼影”,使用时可 以通过一个10K的电位器调整对比度) 。 4RSRS为寄存器选择 ,高电平1时选择 数据 寄存器、低电平0时选择 指令寄存器。5R/WR/W为读 写信号线,高电平时进 行读操 作,低电平时进 行写操作。6EE(或EN)端为使能(enable)端,下降沿 使能。1、1602引脚引脚符号功能说明 7DB0低4位三态、 双向数据总线 0位 (最低位) 8DB1低4位三态、 双向数据总线 1位 9DB2低4位三态、 双向数据总线 2位 10DB3低

5、4位三态、 双向数据总线 3位 11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位 13DB6高4位三态、 双向数据总线 6位 14DB7高4位三态、 双向数据总线 7位 (最高位)(也是busy flag ) 15BLA背光电源正极 16BLK背光 电源负极1602与8051单片机的参考连接图2、 LCD 1602 状态字说明注意:每次对控制器读写操作之前,都要 进行读写检测(忙闲),确保STA7=03、 LCD 1602片内RAM控制器内部带有808(80字节)位的数据缓冲区 ,如下图所示:控制器内部设有一个数据指针,可以通过设置数 据指针访问片内80个字

6、节的数据。4、 LCD 1602指令说明 (1)显示模式设置:(2)显示开/关及光标模式设置:(3)其它设置5、基本操作时序 (1)读状态 输入:RS=L;RW=H;E=H 输出:D0D7=状态字 (2)写指令: 输入:RS=L;RW=L; D0D7=指令码;E=高脉冲 输出:无 (3)读数据 输入:RS=H;RW=H;E=H 输出:D0D7=数据 (4)写数据 输入:RS=H;RW=L; D0D7=数据;E=高脉冲 输出:无(1)读状态 输入:RS=L;RW=H;E=H 输出:D0D7=状态字n uchar Busy_Check( ) n nuchar lcd_status; nRS=0;R

7、W=1;E=1; nDelay_Ms(1); nlcd_status=P0; nE=0; nreturn lcd_status; n (2)写指令: 输入:RS=L;RW=L; D0D7=指令码;E=高脉冲 输出:无 n void Write_LCD_Command(uchar cmd) n n while(Busy_Check() /busy! wait! nRS=0;RW=0;E=0; nP0=cmd; nE=1; nDelay_Ms(1); nE=0; n n void Write_LCD_Data(uchar dat) n n while(Busy_Check() /busy! wai

8、t! nRS=1;RW=0;E=0; nP0=dat; nE=1; nDelay_Ms(1); nE=0; n (4)写数据 输入:RS=H;RW=L; D0D7=数据;E=高脉冲 输出:无6、 LCD 1602初始化过程 (1)延时15ms; (2)写指令38H(不检测忙信号); (3)延时5ms; (4)写指令38H(不检测忙信号); (5)延时5ms; (6)写指令38H(不检测忙信号); (7)以后每次写指令、读写数据操作之前均需检测忙信号; (8)写指令38H:显示模式设置; (9)写指令08H:显示关闭; (10)写指令01H:显示清屏; (11)写指令06H:显示光标移动设置;

9、(12)写指令0CH:显示开及光标设置;LCD 1602初始化函数实例n void Initialize_LCD( ) n nWrite_LCD_Command(0x38); nDelay_Ms(1); nWrite_LCD_Command(0x01); nDelay_Ms(1); nWrite_LCD_Command(0x06); nDelay_Ms(1); nWrite_LCD_Command(0x0c); nDelay_Ms(1); n 字符函数实例n void Display_String(uchar x,uchar y,uchar *str) n nuchar i=0; n/setting display char start nif(y=0) nWrite_LCD_Command(0x80|x); nif(y=1) nWrite_LCD_Command(0xc0|x); nfor(i=0;i16;i+) n nWrite_LCD_Data(stri); n n 三、1602控制程序编写三、实训n1、设计显示不同的字符; n2、水平滚动和垂直滚动显示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号