前言
本节我们开始学习LCD1602,LCD1602是字符型液晶显示屏,在实际项目中应用非常广泛,学完本节就可以逐步开发一些好玩的应用了。
一、基础知识
1.LCD1602简介
LCD1602是字符型液晶显示模块,专门用于显示字母、数字、符号等点阵式LCD,顾名思义,LCD1602一共可以显示两行,每一行能够显示16个字符数据,采用5V供电,具有低功耗、长寿面、搞可靠性等特性,实物图如下:
(1) 引脚说明
在 LCD1602 内部含有 80 个字节的 DDRAM,它是用来寄存显示字符的。其地址
和屏幕的对应关系如下
从上图可知,LCD1602中80个字节并不是所有的都用来显示数据,只有第一行的00~0F,第二行的40~4F用来显示,其他地址只能用来存储
(2) 指令表
(3) 常用指令说明
- 清屏指令
功能:清楚屏幕,置AC为0
- 模式设置指令
功能:光标和显示模式设置
设定每次输入1位数据后光标的移位方向,并且设定每次写入后的字符是否移动。
I/D(光标移动方向): 1:右移 0:左移
S(显示屏整体是否移动): 1 :有效右移 0:无效
- 显示开关控制指令
功能:控制显示器开/关,光标开/关,光标是否闪烁
D:1,开启显示功能; 0,关闭显示功能
C:1,有光标;0,无光标
B:1,光标闪烁;0,光标不闪烁
- 功能设定指令
功能:设置数据总线位数、显示行数、字型
DL:1,数据总线为8位; 0,数据总线为4位
N:1,显示2行;0,显示1行
F:1,5X7点阵;0,5X10点阵
2.硬件设计
打开硬件设计电路,LCD相关电路如下
注意:R7控制LCD1602驱动电压,可调,一般设计需要10K可调电阻,也可以字型调试OK后,焊接固定电阻。
二、实例
1.创建工程
将上一节工程复制出来,并修改名字为05-lcd1602
2.修改程序
/*------------------------------------------------------
*店铺网址:https://shop321633213.taobao.com/?spm=a1z10.3-c.0.0.33816af5iLgN2F
*适用于A08开发板
*实验现象:驱动LCD1602
*QQ群:906015840
* ------------------------------------------------------*/ #include<reg51.h> //头文件
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table_xiaoyi[]="XIAOYI IOT"; //
uchar code table_xiaoyi_welcome[]="Welcome!";
sbit LCD_EN=P3^7; //液晶使能信号
sbit LCD_RS=P3^5; //数据/命令选择端
sbit LCD_WR=P3^6;void delay_ms(uint ms)
{uint x,y;for(x=ms;x>0;x--)for(y=110;y>0;y--);
}void write_com(uchar com) //命令
{LCD_RS=0; //选择写命令P0=com;delay_ms(5);LCD_EN=1; //使能信号LCD_EN=0; //关闭使能
}void write_data(uchar date) //数据
{LCD_RS=1; //选择写数据P0=date;delay_ms(5);LCD_EN=1;LCD_EN=0;
}void init()
{LCD_EN=0;write_com(0x38); //00111000 设置16*2显示,5*7点阵 8为数据接口write_com(0x0c); //00001100 设置开显示,不显示光标write_com(0x06); // 00000110 写一个字符后地址指针加 1write_com(0x01); //00000001 显示清0,数据指针清零
}void main(void) //主函数
{uchar i;LCD_WR=0;init();// 写第一行数据write_com(0x80); for(i=0;i<10;i++){write_data(table_xiaoyi[i]);delay_ms(5);}// 写第二行数据write_com(0x80+0x40); for(i=0;i<8;i++){write_data(table_xiaoyi_welcome[i]);delay_ms(5);}while(1);
}
程序中将字符串"XIAOYI IOT"显示在第一行,"Welcome"显示在第二行。
三、运行
将上述程序生成的hex文件烧录到板子中,板子显示如下:
硬件获取:
51单片机物联网开发板 STC89C52RC实验板支持连云item.taobao.com一叶孤沙出品:一沙一世界,一叶一菩提