【proteus经典实战】显示温度和电压测量值在一个LCD屏幕上

一、简介

      为基于微控制器的系统设计的,旨在实现温度和电压的实时测量并将结果显示在LCD屏幕上。核心部件包括DS1621数字温度传感器和MAX1241 A/D转换器:DS1621用于温度测量,而MAX1241则负责电压测量。通过精确读取这些传感器的数据,处理这些数据,并以易于读取的格式在LCD上展示出来,定义相关接口用于初始化和设置一些与LCD及可能的I2C设备相关的硬件接口。

二、头文件选择,变量定义

    在8051微控制器上基于嵌入式C语言的程序片段。定义一系列的宏定义、全局变量和特殊功能位(sbit),用于简化寄存器操作和提高代码可读性。

2.1 头文件:

这是8051微控制器编程中常用的头文件,包括了特定于8051的寄存器定义和sfr(特殊功能寄存器)的宏定义。

2.2 宏定义:

uchar 和 uint 分别为 unsigned char 和 unsigned int 的简化形式,用于声明变量。

High 和 Low 分别定义了逻辑高电平(1)和低电平(0),用于提高代码的可读性。

_nop 定义了一个空操作,通常对应于汇编语言中的NOP指令,这里被定义为空花括号。

2.3 LCD外设地址:

PAGEADD、TIERADD 和 DIS_STARADD 是LCD显示相关的地址,用于LCD内存映射或寄存器操作。

2.4 全局变量:

key_value: 用于存储按键扫描的结果或类似功能的数值。

voltage_display: 一个数组,用来存储要在LCD上显示的电压值。

2.5 特殊功能位:

DI, E, CS1, CS2, RW, cs, sclk 和 dout 是与LCD显示和其它外设通信的控制线,对应于端口1的不同位。

I2C_SCL 和 I2C_SDA 是与I2C总线通信的串行时钟和数据线,这显示了程序可能包含与I2C兼容设备的通信。

2.6 代码:

A

三、定义字符表

       定义一个字符表,其中包含了ASCII字符和一些中文字符的显示数据。通过使用这个字符表,可以在液晶模块上显示出对应的字符,字符表中的每个字符对应一个8x8的字模,每个字模使用8个字节来表示。

其中,table1定义了ASCII字符的字模,table2定义了一些中文字符的字模。

       每个字符在字符表中的索引位置,以及对应的字符,使用这个字符表时,可以根据需要从字符表中取出相应的字模数据,然后根据液晶模块的显示方式进行显示。以下是字符数组

/*****************************字符表 显示"Welcome Use"
******************************/
uchar code table1[]={
0x00,0x3e,0x51,0x49,0x45,0x3e,0x00,0x00,//0(0)
0x00,0x00,0x42,0x7f,0x40,0x00,0x00,0x00,//1
0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00,//2
0x00,0x21,0x41,0x45,0x4b,0x31,0x00,0x00,//3
0x00,0x18,0x14,0x12,0x7f,0x10,0x00,0x00,//4
0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//5
0x00,0x3c,0x4a,0x49,0x49,0x30,0x00,0x00,//6
0x00,0x01,0x01,0x79,0x05,0x03,0x00,0x00,//7
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,//8
0x00,0x06,0x49,0x49,0x29,0x1e,0x00,0x00,//9
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// (10)
0x00,0x00,0x00,0x47,0x00,0x00,0x00,0x00,//!
0x00,0x23,0x13,0x08,0x64,0x62,0x00,0x00,//%
0x00,0x36,0x49,0x55,0x22,0x50,0x00,0x00,//&
0x00,0x14,0x08,0x3e,0x08,0x14,0x00,0x00,//*
0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00,//+
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,//-
0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,//.
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,///
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,//:(19)
0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00,//=
0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00,//?
0x00,0x32,0x49,0x79,0x41,0x3E,0x00,0x00,//@(22)
0x00,0x7e,0x11,0x11,0x11,0x7f,0x00,0x00,//A
0x00,0x41,0x7f,0x49,0x49,0x36,0x00,0x00,//B
0x00,0x3e,0x41,0x41,0x41,0x22,0x00,0x00,//C
0x00,0x41,0x7f,0x41,0x41,0x3e,0x00,0x00,//D
0x00,0x7f,0x49,0x49,0x49,0x49,0x00,0x00,//E
0x00,0x7f,0x09,0x09,0x09,0x01,0x00,0x00,//F
0x00,0x3e,0x41,0x41,0x49,0x7a,0x00,0x00,//G(29)
0x00,0x7f,0x08,0x08,0x08,0x7f,0x00,0x00,//H
0x00,0x00,0x41,0x7f,0x41,0x00,0x00,0x00,//I
0x20,0x40,0x41,0x3f,0x01,0x01,0x00,0x00,//J
0x00,0x7f,0x08,0x14,0x22,0x41,0x00,0x00,//K
0x00,0x7f,0x40,0x40,0x40,0x40,0x00,0x00,//L
0x00,0x7f,0x02,0x0c,0x02,0x7f,0x00,0x00,//M
0x00,0x7f,0x06,0x08,0x30,0x7f,0x00,0x00,//N
0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,//O
0x00,0x7f,0x09,0x09,0x09,0x06,0x00,0x00,//P
0x00,0x3e,0x41,0x51,0x21,0x5e,0x00,0x00,//Q(39)
0x00,0x7f,0x09,0x19,0x29,0x46,0x00,0x00,//R
0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00,//S
0x00,0x01,0x01,0x7f,0x01,0x01,0x00,0x00,//T
0x00,0x3f,0x40,0x40,0x40,0x3f,0x00,0x00,//U
0x00,0x1f,0x20,0x41,0x20,0x1f,0x00,0x00,//V
0x00,0x7f,0x20,0x80,0x20,0x7f,0x00,0x00,//W
0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00,//X
0x00,0x07,0x08,0x70,0x08,0x07,0x00,0x00,//Y
0x00,0x61,0x51,0x49,0x45,0x43,0x00,0x00,//Z
0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00,//a(49)
0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00,//b
0x00,0x38,0x44,0x44,0x44,0x28,0x00,0x00,//c
0x00,0x38,0x44,0x44,0x48,0x7f,0x00,0x00,//d	
0x00,0x38,0x54,0x54,0x54,0x18,0x00,0x00,//e
0x00,0x00,0x08,0x7e,0x09,0x02,0x00,0x00,//f
0x00,0x0c,0x52,0x52,0x4c,0x3e,0x00,0x00,//g
0x00,0x7f,0x08,0x04,0x04,0x78,0x00,0x00,//h
0x00,0x00,0x44,0x7d,0x40,0x00,0x00,0x00,//i
0x00,0x20,0x40,0x44,0x3d,0x00,0x00,0x00,//j
0x00,0x00,0x7f,0x10,0x28,0x44,0x00,0x00,//k(59)
0x00,0x00,0x41,0x7f,0x40,0x00,0x00,0x00,//l
0x00,0x7c,0x04,0x78,0x04,0x78,0x00,0x00,//m
0x00,0x7c,0x08,0x04,0x04,0x78,0x00,0x00,//n
0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00,//o
0x00,0x7e,0x0c,0x12,0x12,0x0c,0x00,0x00,//p
0x00,0x0c,0x12,0x12,0x0c,0x7e,0x00,0x00,//q
0x00,0x7C,0x08,0x04,0x04,0x08,0x00,0x00,//r
0x00,0x58,0x54,0x54,0x54,0x64,0x00,0x00,//s
0x00,0x04,0x3f,0x44,0x40,0x20,0x00,0x00,//t
0x00,0x3c,0x40,0x40,0x3c,0x40,0x00,0x00,//u(69)
0x00,0x1c,0x20,0x40,0x20,0x1c,0x00,0x00,//v
0x00,0x3c,0x40,0x30,0x40,0x3c,0x00,0x00,//w
0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00,//x
0x00,0x1c,0xa0,0xa0,0x90,0x7c,0x00,0x00,//y
0x00,0x44,0x64,0x54,0x4c,0x44,0x00,0x00,//z(74)
};/****************************中文字符表 显示"欢迎使用液晶模块"
*****************************/
uchar code table2[]={
0x14,0x24,0x44,0x84,0x64,0x1c,0x20,0x18,
0x0f,0xe8,0x08,0x08,0x28,0x18,0x08,0x00,
0x20,0x10,0x4c,0x43,0x43,0x2c,0x20,0x10,
0x0c,0x03,0x06,0x18,0x30,0x60,0x20,0x00,//欢(0)
0x40,0x41,0xce,0x04,0x00,0xfc,0x04,0x02,
0x02,0xfc,0x04,0x04,0x04,0xfc,0x00,0x00,
0x40,0x20,0x1f,0x20,0x40,0x47,0x42,0x41,
0x40,0x5f,0x40,0x42,0x44,0x43,0x40,0x00,//迎(1)
0x40,0x20,0xf0,0x1c,0x07,0xf2,0x94,0x94,
0x94,0xff,0x94,0x94,0x94,0xf4,0x04,0x00,
0x00,0x00,0x7f,0x00,0x40,0x41,0x22,0x14,
0x0c,0x13,0x10,0x30,0x20,0x61,0x20,0x00,//使(2)
0x00,0x00,0x00,0xfe,0x22,0x22,0x22,0x22,
0xfe,0x22,0x22,0x22,0x22,0xfe,0x00,0x00,
0x80,0x40,0x30,0x0f,0x02,0x02,0x02,0x02,
0xff,0x02,0x02,0x42,0x82,0x7f,0x00,0x00,//用(3)
0x10,0x61,0x06,0xe0,0x18,0x84,0xe4,0x1c,
0x84,0x65,0xbe,0x24,0xa4,0x64,0x04,0x00,
0x04,0x04,0xff,0x00,0x01,0x00,0xff,0x41,
0x21,0x12,0x0c,0x1b,0x61,0xc0,0x40,0x00,//液(4)
0x00,0x00,0x00,0x00,0x7e,0x2a,0x2a,0x2a,
0x2a,0x2a,0x2a,0x7e,0x00,0x00,0x00,0x00,
0x00,0x7f,0x25,0x25,0x25,0x25,0x7f,0x00,
0x00,0x7f,0x25,0x25,0x25,0x25,0x7f,0x00,//晶(5)
0x10,0xd0,0xff,0x50,0x90,0x04,0xf4,0x54,
0x5f,0x54,0x54,0x5f,0xf4,0x04,0x00,0x00,
0x03,0x00,0xff,0x00,0x00,0x84,0x85,0x45,
0x35,0x0f,0x15,0x25,0x65,0xc4,0x44,0x00,//模(6)
0x10,0x10,0xff,0x10,0x10,0x00,0x08,0x08,
0xff,0x08,0x08,0x08,0xf8,0x00,0x00,0x00,
0x08,0x18,0x0f,0x04,0x85,0x41,0x31,0x0d,
0x03,0x05,0x09,0x11,0x31,0x61,0x21,0x00,//块(7)
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF, 
0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F, 
0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,//电(8)
0x00,0x00,0xFE,0x02,0x42,0x42,0x42,0x42,
0xFA,0x42,0x42,0x42,0x62,0x42,0x02,0x00,
0x20,0x18,0x27,0x20,0x20,0x20,0x20,0x20, 
0x3F,0x20,0x21,0x2E,0x24,0x20,0x20,0x00,//压(9)
0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A, 
0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00, 
0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,
0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,//温(10)
0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,
0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A, 
0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,//度(11)
0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2, 
0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00, 
0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F, 
0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00,//测(12)
0x40,0x40,0x40,0xDF,0x55,0x55,0x55,0xD5,
0x55,0x55,0x55,0xDF,0x40,0x40,0x40,0x00, 
0x40,0x40,0x40,0x57,0x55,0x55,0x55,0x7F, 
0x55,0x55,0x55,0x57,0x50,0x40,0x40,0x00,//量(13)
};

四、各种函数介绍

4.1 延时函数

定义一个名为`Delay_nms`的函数,它用于延迟或休眠一段时间。这个函数接收一个无符号字符类型的参数`n`,表示需要延迟的次数。

Delay_nms(uchar n)
{// 定义一个无符号字符类型的变量a,用于循环计数uchar a;// 开始一个空循环,条件是n大于0for(;n>0;n--){// 开始另一个循环,循环次数为100次for(a=0;a<100;a++){// 四个_nop指令,它们是NOP(No Operation)指令,不会执行任何操作,只是占用了指令周期,因此可以用于延迟。_nop;_nop;_nop;_nop;}}
}

注释解释:

uchar a:定义一个无符号字符类型的变量a,用于在内部的循环中进行计数。

for(;n>0;n--):一个空循环,只要n大于0就会继续循环,直到n小于或等于0时停止。这可以看作是一个等待或延迟的过程,其中n表示需要等待的次数。

for(a=0;a<100;a++):内部循环,循环次数为100次。这是通过不断增加变量a的值来实现的。由于是无符号字符类型,最大值是255。

_nop; _nop; _nop; _nop;:这是四个NOP指令,它们不会执行任何操作,只是占用了指令周期。因此,它们在这里的作用是延迟,即让CPU等待一段时间。这些NOP指令在这里被重复使用100次,意味着总的延迟时间是4个NOP指令的延迟时间的100倍。

4.2 DEM12864B状态检测,从EDM12864B读出数据检测标志位BF

        主要与液晶显示(LCD)设备的通信有关。具体来说,这是用于检测LCD设备是否忙的函数。这个函数会检查LCD设备是否正在忙(例如,是否有其他程序正在写入LCD),如果是,它将等待直到LCD变得可用。这在需要同步两个或更多程序对同一LCD设备进行操作的情况下非常有用。

void LCD_Busy(){// 定义一个无符号字符类型的变量busy,用于表示LCD设备是否忙碌uchar busy;// 将E端口设置为低电平,表示发送器(发送数据到LCD)处于低电平状态E=Low;// 将DI端口设置为低电平,表示数据线(数据输入到LCD)处于低电平状态DI=Low;// 将RW端口设置为高电平,表示读取/写入控制线处于高电平状态RW=High;// 进入一个无限循环,持续检测LCD的状态while(1){// 将E端口设置为高电平,表示发送器(发送数据到LCD)处于高电平状态,并且不发送任何数据(_nop指令在这里被使用,它们不会执行任何操作,只是占用了指令周期)E=High;_nop;_nop; // 这两个_nop指令在这里是为了延迟,让CPU等待一段时间// 从P2端口读取状态标志寄存器的值到busy变量中busy=P2;//读状态标志寄存器_nop; // 这里的_nop指令也是为了延迟,等待P2端口返回的状态值// 将E端口设置为低电平,表示发送器(发送数据到LCD)处于低电平状态E=Low;// 如果busy和P2的值都为0,表示可进行写入操作(检测BF和RES位都为零时)if((busy&0x90)==0)//检测BF和RES位,两者都为零时表示可进行写入break; // 跳出循环,返回上一个函数调用处};
}

4.2 写数据

用于向LCD写入指令和数据。

首先,我们看到这个代码块是分成了几个函数,每个函数都有一个明确的名称,例如`WRCommand_L`、`WRCommand_R`和`WRdata_L`、`WRdata_R`。这些函数都接受一个参数,例如一个命令或数据字节。

1. `WRCommand_L(uchar command)` 和 `WRCommand_R(uchar command)`:

      这两个函数看是用来向LCD写入指令的。它们通过将命令发送到LCD的P2端口来实现这一点。这些命令可能控制LCD的显示模式、移动光标、更改文本等

      在发送指令之前,这两个函数首先通过设置CS1和CS2引脚来选择LCD的哪个端口(通常是左或右端口)。然后调用`LCD_Busy()`来检查LCD是否正在忙碌。

      接着,通过设置DI、RW和E引脚,来告诉LCD正在进行读/写操作。E引脚在发送命令之前设置为高电平,这表示开始传输数据。

      最后,将命令字节发送到LCD的P2端口。

点击【proteus经典实战】显示温度和电压测量值在一个LCD屏幕上 - 古月居 (guyuehome.com)可查看全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用一个二维码实现企业固定资产管理?

固定资产管理中普遍存在盘点难、家底不清、账实不一致、权责不清晰等问题。如果平时不规范化执行&#xff0c;年终面对上上下下、大大小小、成百上千件物资要进行盘点整理的时候&#xff0c;会是十分痛苦且低效的事情。 今天这篇文章就来给大家推荐几家便宜好用的二维码固定资…

动态人物抠图换背景 MediaPipe

pip下载 MediaPipe pip install mediapipe -i 手部特征点模型包包含一个手掌检测模型和一个手部特征点检测模型。手掌检测模型在输入图片中定位手部&#xff0c;手部特征点检测模型可识别手掌检测模型定义的被剪裁手掌图片上的特定手部特征点。 由于运行手掌检测模型非常耗时&…

商务英语培训柯桥外语学校生活口语“Rose”是玫瑰,那“Under the rose”是“玫瑰之下”?

最近&#xff0c;《玫瑰的故事》很火&#xff0c;女主角在剧中也经常收到黄色的玫瑰花。玫瑰花常常与爱情、美丽和浪漫相关&#xff0c;今天一起跟着英语君学习玫瑰花的俚语吧。 Under the rose 意思&#xff1a;私下地、秘密地或隐秘地。来自拉丁语短语sub-rosa&#xff0c;它…

k8s架构设计思想

1.谷歌borg云计算管理平台 一类&#xff1a;infrastucture platform software 另一类&#xff1a;borg为主的非虚拟化技术&#xff0c;调度进程 核心是轻量级作业调度&#xff0c;不是做虚拟化/云平台的 borg本身用了一些容器技术 生产业务product workload要求高可用&#xf…

Maven - 在没有网络的情况下强制使用本地jar包

文章目录 问题解决思路解决办法删除 _remote.repositories 文件代码手动操作步骤验证 问题 非互联网环境&#xff0c;无法从中央仓库or镜像里拉取jar包。 服务器上搭建了一套Nexus私服。 Nexus私服故障&#xff0c;无法连接。 工程里新增了一个Jar的依赖&#xff0c; 本地仓…

CesiumJS【Basic】- #024 加载webm文件(Primitive方式)

文章目录 加载webm文件(Primitive方式)1 目标2 代码2.1 main.ts3 资源文件4 其他加载webm文件(Primitive方式) 1 目标 使用Primitive方式加载webm文件 2 代码 2.1 main.ts /** @Author: alan.lau* @Date: 2024-06-16 11:15:48* @LastEditTime: 2024-06-16 11:43:02* @…

【linux/shell案例实战】Linux/shell教程实战技巧案例汇总

一.shell相关技巧 提取数据常用的各种小技巧 shell提取文件中指定两个关键字之间的内容 忽略函数中某一步执行过程 shell中按行和按列追加文件内容 shell使用echo输出空行与空格 使用bc命令实现小数数值计算 二.awk相关技巧 awk中FS和OFS的常规使用 awk替换文本字段&a…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于改进目标级联分析法的交直流混联系统发电-备用分布式协同调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Docker Compose 一键快速部署 RocketMQ

Apache RocketMQ是一个开源的分布式消息中间件系统&#xff0c;最初由阿里巴巴开发并贡献给Apache软件基金会。RocketMQ提供了高性能、高可靠性、高扩展性和低延迟的消息传递服务&#xff0c;适用于构建大规模分布式系统中的消息通信和数据同步。 RocketMQ支持多种消息模型&am…

快速排序(C/C++实现)—— 简单易懂系列

前言 排序作用的重要性是不言而喻的&#xff0c;例如成绩的排名、预约时间的先后顺序、不同路程的消耗与利润等。快排可以实现O(n * logn)的时间复杂度&#xff0c;O(logn)的空间复杂度来实现排序【虽然结果是不稳定的】。 算法思想 快速排序实际上是采用分治的思想&#xf…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【15】异步_线程池

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【15】异步_线程池 初始化线程的 4 种方式开发中为什么使用线程池线程池七大参数线程池工作原理常见的 4 种线程池生产中如何使用线程池&#xff1f;CompletableFuture 异步编排—简介业务…

贰[2],WPF+HandyControl开发异常记录

开发环境 VS2022 WPF/.net6.0 HandyControl 1&#xff0c;异常1&#xff1a;Exe程序在锁屏后&#xff0c;再次进入&#xff0c;exe程序停止界面更新 经过一段地毯式搜索&#xff0c;发现是HandyControl:TabControl的样式导致&#xff0c;TabControlPlusBaseStyle&#xff0…

论软件系统架构风格

论软件系统架构风格 一、引言 在软件工程的广阔领域中&#xff0c;软件系统架构风格如同一座指引开发者在复杂系统中前行的灯塔。它不仅决定了软件系统的基本结构&#xff0c;还直接影响着系统的质量、可维护性和可扩展性。因此&#xff0c;对软件系统架构风格的研究和探索&a…

selenium4如何指定chrome和firefox的驱动(driver)路径

pythonpytestselenium框架的自动化测试脚本。 原本用的chrome&#xff0c;很久没用了&#xff0c;今天执行&#xff0c;发现chrome偷偷升级&#xff0c;我的chromedriver版本不对了。。。鉴于访问chrome相关网站太艰难&#xff0c;决定弃用chrome&#xff0c;改用firefox。因为…

2.SQL注入-字符型

SQL注入-字符型(get) 输入kobe查询出现id和邮箱 猜测语句,字符在数据库中需要用到单引号或者双引号 select 字段1,字段2 from 表名 where usernamekobe;在数据库中查询对应的kobe&#xff0c;根据上图对应上。 select id,email from member where usernamekobe;编写payload语…

JAVA期末速成库(10)第十一章

一、习题介绍 Check Point&#xff1a;P416 11.1&#xff0c;11.6&#xff0c;11.7&#xff0c;11.8&#xff0c;11.12&#xff0c;11.17&#xff0c;11.24 Programming Exercise&#xff1a;11.1 二、习题及答案 Check Point&#xff1a; 11.1 True or false? A subcl…

力扣爆刷第156天之TOP100五连刷46-50(字符串转整数、括号生成、两数相加)

力扣爆刷第156天之TOP100五连刷46-50&#xff08;字符串转整数、括号生成、两数相加&#xff09; 文章目录 力扣爆刷第156天之TOP100五连刷46-50&#xff08;字符串转整数、括号生成、两数相加&#xff09;一、8. 字符串转换整数 (atoi)二、22. 括号生成三、70. 爬楼梯四、2. 两…

CST--如何在PCB三维模型中自由创建离散端口

在使用CST电磁仿真软件进行PCB的三维建模时&#xff0c;经常会遇到不能自动创建离散端口的问题&#xff0c;原因有很多&#xff0c;比如&#xff1a;缺少元器件封装、开路端口、多端子模型等等&#xff0c;这个时候&#xff0c;很多人会选择手动进行端口创建&#xff0c;但是&a…

【redis】Redis AOF

1、AOF的基本概念 AOF持久化方式是通过保存Redis所执行的写命令来记录数据库状态的。AOF以日志的形式来记录每个写操作&#xff08;增量保存&#xff09;&#xff0c;将Redis执行过的所有写指令记录下来&#xff08;读操作不记录&#xff09;。AOF文件是一个只追加的文件&…

已解决javax.security.auth.login.LoginException:登录失败的正确解决方法,亲测有效!!!

已解决javax.security.auth.login.LoginException&#xff1a;登录失败的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 1. 检查用户名和密码 用户名和密码验证 2. 验证配置文件 …