当前位置:首页 > 技术学院 > 技术前线
[导读]lcd1602液晶屏在很懂工业产品上都有应用,LCD1602能够能够同时显示32个字符,价格便宜,编程简单而且稳定可靠。lcd1602液晶屏是一种图形点阵显示器,显示原理简单易懂,都是液晶屏内部的液晶材料变化而显示不同的字符,因为液晶是具有流动特性的物质,所以只需外加很微小的力量即可使液晶分子运动,以最常见普遍的向列型液晶为例,液晶分子可轻易的借着电场作用使得液晶分子转向,由于液晶的光轴与其分子轴相当一致,故可借此产生光学效果,而当加于液晶的电场移除消失时,液晶将借着其本身的弹性及黏性,液晶分子将十分迅速的回撤消来未加电场前的状态。

lcd1602液晶屏就是通过电压来改变填充在两块平行板之间的液晶材料内部分子的排列状况,以达到遮光和透光的目的来显示深浅不一,错落有致的图象,而且只要在两块平板间再加上三元色的滤光层,就可实现显示彩色图象。


lcd1602中文资料---LCD1602液晶屏特点

a. 显示质量高

由于1602LCD每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,画质高且不会闪烁。

b. 数字式接口

1602液晶屏都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

c. 体积小、重量轻

1602液晶模块通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示屏要轻得多。

d. 功耗低

相对而言,1602液晶显示屏的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示屏要少得多。

液晶显示模块LCD1602的内部结构可以分成三部分:一为LCD控制器,二为LCD驱动器,三为LCD显示装备。



lcd1602中文资料---lcd1602接线

在了解LCD1602接线图之前,我们先看看LCD1602的引脚定义图。

1脚:VSS为接地;

2脚:VDD接5V电源VCC;

3脚:VO为液晶显示器对比度调整;VO是液晶显示的偏压信号,可接10K的3296精密电位器。或同样阻值的RM065/RM063蓝白可调电阻。


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

5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;

6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;

7~14脚:D0~D7为8位双向数据线;

15脚:背光电源正极;

16脚:背光电源负极。



LCD1602液晶显示模块可以和单片机AT89C51直接接口接线:


也可以按照下图显示的电路图接线即可,需要说明的是在这个电路图中,LCD的第三脚VEE没有接,这个脚是控制屏幕对比度的。可以将电位器的两端分别接VCC和GND,中间端接LCD的第三脚。


lcd1602中文资料---1602LCD主要技术参数

显示容量:16×2个字符 ;芯片工作电压:4.5—5.5V ;工作电流:2.0mA(5.0V) ;模块最佳工作电压:5.0V ;字符尺寸:2.95×4.35(W×H)mm。

LCD1602的基本操作分为四种:

1. 读状态:输入RS=0,RW=1,E=高脉冲。输出:D0—D7为状态字。

2. 读数据:输入RS=1,RW=1,E=高脉冲。输出:D0—D7为数据。

3. 写命令:输入RS=0,RW=0,E=高脉冲。输出:无。

4. 写数据:输入RS=1,RW=0,E=高脉冲。输出:无。

时序时间参数表:



lcd1602中文资料----lcd1602与单片机连接图

LCD1602如何接单片机了?给大家分享一个LCD1602接单片机原理PCB图如下:


代码如下:

#include《reg52.h》 //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

#include《intrins.h》

sbit RS = P2^4; //定义端口

sbit RW = P2^5;

sbit EN = P2^6;

#define RS_CLR RS=0

#define RS_SET RS=1

#define RW_CLR RW=0

#define RW_SET RW=1

#define EN_CLR EN=0

#define EN_SET EN=1

#define DataPort P0

/*------------------------------------------------

uS延时函数,含有输入参数 unsigned char t,无返回值

unsigned char 是定义无符号字符变量,其值的范围是

0~255 这里使用晶振12M,精确延时请使用汇编,大致延时

长度如下 T=tx2+5 uS

------------------------------------------------*/

void DelayUs2x(unsigned char t)

{

while(--t);

}

/*------------------------------------------------

mS延时函数,含有输入参数 unsigned char t,无返回值

unsigned char 是定义无符号字符变量,其值的范围是

0~255 这里使用晶振12M,精确延时请使用汇编

------------------------------------------------*/

void DelayMs(unsigned char t)

{

while(t--)

{

//大致延时1mS

DelayUs2x(245);

DelayUs2x(245);

}

}

/*------------------------------------------------

判忙函数

------------------------------------------------*/

bit LCD_Check_Busy(void)

{

DataPort= 0xFF;

RS_CLR;

RW_SET;

EN_CLR;

_nop_();

EN_SET;

return (bit)(DataPort & 0x80);

}

/*------------------------------------------------

写入命令函数

------------------------------------------------*/

void LCD_Write_Com(unsigned char com)

{

// while(LCD_Check_Busy()); //忙则等待

DelayMs(5);

RS_CLR;

RW_CLR;

EN_SET;

DataPort= com;

_nop_();

EN_CLR;

}

/*------------------------------------------------

写入数据函数

------------------------------------------------*/

void LCD_Write_Data(unsigned char Data)

{

//while(LCD_Check_Busy()); //忙则等待

DelayMs(5);

RS_SET;

RW_CLR;

EN_SET;

DataPort= Data;

_nop_();

EN_CLR;

}

/*------------------------------------------------

清屏函数

------------------------------------------------*/

void LCD_Clear(void)

{

LCD_Write_Com(0x01);

DelayMs(5);

}

/*------------------------------------------------

写入字符串函数

------------------------------------------------*/

void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)

{

if (y == 0)

{

LCD_Write_Com(0x80 + x); //表示第一行

}

else

{

LCD_Write_Com(0xC0 + x); //表示第二行

}

while (*s)

{

LCD_Write_Data( *s);

s ++;

}

}

/*------------------------------------------------

写入字符函数

------------------------------------------------*/

void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)

{

if (y == 0)

{

LCD_Write_Com(0x80 + x);

}

else

{

LCD_Write_Com(0xC0 + x);

}

LCD_Write_Data( Data);

}

/*------------------------------------------------

初始化函数

------------------------------------------------*/

void LCD_Init(void)

{

LCD_Write_Com(0x38); /*显示模式设置*/

DelayMs(5);

LCD_Write_Com(0x38);

DelayMs(5);

LCD_Write_Com(0x38);

DelayMs(5);

LCD_Write_Com(0x38);

LCD_Write_Com(0x08); /*显示关闭*/

LCD_Write_Com(0x01); /*显示清屏*/

LCD_Write_Com(0x06); /*显示光标移动设置*/

DelayMs(5);

LCD_Write_Com(0x0C); /*显示开及光标设置*/

}

/*------------------------------------------------

主函数[上面已经把显示功能封装好了,今后再写其他显示就直接调用]

------------------------------------------------*/

void main(void)

{

LCD_Init();

LCD_Clear();//清屏

while (1)

{

LCD_Write_Char(7,0,‘o’);

LCD_Write_Char(8,0,‘k’);

LCD_Write_String(1,1,“www.doflye.net”);

while(1);

}

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

三相步进电机的用途是增加驱动器,脉冲由PLC或CNC(数控)等发送,三相步进电机也就是说,内部是由三相绕组连接成三角形,即三根电线。

关键字: 三相 步进电机 接线

温湿度控制器是以先进的单片机为控制核心,采用进口高性能温湿度传感器,可同时对温度、湿度信号进行测量控制,并实现液晶数字显示,还可通过按键对温、湿度分别进行上、下限设置和显示,从而使仪表可以根据现场情况,自动启动风扇或加热...

关键字: 湿度传感器 接线

步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

关键字: 步进 电机驱动器 接线

普通的电源一般是线性电源,线性电源,是指调整管工作在线性状态下的电源.而在开关电源中则不一样,开关管(在开关电源中,我们一般把调整管叫做开关管)是工作在开、关两种状态下的:开——电阻很小;关——电阻很大。

关键字: 开关电源 接线

北京2022年5月25日 /美通社/ -- 随着人工智能技术的普及和推广,AI对话得到了更为广泛的应用,据艾瑞咨询数据显示,2021年对话式AI的市场规模为45亿元,带动规模...

关键字: 机器人 BSP 模型 接线

异步电机分单相异步电机与三相异步电机。

关键字: 电机 接线

火线一般是红色的线,淡蓝色的线是零线,而黄绿相间的双色线则是地线。

关键字: 电线 接线

想必大家都知道,水电安装是家装过程中至关重要的一步,且不能出现差错,否则入住后可能会引发安全事故。但是许多人在安装开关的时候,并不知道如何接线,下面小编就跟大家说说电灯开关怎么接线以及家用开关插座如何选择。

关键字: 电灯开关 接线

电线插座在生活中是很常见的,不管是家居生活还是工作生活中都离不开它,给我们使用电器提供了可能性,除非是拥有太阳能技术,否则电器都需要连接电线才能使用,而电线在安装过程中若是不谨慎的话,就容易出现漏电、短路等问题,所以要按...

关键字: 电源插座 接线

首先准备工具需要一把老虎钳,也就是剥线钳,还有一卷电工胶布

关键字: 电线 接线
关闭
关闭