目录
前言:
一. LCD1602模块简介
二. 代码功能实现
三.总结
前言:
本文主要是51单片机的LCD液晶显示,使用的是LCD1602.下面是详细介绍和完整代码,欢迎大家的点赞,评论和关注.感谢.
一. LCD1602模块简介
LCD1602 模块具有以下特点:
显示特点:
- 可以显示两行每行 16 个字符。
- 能清晰地显示字母、数字和一些简单符号。
优点:
- 成本相对较低。
- 显示内容直观,易于理解。
基本构成:
- 液晶显示屏。
- 控制电路。
接口类型:
- 常见的有并行接口和串行接口。
工作原理:
- 通过向特定引脚发送指令和数据来控制显示内容。
应用场景:
- 各种小型电子设备的信息显示,如计算器、小型仪器仪表等。
- 智能家居设备的简单状态显示。
使用注意事项:
- 要注意引脚的正确连接。
- 按照规格书正确设置初始化参数。
- 避免在极端温度和湿度环境下使用。
LCD1602 模块因其简单易用且能满足基本的字符显示需求,在很多电子产品中得到了广泛应用。
引脚:VSS为电源地GND;VDD为电源正极5V;RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器;R/W为读写信号线,高电平时进行读操作,低电平时进行写操作.当RS和R/W共同 为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当 RS为高电平R/W为低电平时可以写入数据;E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;D0~D7为8位双向数据线;
二. 代码功能实现
lcd.h
主要是初始化,和写入数据,写入命令
#include "lcd.h"void Lcd1602_Delay1ms(uint c) //误差 0us
{uchar a,b;for (; c>0; c--){for (b=199;b>0;b--){for(a=1;a>0;a--);} }}void LcdWriteCom(uchar com) //写入命令
{LCD1602_E = 0; //使能LCD1602_RS = 0; //选择发送命令LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = com; //放入命令Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;
}void LcdWriteData(uchar dat) //写入数据
{LCD1602_E = 0; //使能清零LCD1602_RS = 1; //选择输入数据LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = dat; //写入数据Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;
}void LcdInit()
{LcdWriteCom(0x38); //开显示LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0xC0); //设置数据指针起点
}
lcd.h
#ifndef __LCD_H_
#define __LCD_H_#include<reg52.h>//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#endif#ifndef uint
#define uint unsigned int
#endif#define LCD1602_DATAPINS P0
sbit LCD1602_E=P2^7;
sbit LCD1602_RW=P2^6;
sbit LCD1602_RS=P2^5;void Lcd1602_Delay1ms(uint c); void LcdWriteCom(uchar com);void LcdWriteData(uchar dat);void LcdInit(); #endif
main.c
封装要输出的字符
u8 Disp[]=" hello work! ";
u8 Disp2[]=" 2024-05-20 ";
#include "reg52.h"
#include "lcd.h"typedef unsigned int u16;
typedef unsigned char u8;u8 Disp[]=" hello work! ";
u8 Disp2[]=" 2024-05-20 ";void main(void)
{u8 i,j;LcdInit();LcdWriteCom(0x80); //设置数据指针起点for(i=0;i<16;i++){LcdWriteData(Disp[i]); }LcdWriteCom(0xC0); //设置数据指针起点for(j=0;j<16;j++){LcdWriteData(Disp2[j]); } while(1);
}
三.总结
以下是关于 51 单片机的 LCD 液晶显示的总结:
优点:
- 可以直观地显示各种信息,如字符、数字、图形等。
- 提供清晰、稳定的显示效果。
- 相对容易控制和编程。
基本原理:
- 通过控制单片机的引脚与 LCD 模块进行通信。
- 发送指令和数据来配置显示模式、显示内容等。
主要步骤:
- 初始化 LCD 模块,包括设置工作模式、显示开关等。
- 编写代码向 LCD 写入要显示的数据或指令。
- 根据需要不断更新显示内容。
常见应用:
- 仪器仪表的显示界面。
- 简单的人机交互界面。
- 各种数据监测和显示系统。
注意事项:
- 要正确连接单片机和 LCD 模块的引脚。
- 注意指令和数据的传输格式和时序要求。
- 考虑显示内容的刷新频率以保证良好的视觉效果。
总之,51 单片机结合 LCD 液晶显示为各种嵌入式应用提供了一种有效的信息展示方式,在很多项目中都有广泛应用。