LCD1602对的显示

 一、LCD1602的介绍

二、引脚说明

三、程序说明

1.判断LCD602是否再忙

2.写指令。

3.写数据。

4.LCD1602初始化。

四、总程序

五、实验现象

烧录教程 

1、开发板准备

2、烧录软件的准备 

3、烧录程序 


一、LCD1602的介绍

LCD1602是一款广泛应用于工业领域的字符型液晶显示模块。它的核心组成部分包括:

1、液晶显示屏:这是一种点阵型液晶显示器,能够同时显示16行共32个字符。

2、控制驱动主电路:通常采用的是HD44780及其扩展驱动电路HD44100。这些电路负责液晶显示器的供电、刷新以及对像素点的控制。

3、外部接口:LCD1602具备标准的16脚接口,包括GND(电源地)、VCC(电源正极)以及用于配置液晶显示参数的其他引脚。
     LCD1602的特点在于能够显示ASCII码字符表中的任意字符,并且具有较低的成本、简单的编程接口以及较少的外围设备需求。然而,与OLED或某些其他类型的液晶显示器相比,它在显示图形方面的性能有限,因为这种显示方式主要依赖于点阵排列来实现字符和图像的显示。此外,由于其设计上的限制,LCD1602通常只能显示小尺寸的文字和符号,这可能会影响到一些需要大字体和高清晰度的应用场景。

LCD实图如下:


 

二、引脚说明

1:VSS:为电源地;(GND)

2:VDD:接5V正电源;(5v)

3:V0:为液晶屏显示对比度调整端口。

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

5:RW:为读写信号线,高电平时进行读操作,低电平进行写操作。

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

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

15:A:背光源正极(5V)

16:K:背光源负极(GND)

引脚图:


 

三、程序说明

1.判断LCD602是否再忙

在忙则等待。读双向数据线端的最高位D7,其为忙标志位。如果为高电平表示忙,不接受数据或指令(等待)。如果为低电平为不忙,此时可以接受数据或指令(放行)。

void Read_Busy()
{
	uchar busy;
	P0=0xff;
	RS=0;
	RW=1;
	do
	{EN=1;
	busy=P0;
	EN=0;
	}while(busy & 0x80);
}

2.写指令

RS选择指令寄存器,RW选择写操作。D0~D7输入你所需要写进的指令。后通过EN制造下降沿,让液晶屏执行命令即可(前面要判断是否忙)

void write_cmd(uchar cmd)
{
	Read_Busy();
	RS=0;
	RW=0;
	P0=cmd;
	EN=1;
	EN=0;
}

3.写数据

RS选择数据寄存器,RW选择写操作。D0~D7输入你所需要写进的数据。后通过EN制造下降沿,让液晶屏执行命令即可(前面要判断是否忙)

  void write_dat(uchar dat)
{
	Read_Busy();
	RS=1;
	RW=0;
	P0=dat;
	EN=1;
	EN=0;
}


4.LCD1602初始化

输入一系列指令即可。(指令的含义在后面解释)

void LCD_init()
{
	delayms(0x0f);  //延时一段时间
	write_cmd(0x38);
	delayms(0x05);    //延时一段时间
	write_cmd(0x38);
	write_cmd(0x0f);
	write_cmd(0x01);
	write_cmd(0x06);
	write_cmd(0x0c);
}

四、总程序

#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;

sbit RS=P2^6;
sbit RW=P2^5;
sbit EN=P2^7;

void Read_Busy()
{
	uchar busy;
	P0=0xff;
	RS=0;
	RW=1;
	do
	{EN=1;
	busy=P0;
	EN=0;
	}while(busy & 0x80);
}
	
//写指令
void write_cmd(uchar cmd)
{
	Read_Busy();
	RS=0;
	RW=0;
	P0=cmd;
	EN=1;
	EN=0;
}
	
//写数据
void write_dat(uchar dat)
{
	Read_Busy();
	RS=1;
	RW=0;
	P0=dat;
	EN=1;
	EN=0;
}



void delayus()
{
	uchar i;
	for(i=0;i<255;i++);
}

void delayms(uchar m)
{
	uchar j;
	for(j=0;j<m;j++)
    {
		delayus();
	}
}

//初始化LCD1602
void LCD_init()
{
	delayms(0x0f);  //延时一段时间
	write_cmd(0x38);
	delayms(0x05);    //延时一段时间
	write_cmd(0x38);
	write_cmd(0x0f);
	write_cmd(0x01);
	write_cmd(0x06);
	write_cmd(0x0c);
}

void main()
{
	LCD_init();
	write_cmd(0x80|0x04);
	write_dat('B');
	while(1);
}

五、实验现象

使用 USB 线将开发板和电脑连接成功后,把编译后产生的.hex 文件烧入到芯片内,实现现象如下:在 LCD1602 液晶上显示字符信息。
实验现象如图:

烧录教程 

1、开发板准备

(1)检查芯片型号是不是STC89C52RS

普中A2开发板单片机芯片:

(2)单片机开发板连接电脑

2、烧录软件的准备 

(1)下载好烧录软件鼠标左键双击打开运行

 (2)芯片型号的选择

(3)检查串口是否有红框圈中的 USB-SERIAL CH340 字样(后面的COM口不用管,每台电脑都可能不一致)。有的话证明你的电脑已经装了CH340驱动;没有的就下载。

(4)打开程序文件找到已经编译生成的.hex文件,单击选中后点击打开

3、烧录程序 

(1)点击下载编程按钮

(2)开关单片机开发板烧录成功

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肌肉松鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值