您当前的位置:首页 > 指南 > 正文

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

关于【lcd1602液晶】,lcd1602液晶显示介绍,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、lcd1602液晶:【硬见小百科】LCD1602的原理及实现办法2、lcd1602液晶,lcd1602液晶显示介绍

1、lcd1602液晶:【硬见小百科】LCD1602的原理及实现办法

LCD1602工作原理

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。1602LCD是指显示的内容16×2,即最多只能显示32个字符。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

5X7点阵可以看做5行7列等间距分布的led灯,每一个灯相当于一个像素点,你要表达的字母或者数字都是由这些像素点组成的。只需控制灯的亮灭就可以了。

目前市面上的字符液晶大多数是基于HD44708液晶芯片而设计的,1602也是用HD44708的。

1602字符型液晶显示器实物图

lcd1602主要用来显示数字、字母、图形以及少量自定义字符。可以显示2行16个字符,拥有16个引脚,其中8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。

实现方法

编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);编程便主要围绕这三个管脚展开按照时序进行初始化,写命令,写数据。

时序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。说白了就是单片机想让lcd进行初始化,显示数据等行为,就必须告诉lcd要做这些事了;lcd也是有脾气的,单片机想命令lcd就得按照lcd的规矩来。这个规矩,就是时序。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。指令集如下图:

可以看出,按照16进制,清屏指令就0x01。光标显示指令就是0x0c。

以上所有信息仅作为学习交流使用,不作为任何学习和商业标准。若您对文中任何信息有异议,欢迎随时提出,谢谢!

关于云创硬见

2、lcd1602液晶,lcd1602液晶显示介绍

1.简介

LCD1602是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780或者其它兼容芯片。与此相仿的是LCD12864液晶显示器,它是一种图形点阵显示器,能显示的内容比LCD1602要丰富得多,除了普通字符外,还可以显示点阵图案,带有汉字库的还可以显示汉字,它的并行驱动方式与LCD1602相差无几,所以,在这里花点时间是值得的。

一般来说,LCD1602有16条引脚,据说还有14条引脚的,与16脚的相比缺少了背光电源A(15脚)和地线K(16脚)。这块LCD1602的型号是HJ1602A,是绘晶科技公司的产品,它有16条引脚。如图1所示:

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

2.硬件参数

(1) LCD1602主要技术参数

a.显示容量:16×2个字符

b.芯片工作电压:4.5—5.5V

c.工作电流:2.0mA(5.0V)

d.模块最佳工作电压:5.0V

e.字符尺寸:2.95×4.35(W×H)mm

(2) 引脚定义

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

首先,1602液晶显示屏除了电源、地以外,有3个控制引脚 RS R/W E 和8个数据引脚DB0-7。建议8个数据引脚接在同一组上,程序写起来比较简单。硬件连接参考如图。

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

当我们想在指定位置写入内容时,要先指定地址,如在第一行第一位写入,地址位是00H,再加上DB7的1,即80H(0010000000),第二行第一位是40H,再加上DB7的1,即C0H(0011000000),依次类推。

LCD的已有的字模存储在CGROM中,自定义的存储在CGRAM,留给自定义的位置只有8个地址,字模地址为01000000-01000111八个地址,也就是最多自定义8个符号或者图形。

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

根据这条指令,来写一个摄氏度℃的自定义符号,对应图如下

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

**上面的数据也可以用8X8的字模软件进行获取字符数据**

用zimo221软件, 新建一个8*8的图像,留出左边3列,用右边5列点出自定义字符,选择取模方式C51,就可得到对应的编码

lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)

字符对应的数组为table【】={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00},将℃写入指定的位置之前,要先把对应数组写入CGRAM存储,再写入DDRAM显示。如果直接用已有的字符,可以直接把数组写入DDRAM显示。

区分清楚自定义字符和已有字符,程序就简单了。主要步骤是延时函数、写指令、写数据、初始化、主函数。

下面举两个例子,写入常规字符串12345,写入字符串℃。

```c

程序一

#include<reg52.h> //包含头文件

#define uint unsigned int //预定义

#define uchar unsigned char

sbit rs=P2^6; //1602的数据/指令选择控制线

sbit rw=P2^5; //1602的读写控制线

sbit en=P2^7; //1602的使能控制线

uchar code table[]="1234"; //要显示的内容放入数组table

void delay(uint n) //延时函数

{

uint x,y;

for(x=n;x>0;x--)

for(y=110;y>0;y--);

}

void lcd_wcom(uchar com) //1602写命令函数

{

rs=0; //选择指令寄存器

rw=0; //选择写

P0=com; //把命令字送入P2

delay(5); //延时一小会儿,让1602准备接收数据

en=1; //使能线电平变化,命令送入1602的8位数据口

en=0;

}

void lcd_wdat(uchar dat) //1602写数据函数

{

rs=1; //选择数据寄存器

rw=0; //选择写

P0=dat; //把要显示的数据送入P2

delay(5); //延时一小会儿,让1602准备接收数据

en=1; //使能线电平变化,数据送入1602的8位数据口

en=0;

}

void lcd_init() //1602初始化函数

{

lcd_wcom(0x38); //8位数据,双列,5*7字形

lcd_wcom(0x0c); //开启显示屏,关光标,光标不闪烁

lcd_wcom(0x06); //显示地址递增,即写一个数据后,显示位置右移一位

lcd_wcom(0x01); //清屏

}

void main() //主函数

{

uchar m=0;

lcd_init(); //液晶初始化

lcd_wcom(0x80); //显示地址设为80H(即00H,)上排第一位

for(m=0;m<4;m ) //将table[]中的数据依次写入1602显示

{

lcd_wdat(table[m]);

delay(200);

}

while(1); //动态停机

}

```

```c

程序二

#include<reg52.h> //包含头文件

#define uint unsigned int //预定义

#define uchar unsigned char

sbit rs=P2^6; //1602的数据/指令选择控制线

sbit rw=P2^5; //1602的读写控制线

sbit en=P2^7; //1602的使能控制线

uchar code table[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00}; //要显示的内容放入数组table

void delay(uint n) //延时函数

{

uint x,y;

for(x=n;x>0;x--)

for(y=110;y>0;y--);

}

void lcd_wcom(uchar com) //1602写命令函数

{

rs=0; //选择指令寄存器

rw=0; //选择写

P0=com; //把命令字送入P2

delay(5); //延时一小会儿,让1602准备接收数据

en=1; //使能线电平变化,命令送入1602的8位数据口

en=0;

}

void lcd_wdat(uchar dat) //1602写数据函数

{

rs=1; //选择数据寄存器

rw=0; //选择写

P0=dat; //把要显示的数据送入P2

delay(5); //延时一小会儿,让1602准备接收数据

en=1; //使能线电平变化,数据送入1602的8位数据口

en=0;

}

void lcd_init() //1602初始化函数

{

lcd_wcom(0x38); //8位数据,双列,5*7字形

lcd_wcom(0x0c); //开启显示屏,关光标,光标不闪烁

lcd_wcom(0x06); //显示地址递增,即写一个数据后,显示位置右移一位

lcd_wcom(0x01); //清屏

}

void main() //主函数

{

uchar m;

lcd_init(); //液晶初始化

lcd_wcom(0x40);//设定CGRAM地址,把自定义字符存储进去

for(m=0;m<8;m ) //将table[]中的数据依次写入1602显示

{

lcd_wdat(table[m]);

delay(200);

}

lcd_wcom(0x85); //显示地址设为85H,上排中间位

lcd_wdat(0);

while(1); //动态停机

}

```

总结:区分DDRAM和CGRAM,DDRAM是字符对应在屏幕上的位置,CGRAM是把自己定义的字符存在8个字节里,即lcd_wcom(0x40)。

本文关键词:lcd1602液晶显示电路,lcd1602液晶显示模块流程图,lcd1602液晶显示模块工作原理,lcd1602液晶显示模块图片,lcd1602液晶显示原理。这就是关于《lcd1602液晶,lcd1602液晶显示介绍(LCD1602的原理及实现办法)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 中国丢了多少国土 中国一共丢失了多少领土,答案让你大吃一惊

下一篇: 成都飞九寨沟复航(成都飞九寨沟航班查询



推荐阅读