一、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)开关单片机开发板烧录成功