51单片机-LCD1602

【51单片机系列】LCD1602液晶模块 51单片机中LCD1602液晶显示屏使用。 阅读详情

目录

1.硬件设计

1.1.LCD1602介绍

1.2.原理图

2.软件设计

2.1.控制原理

2.2.控制时序

2.3.指令集

2.4.程序设计

3.知识点

3.1.宏定义

3.2.指针与数组

3.3.for语句


1.硬件设计

1.1.LCD1602介绍

  • LCD1602是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。
  • LCD1602主要用来显示数字、字母、图形以及少量自定义字符。可以显示2行16个字符,拥有16个引脚,其中8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节V0和背光源AK
  • 关于LCD的工作原理,结构堆叠等的介绍,可参考如下链接:https://lishiyi.blog.youkuaiyun.com/article/details/124106767?spm=1001.2014.3001.5502

1.2.原理图

2.软件设计

  • 硬件分析:分析原理图,了解每个引脚的作用,并配置引脚;
  • 控制原理:单片机是如何控制显示的,在哪个位置显示,显示什么内容?
  • 时序分析:执行的内容是数据,还是指令;是读,还是写....?
  • 指令集:整个程序在执行过程中,又会涉及哪些指令?
  • 实现逻辑:初始化,数据控制.....

2.1.控制原理

  • 通过控制DDRAM来控制数据显示的位置,通过控制CGRAM来控制数据显示的内容;如:在第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码 41H ;

  • 寻址:寻址的意思是在哪个位置去显示数据,控制器内部设有一个数据地址指针,通过它们可以访问内部的全部80个字节RAM(LCD1602的实际显示去只要32个字节),需要在哪个位置显示,就写入对应的RAM地址,其地址映射图如下:

  • 数据:在 LCD 模块上固化了字模存储器,就是CGROM (HD44780 内置了192 个常用字符的字模)和 CGRAM(另外还有 8 个可以自定义的字符产生RAM);所以需要显示什么数据,就可以通过如下字模关系表来选择

2.2.控制时序(写)

  • 写指令:RS=L,RW=L,E=H,D0~D7=指令(有效);
  • 写数据:RS=H,RW=L,E=H,D0~D7=数据(有效);代码如下:
//*写数据,Data为要写入的数据
void LCD_WriteData(unsigned char Data)
{
	LCD_RS=1;//RS置高电平,代表的是写数据,而不是写指令
	LCD_RW=0;//RW置低电平,代表的是写数据,而不是读数据
	LCD_DataPort=Data;//P0口代表的是要写入的数据内容
	LCD_E=1;//使能,高电平有效
	LCD_Delay();
	LCD_E=0;//使能,低电平截止
	LCD_Delay();
}

2.3.指令集

2.4.程序设计

LCD1602.c文件

#include <REGX52.H>

//*引脚定义
sbit LCD_RS=P2^6;
sbit LCD_RW=P2^5;
sbit LCD_E=P2^7;
#define LCD_DataPort P0 //宏定义,直接将数据接口替换成P0接口

//*延时函数
void LCD_Delay()
{
	unsigned char i, j;

	i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
}

//*写指令,Command为要写入的指令
void LCD_WriteCommand(unsigned char Command)
{
	LCD_RS=0;//RS置低电平,代表的是写指令,而不是写数据
	LCD_RW=0;//RW置低电平,代表的是写指令,而不是读指令
	LCD_DataPort=Command;
	LCD_E=1;//使能,高电平有效
	LCD_Delay();//高度电平的使能,转换太快,因此要进行延时
	LCD_E=0;//使能,低电平截止
	LCD_Delay();
}

//*写数据,Data为要写入的数据
void LCD_WriteData(unsigned char Data)
{
	LCD_RS=1;//RS置高电平,代表的是写数据,而不是写指令
	LCD_RW=0;//RW置低电平,代表的是写数据,而不是读数据
	LCD_DataPort=Data;//P0口代表的是要写入的数据内容
	LCD_E=1;//使能,高电平有效
	LCD_Delay();//高度电平的使能,转换太快,因此要进行延时
	LCD_E=0;//使能,低电平截止
	LCD_Delay();
}

//*初始化
//*显示模式设置:0x38,八位数据接口,两行显示,5*7点阵
//*显示开关及光标设置:0x0C,显示开,光标关,闪烁关
//*输入方式设置:0x06,数据读写操作后,光标自动加一,画面不动
//*清屏设置:0x01,清屏
void LCD_Init(void)
{
	LCD_WriteCommand(0x38);//八位数据接口,两行显示,5*7点阵
	LCD_WriteCommand(0x0C);//显示开,光标关,闪烁关
	LCD_WriteCommand(0x06);//数据读写操作后,光标自动加一,画面不动
	LCD_WriteCommand(0x01);//清屏
}

//*光标位置
void LCD_SetCursor(unsigned char Line,unsigned char Column)
{
	if(Line==1)
	{
		LCD_WriteCommand(0x80|Column-1);//第1行,第N列,第1行的起始位置是0x00
	}
	else
	{
		LCD_WriteCommand(0x80|Column-1+0x40);//第2行,第N列,0x40是第2行的起始位置
	}
}

//*显示字符
void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char)
{
	LCD_SetCursor(Line,Column);//DDRAM地址设置
	LCD_WriteData(Char);//设置要写入的字符数据
}

//*显示字符串
//*这里有用到指针,*String等效于String[],指针指向该字符组的第一个地址,依次显示出来,直到'\0'(结束标志位)的出现
void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char *String)
{
	unsigned char i;
	LCD_SetCursor(Line,Column);//光标位置
	for(i=0;String[i]!=0;i++)
	{
		LCD_WriteData(String[i]);
	}
}

//*次方函数
//*Y=0,返回值Result=1,相当于任何数字的0次方等于1
//*Y=2,for循环执行两次,Result=X*X=X^2
int LCD_Pow(int X,int Y)
{
	unsigned char i;
	int Result=1;
	for(i=0;i<Y;i++)
	{
		Result*=X;
	}
	return Result;
}

//*显示无符号数字
//*如要显示123,其显示逻辑如下
//*123/10^2%10=1
//*123/10^1%10=2
//*123/10^0%10=3
void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length)
{
	unsigned char i;
	LCD_SetCursor(Line,Column);//光标位置
	for(i=Length;i>0;i--)
	{
		LCD_WriteData('0'+Number/LCD_Pow(10,i-1)%10);
//*'0'相当于0x30,在Number...前面加上'0',目的就是和ASCII码表对应,显示出要显示的数字
	}
}

//*显示有符号数字
void LCD_ShowsignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length)
{
	unsigned char i;
	unsigned int Number1;
	LCD_SetCursor(Line,Column);
	if(Number>=0)
	{
		LCD_WriteData('+');
		Number1=Number;//数字大于0的时候,显示Number
	}
	else
	{
		LCD_WriteData('-');
		Number1=-Number;//数字小于0的时候,显示-Number
	}
	for(i=Length;i>0;i--)
	{
		LCD_WriteData('0'+Number1/LCD_Pow(10,i-1)%10);
	}
}

//*显示16进制
void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length)
{
	unsigned char i;
	unsigned char SingleNumber;
	LCD_SetCursor(Line,Column);//光标位置
	for(i=Length;i>0;i--)
	{
		SingleNumber=Number/LCD_Pow(16,i-1)%16;
		if(SingleNumber<10)
		{
			LCD_WriteData('0'+SingleNumber);//小于10显示数字
		}
		else
		{
			LCD_WriteData('A'+SingleNumber-10);	//大于等于10显示字母
		}
	}
}

//*显示二进制
void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length)
{
	unsigned char i;
	LCD_SetCursor(Line,Column);
	for(i=Length;i>0;i--)
	{
		LCD_WriteData('0'+Number/LCD_Pow(2,i-1)%2);	
	}
}

LCD1602.h文件

#ifndef __LCD1602_H__
#define __LCD1602_H__

//*以下是.h头文件需要调用的命令
void LCD_WriteCommand(unsigned char Command);//写指令
void LCD_WriteData(unsigned char Data);//写数据
void LCD_Init(void);//初始化
void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char);//显示字符
void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char *String);//显示字符串
void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);//显示无符号数字
void LCD_ShowsignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length);//显示有符号数字
void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);//显示16进制
void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);//显示二进制

#endif

main.c文件

#include <REGX52.H>
#include"LCD1602.h"
#include"DELAY.h"

void main()
{
	LCD_Init();//初始化
	LCD_ShowChar(1,1,'A');//显示字符A
	LCD_ShowString(1,3,"ABC");//显示字符串ABC
	LCD_ShowNum(1,7,123,3);//显示无符号数字123
	LCD_ShowsignedNum(1,11,-123,3);//显示有符号数字-123
	LCD_ShowHexNum(2,1,0xA1,2);//显示16进制A1
	LCD_ShowBinNum(2,4,0xA1,8);//显示二进制0xA1(10100001)
	LCD_ShowChar(2,13,0xDF);//显示字符°
	LCD_ShowString(1,16,"ABCDEFGHIJKLMN");//显示字符串A~N,超过16位显示区
	
	while(1)
	{
		LCD_WriteCommand(0x18);//光标向左平移一个字符,但光标不动,移屏(流动字幕效果)
		Delay(1000);//防止光标移动速度过快,增加延时
	}
}

3.知识点

3.1.宏定义

  • 宏定义:是C语言提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。
  • 宏定义和操作符的区别:宏定义是替换,不做计算,也不做表达式求解。宏定义又称为宏代换、宏替换,简称“宏”。在 C 语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。
  • 宏定义的格式:#DEFINE 标识符 字符串
  • 掌握"宏"概念的关键是“换”,一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”,即在对相关命令或语句的含义和功能作具体分析之前就要换。
//*引脚定义
sbit LCD_RS=P2^6;
sbit LCD_RW=P2^5;
sbit LCD_E=P2^7;
#define LCD_DataPort P0 //宏定义,直接将数据接口替换成P0接口

3.2.指针与数组

引用一个数组元素,可以用以下两种方法:

  • 下标法,如 a[i] 形式;
  • 指针法,如 *(a+i)或 *(p+i)。其中 a 是数组名,p是指向数组元素的指针变量,其初值为 p=a;
//*显示字符串
//*这里有用到指针,*String等效于String[],指针指向该字符组的第一个地址,依次显示出来,直到'\0'(结束标志位)的出现
	unsigned char i;
void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char *String)
{
	unsigned char i;
	LCD_SetCursor(Line,Column);//光标位置
	for(i=0;String[i]!=0;i++)
	{
		LCD_WriteData(String[i]);
	}

3.3.for语句

for (表达式1; 表达式2; 表达式3)

  • 表达式1:是初始化步骤,只执行一次
  • 表达式2:是控制表达式,控制循环的终止
  • 表达式3:在每次循环的最后被执行。
  • 执行步骤:首先执行表达式1进行初始化,然后判断表达式2的值是否为真,若为真,则执行循环体,然后执行表达式3;随后再次对表达式2的值进行判断,若为真,则再次执行循环体和表达式3,依次循环直到表达式2的值为0为止。
//*次方函数
//*Y=0,返回值Result=1,相当于任何数字的0次方等于1
//*Y=2,for循环执行两次,Result=X*X=X^2
int LCD_Pow(int X,int Y)
{
	unsigned char i;
	int Result=1;
	for(i=0;i<Y;i++)
	{
		Result*=X;
	}
	return Result;
}
单片机常用芯片总结(一)——LCD1602液晶屏 目录一、芯片介绍二、芯片引脚定义三、内部结构图四、时序图、指令读写和数据读写四、LCD1602操作流程 一、芯片介绍 **LCD1602(Liquid Crystal Display)**液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显示容量:16×2个字符(两行,每行16个字符),每个字符为5*7点阵 二、芯片引脚定义 LCD1602电路图如下: 引脚 功能 VSS 地 VDD 电源正极(4.5V~5.5V) 阅读详情

相关推荐

【51单片机】LCD1602(江科大)

LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符· 显示容量:16×2个字符,每个字符为5*7点阵。

2302_80796399的博客 8155

51单片机——LCD1602模块

如果想显示在第一行第二列的话则表示十六进制的0x01,但是显示在那里时,要求最高位D7为高电平,因此从0000 0001变成1000 0001,因此每次高位为0x80,所以就是0x80+0x01=0x81,在代码里面第一行第二行可以直接表示1或2,但是列却要减1以后在化成十六进制,所以第一行第n列则为(0x80 |( lie-1)) ,第二行第n列则表示(0x80 |(lie-1)+0x40),第二行加上0x40是因为第二行开始就是40H,而不是00H,下面代码展示。

2301_77540313的博客 4327

基于51单片机的LCD1602显示温湿度

51单片机基础难点知识理解后,直接通过下面3个小项目可以更好理解51单片机。中断 定时器 串口甚至是基础的IO输入输出都有结合,再加上一些外设模块的学习(如1602显示屏,L298N电机驱动等) 项目一:秒表设计 项目二:LCD1602显示器显示内容 项目三:循迹+蓝牙小车 LCD1602显示屏 ...

m0_56197680的博客 8407

51单片机——LCD1602

LCD1602简介 特征 体积小、功耗低、操作简单 工作参数 5V工作电压,对比度可调,内含复位电路 显示容量16*2个字符 工作电流2.0mA 提供各种控制命令:清屏、字符闪烁等 80字节显示数据存储器DDRAM(data display) 内建 192个 5*7 点阵的字型的字符发生器 CGROM(Character Generation) 8个可由用户自定义的 5*7 的字符发生器 CGRAM(Character Generation) 液晶屏的分类 引脚说明..

m0_58600162的博客 5862

51单片机LCD1602电子时钟

51单片机LCD1602电子时钟 一.完成部分 基于51单片机用LCD1602实现时-分的显示 按键控制时-分的调整 能实现整时报时的功能(蜂鸣器响) 按键切换模式(模式一:时-分显示,模式二:60秒倒计时) 闹钟模式 二.未完成部分 电路板的焊接 三.从中学到了什么 1.新部分:首先我了解到了lcd1602的工作方式,其中:Vss接电源地,Vcc接5V电源,RS与WR为输入令与...

weixin_44414234的博客 1万+

51单片机电子秤(HX711模块 + LCD1602)

51单片机电子秤(HX711模块 + LCD1602) 1.---------------序 2.HX711测重模块 3.LCD1602显示模块 4.电子秤整体实现原理 5.模块升级>>去皮与还原 6.源代码 一.首先考虑如何把这样一个项目设计出来 1.明确目标 ---- --做这样一个东西,我们需要实现怎样的效果-- ---- 2.思路清晰 ---- 3.-- 4.确保执行 --有效的执行力是实现目标必不可缺的-- ---- 二.HX711测重模块原理 1.HX711模块可以

qq_51402855的博客 4万+

基于51单片机LCD1602显示

基于51单片机LCD1602显示 要在1602上显示字符,要大概明白1602液晶显示屏工作原理。 一般的液晶显示器(Liquid Crystal Display, LCD) 的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。 LCD1602则是一种专门用于显示字母、数字、符号等点阵式LCD,每行可以显示16个字符,一共可以显示2行的字符型液晶显示模块。 一般1602一共有16位引脚。(引脚作用如下表) 编号 符号 引脚作用 编号 符号 引脚作用 1 VSS 电源正级 9

Lucifer_min的博客 5万+

使用51单片机的矩阵键盘和LCD1602做一个密码锁

使用51单片机与LCD1602模块做了一个密码锁。

w736996104的博客 1万+

51单片机LCD1602显示

1.原理: 1602 液晶也叫 1602 字符型液晶,它能显示 2 行字符信息,每行又能显示 16 个字符。 它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若 干个 5x7 或者 5x10 的点阵字符位组成,每个点阵字符位都可以用显示一个字符, 每位之间有一个点 距的间隔,每行之间也有间隔,起到了字符间距和行间距的作 用,正因为如此,所以它 不能很好的显示图片 (1)引脚: (2)其地址 和屏幕的对应关系如下: 要显示字符时 要先输入显示字...

weixin_46364710的博客 1万+

c51单片机lcd1602

通过以上原理和代码,C51单片机与LCD1602的基本实现过程如下:15.硬件连接:通过数据总线和控制信号将C51与LCD1602连接。16.控制命令:通过RS、RW、E控制LCD的工作模式、显示模式等。17.软件编程:通过编写初始化、写命令、写数据、显示字符等函数,控制LCD1602显示内容。这样,C51单片机就能够通过LCD1602显示文本信息、数字等。

2401_84997369的博客 2289

使用51单片机+lcd1602转接板-iic接口进行显示

使用51单片机+lcd1602转接板-iic接口进行显示~

linxinloningg的博客 1万+

基于51单片机的LCD1602实现分秒计时总结

基于51单片机的LCD1602实现分秒计时总结 完成要求 1、实现分秒计时。 2、按键控制分秒的调整(两个按键分别控制分秒增加)。 3、实现整分报时功能(蜂鸣器响)。 4、PCB板的绘制及焊接 设计思路及实现原理 1、首先实现分秒计时功能。为实现分秒计时功能,需要使用到单片机中的计时器功能,通过计时器来完成秒增加的运算,进而对分进行运算。 2、其次在实现分秒自动计时的基础上添加按键分别对分...

weixin_43670405的博客 1万+

LCD1602.h

LCD1602.h

51单片机驱动LCD1602显示原理及例程

51单片机驱动LCD1602显示原理及例程1.LCD1602A介绍2.LCD1602A中文手册 下载3.LCD1602A接线4. 51单片机使用lcd1602A显示例程 1.LCD1602A介绍 ①LCD1602A 可以显示两行字符,一行显示16个; ②只能显示数字和字母(5X7的点阵)不能显示汉字; ③每个字符之间有间隔; ④引脚图 2.LCD1602A中文手册 下载 3.LCD1602A接线 4. 51单片机使用lcd1602A显示例程 lcd1602A.c文件▼ #include "lcd16

jun8086的博客 1万+

使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案

DeepSeek是由深度求索公司开发的大规模语言模型,最新版本DeepSeek-V3采用混合专家(MoE)架构,拥有671B参数,激活37B参数,在多项基准测试中表现优异3。要使用DeepSeek的API服务:访问DeepSeek平台注册账号获取API Key(形如AKShare是基于Python的金融数据接口库,提供股票、基金、期货、宏观经济等领域的海量数据。主要特点包括:免费开源,数据源丰富支持多种数据格式(DataFrame/JSON)持续更新维护安装命令。

Kin 3173

飞书+扣子+DeepSeek三件套:5分钟搞定公众号文章批量改写(附完整配置截图)

本文详细介绍了如何利用飞书、扣子和DeepSeek三款工具,无需编程即可搭建一个高效的公众号文章批量改写自动化工作流。通过飞书多维表格管理链接与成果,扣子平台串联整个流程,并调用DeepSeek智能体进行内容润色与改写,实现从内容抓取到智能处理的完整自动化,大幅提升新媒体运营效率。

python9snake的博客 208

51单片机之LCD1602驱动

1602液晶也叫1602字符型液晶,它能显示2行字符信息,每行又能显示16个字符。它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。

weixin_44453694的博客 2595

Win11内核隔离无法打开的解决方案详解

内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。

mmoo_python的博客 4828

C51单片机LCD1602驱动程序

C51单片机LCD1602驱动程序LCD1602简介1602的引脚操作时序写操作时序时序参数LCD1602关键性操作一、初始化二、清屏指令二、进入模式设置指令三、显示开关控制指令四、功能设定指令RAM地址映射图 LCD1602简介 LCD1602字符型液晶(每行显示16个字符,一共可以显示两行)——一种专门用来显示字母、数字、符号的点阵型液晶模块。它由若干个57或者510的点阵字符组成,每个点阵字符位都可以用来显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此

阿昌 1万+

SpringCloud 2025王炸更新!GraalVM原生镜像启动速度提升90%实战

在当今云原生和Serverless架构盛行的时代,应用的启动速度已成为衡量技术栈竞争力的关键指标。传统SpringCloud应用由于依赖JVM的动态类加载、反射等机制,启动时间通常超过30秒,在Kubernetes滚动更新和函数计算场景下成为显著性能瓶颈。2025年,SpringCloud迎来里程碑式更新,通过深度集成GraalVM原生镜像技术,实现了启动速度提升90%的惊人突破,让SpringCloud应用正式进入"秒级启动"时代。

小筱在线博客 1099

C/C++ LMS算法详解及源码

LMS(Least Mean Squares)算法是一种自适应滤波器算法,用于估计一个系统的参数,以使输出信号与期望信号之间的均方误差最小化。LMS算法通过使用梯度下降的方法,逐步调整自适应滤波器的权值来优化滤波效果。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 3276

C51单片机实验-LCD1602显示实验

实验目的: 掌握LCD1602显示控制方法; 掌握利用Proteus进行单片机控制系统的仿真及调试方法。 任务: 根据要求编写程序,并写出原理性注释; 将检查程序运行的结果,分析一下是否正确; 完成所建工程的仿真及调试。 实验内容 设计51单片并行口实现LCD1602的显示控制,要求在Protues中设计接口电路图,并编程实现在LCD1602上显示出双行字符(显示具体内容自定)。 Proteus 原理图及运行仿真结果 代码 #include <reg51.h> typedef unsi

Brave_Runer的博客 8024

Open-AutoGLM 实战:手把手教你用 AI 操作手机「喂饭教程」

Open-AutoGLM 是一个由智谱AI开源的手机操作智能体框架,由手机端智能助手框架Phone Agent和9B大小的模型AutoGLM-Phone-9B组成,借助ADB自动执行点击、滑动、输入等操作——用户只需用自然语言描述任务,系统便能自动规划并完成整个操作流程。

blues_C的博客 1267

51单片机lcd1602显示时间日期

实验内容: 使用51单片机控制LCD1602液晶显示屏显示时间/日期

weixin_43689161的博客 3万+

uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释

uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支

🏆 前端领域优质创作者 5639

Android 埋点信息分析——statsd框架

StatsPullAtomService 用以采集数据,并将数据填充到参数中,在StatsManager.PullAtomCallbackInternal 中会转换成 Parcel 格式传入到 native。 StatsCallbackPuller::PullInternal 中会回调StatsManager.PullAtomCallbackInternal 的onPullAtom,该函数中会回调StatsCallbackPuller::PullInternal 中定义的PullResultRecei

私房菜 2628
上一篇: 51单片机-控制数码管
下一篇: 51单片机-矩阵键盘
桃亭TT
博客等级 码龄5年 268粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

桃亭TT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值