微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 全方位解析LCD1602特性及单片机显示应用

全方位解析LCD1602特性及单片机显示应用

时间:09-17 来源:电子发烧友网 点击:

  1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

  

  LCD1602

  LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

  

  市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

  LCD1602—特性

  +5V电压,对比度可调

  内含复位电路

  提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能

  有80字节显示数据存储器DDRAM

  内建有192个5X7点阵的字型的字符发生器CGROM

  8个可由用户自定义的5X7的字符发生器CGRAM

  1602LCD采用标准的14脚(无背光)或16脚(带背光)接口

  LCD1602—引脚功能介绍

  第1脚:VSS为电源地

  第2脚:VDD接5V电源正极

  第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生"鬼影",使用时可以通过一个10K的电位器调整对比度)。

  第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

  第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。

  第6脚:E(或EN)端为使能(enable)端。

  第7~14脚:D0~D7为8位双向数据端。

  第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

  

  LCD1602—指令说明及时序

  指令1:清显示,指令码01H,光标复位到地址00H位置。

  指令2:光标复位,光标返回到地址00H。

  指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

  指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

  指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。

  指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。

  指令7:字符发生器RAM地址设置。

  指令8:DDRAM地址设置。

  指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

  指令10:写数据。

  指令11:读数据。

  

  控制命令表

  

  LCD的管脚控制

  LCD1602——寄存器

  1602绝大多数是基于HD44780液晶芯片的,HD44780内置了DDRAM、CGROM和CGRAM,这三个都是存储器。

  CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)、显示数据RAM(DDRAM)、字符显示RAM缓冲区(DDRAM)

  但一行有40个地址,我们只用到前16个地址,第二行也是用前16个地址,对应地址如下

  

  DDRAM(显示数据存储RAM)

  

  若想要在屏幕的第一行第一列显示"A"字符,就要在DDRAM的00H地址写入"A"的代码就行了。

  我们向DDRAM里的00H地址送数据时,如数字1的代码,但是并不能显示1出来。这是我们最容易出错的地方,若想向00H处显示数据,则必须将00H加上80H,即0X80H+0X00H,若在01H处则为0X80H+0X01H,依次类推~

  LCD1602—CGROM

  

  1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形。这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码

  从上表可以看出最左边一列是供用户自定义字符的,共有16个,实际只有8个字节可以用,字符码为00000000—00000111这8个地址

  LCD1602—显示应用(单片机学习)

  LCD1602是51单片机中很重要的模块之一,为了方便新手学习1602,笔者把自己学习1602的一些心得体会拿出来和菜鸟分享,因笔者水平有限,错误在所难免,望大家指正。本文程序基于慧净HJ-1G51开发板。很多程序为本人自己编写,可以直接拿去用。

  一、关于LCD1602:

在编写LCD1602程序前,我们必须了解其手册上一些非常重要的信息,如果这些信息

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top