单片微机原理与接口技术期末复习

第二章:

STC15F2K60S2 参数含义

(1)“STC”代表的含义是不能在应用中访问程序存储器,但设置了可单独访问的数据 Flash 区域
(2)F :工作电源为5V
(3)2k:片内 RAM 的容量是 2K
(4)60:片内程序存储器容量为60KB
(5)S2:含有两个串行口

STC15F2K60S2增强在哪里

(1)在8051的内核基础上进行功能扩展性能改进

PSW程序状态字

(1)重点注意B0的P:奇偶标志位。
注意:累加器ACC和AC辅助进位标志位不是同一个东西。累加器ACC是一个8bit的寄存器,而AC辅助进位标志位是1bit的存储在PSW中的位。

在这里插入图片描述

基本RAM

(1)片内基本RAM分为低128字节和高128字节。
(2)低128字节分为:
<1>4个工作寄存器组,共32字节,00H~1FH。
<2>位寻址区,共16字节,20H~2FH。
<3>通用RAM,共80字节,30H~7FH。
(3)高128字节地址与特殊功能寄存器地址相同,为了区分采用不同的寻址方式。
<1>高128字节RAM只能采用寄存器间接寻址方式。指令为:
MOV A, @Ri ; 从外部RAM读取数据到A
<2>特殊功能寄存器只能直接寻址,指令为:
MOV A,direct;

在这里插入图片描述

I/O的四种工作模式

(1)准双向口、推挽输出、仅输入、开漏模式。

当 I/O处于准双向口、推挽输出、开漏模式时,若要从I/O输入数据,首先应该要堆I/O做什么?

(1)先让端口置为高电平。

STC15F2K60S2单片机I/O能否直接驱动LED?一般情况,驱动LED应该加限流电阻,如何计算?

(1)能。
(2)根据LED的工作电压、工作电流以及工作电源来进行计算。
R=(Vcc-Vz)/I

STC15F2K60S2单片机集成了内部扩展RAM,同时也保留外部扩展RAM的功能, 请问内部扩展RAM与外部扩展RAM能否同时使用?如何选择?

(1)不能。
(2)通过特殊功能寄存器AUXR中的EXTRAM进行选择,默认时为0,选择片内扩展RAM,为1时选择片外扩展RAM。

在这里插入图片描述

第四章

简述 STC15F2K60S2 单片机寻址方式与寻址空间的关系。

(1)一些简写的含义:
<1>A:累加器ACC,又记为A。注意和程序状态标志寄存器PSW的bit7的AC区分。
<2>B:专门用于乘法和除法运算设置的寄存器,用于存放于乘法和除法运算的操作数和运算结果。
<3>DPTR:数据指针,由DPL和DPH组成,用于存放16位地址,进而堆16位地址的程序存储器和扩展RAM进行访问。
<4>C:程序状态标志寄存器PSW的bit7,进位位CY。

寻址方式寻址空间
立即寻址程序存储器
寄存器寻址工作寄存器组、 A、 B、 DPTR、 C
直接寻址基本RAM的低128字节RAM、特殊功能寄存器、位寻址区
寄存器间接寻址低 128 字节、高128字节RAM 、扩展RAM
变址寻址程序存储器

简述利用散转移指令实现多分支转移的方法

( 1) 设置一张转移指令表,对应各分支设置一条转移指令,通过转移指令转到各分支程序程序的首地址处;
(2)将转移指令表的首址送给 DPTR,对应分支号在分支表中的偏移地址送给累加器A;
(3)执行 JMP @A+DPTR,首先根据分支号转到该分支在转移指令表的首地址处,通过执行该分支的转移指令转到该分支程序首地址处,即执行该分支程序。

述“MOVC A,@a+PC”与“MOVC A,@A+DPTR”指令各自的访问空间

(1)MOVC A,@a+PC:下一指令首址的后 256 字节程序空间;
<1>PC指向下一条指令的首地址
<2>A是一个8bit的累加器,共256个值。
<3>因此这里可访问下一指令首址的后 256 字节程序空间。
(2)MOVC A,@A+DPTR:整个 64K 程序空间。
<1>因为DPTR是数据指针,有16位,可以访问整个64K的程序空间

程序分析

设内部基本 RAM(30H) =5AH,(5AH) =40H,( 40H) =00H, P1 端口输入数据为7FH,问执行下列指令后,各有关存储单元(即 R0, R1, A, B, P1, 30H, 40H 及 5AH 单元)的内容如何?

MOV R0, #30H     ; 将立即数30,存入寄存器R0
MOV A, @R0       ; 将地址30H处的5AH,存入累加器A 
MOV R1, A         ; 将累加器A中的5AH,存入R1 
MOV B, R1         ; 将R1中的5AH,存入寄存器B
MOV @R1, P1    ; 读取P1端口的7FH,存入5AH地址处
MOV A, P1          ; 读取P1端口的7FH,存入累加器A
MOV 40H, #20H  ; 将立即数20H,存入地址40H处
MOV 30H, 40H    ; 将地址40H处的数据20H,存入地址30H处
存储单元内容
R030H
R15AH
A7FH
B5AH
P17FH
30H20H
40H20H
5AH7FH

执行下列指令后,各有关存储单元(即 A, B, 30H, R0 单元)的内容如何?

MOV A, #30H    ; 将立即数30H,存入累加器A
MOV B, #0AFH  ; 将立即数0AFH,存入寄存器B
MOV R0, #31H     ; 将立即数31H,存入寄存器R0 
MOV 30H, #87H    ; 将立即数87H,存入地址30H
XCH A, R0         ; 将寄存器A的30H,和寄存器R0的31H,数据交换
XCHD A, @R0  ;将寄存器A的低4位1,和寄存器R0的低四位0,数据交换
XCH A, B       ; 寄存器A的30H,和寄存器B的0AFH,数据交换
SWAP A      ; 将累加器A的高4位0AH,和低四位0FH,数据交换
存储单元内容
AFAH
B30H
30H87H
R031H

执行下列指令后, A、 B 和 SP 的内容分别为多少?

MOV SP, #5FH   ; 将立即数5FH,存入堆栈指针SP
MOV A, #54H     ; 将立即数54H,存入累加器A
MOV B, #78H    ; 将立即数78H,存入寄存器B
PUSH ACC     ; 将堆栈指针SP自增1,变为60H。累加器A的内容54H,存入60H处
PUSH B      ; 将堆栈指针SP自增1,变为61H。寄存器B的内容78H,存入61H处
MOV A, B    ; 将寄存器B的内容78H,存入累加器A
MOV B, #00H ;将立即数00H,存入寄存器B
POP ACC  ; 将堆栈指针SP内容78H,存入累加器A。堆栈指针SP自减1,变为60H
POP B   ; 将堆栈指针SP内容54H,存入寄存器B。堆栈指针SP自减1,变为5FH
存储单元内容
A78H
B54H
SP5FH

分析执行下列指令序列后各寄存器及存储单元的结果。

MOV 34H, #10H  ; 将立即数10H,存入地址34H
MOV R0, #13H   ; 将立即数13H,存入寄存器R0
MOV A, 34H     ; 将立即数34H,存入累加器A
ADD A, R0   ; 将寄存器R0内容13H,和累加器A中的内容34H,相加得到47H存入累加器A
MOV R1, #34H  ; 将立即数34H,存入寄存器R1
ADD A, @R1   ; 将地址34H的内容10H,和累加器A中的内容47H,相加得到57H存入累加器A

若( A)= 25H,( R0)= 33H,( 33H) =20H, 执行下列指令后, 33H 单元的内容为多少?

CLR C          ; 清除CY位
ADDC A, #60H  ; 将立即数60H,和累加器A中的内容25H,相加得到85H存入累加器A
MOV 20H, @R0  ;  将33H地址处的内容20H,存入地址20H处
ADDC A, 20H    ;  将20H地址处的内容20H,和累加器A中的内容85H,相加得到A5H存入累加器A
MOV 33H, A  ; 将累加器A中的内容A5H存入地址33H处

最终33H 单元的内容为A5H

分析执行下列各条指令后的结果。

MOV 20H, #25H ;将立即数25H,存入地址20H处
MOV A, #43H ;将立即数43H,存入累加器A
MOV R0, #20H ;将立即数20H,存入寄存器R0
MOV R2, #4BH ;将立即数4BH,存入寄存器R2
ANL A, R2 ;将寄存器R2的内容4BH(0100 1011B),和累加器A的中内容43H(0100 0011B),相与,得到43H(0100 0011B)存入累加器A
ORL A, @R0 ;将地址20H的内容25H(0010 0101B),和累加器A的中内容43H(0100 0011B),相或,得到67H(0110 0111B)存入累加器A
SWAP A ;将累加器A的高4位6H,与累加器A的低4位7H交换,得到76H存入累加器A
CPL A ;将累加器中的76H(0111 0110B),按位取反得到8AH(1000 1001B)存入累加器A
XRL A, #0FH ;将立即数0FH(0000 1111B),和累加器A中的8AH(1000 1001B),异或得到86H(1000 0110B)存入累加器A
ORL 20H, A ;将累加器A中的86H(1000 0110B),和20H地址处的25H(0010 0101B),相或,得到0A7H(1010 0111B)存入地址20H处

程序设计

将 R1 中的数据传送到 R3 中

MOV A , R1
MOV R3, A 

将基本 RAM 30H 单元的数据传送到 R0 中

MOV A , #30H
MOV R0, @A 

将扩展 RAM 0100H 单元的数据传送到基本 RAM 20H 单元

MOV DPTR , #0100H 
MOVX A , @DPTR 
MOV 20H , A

将程序存储器 0200H 单元的数据传送到基本 RAM 20H 单元

MOV DPTR , #0200H 
MOVX A , @DPTR 
MOV 20H , A

将程序存储器 0200H 单元的数据传送到扩展 RAM 0030H 单元

MOV DPTR , #0200H 
MOVX A , @DPTR 
MOV DPTR , #0030H
MOVX @DPTR , A

将程序存储器 2000H 单元的数据传送到扩展 RAM 0300H 单元

MOV DPTR , #2000H 
MOVX A , @DPTR 
MOV DPTR , #0030H
MOVX @DPTR , A

将扩展 RAM 0200H 单元的数据传送到扩展 RAM 0201H 单元

MOV DPTR , #0200H
MOVX A , @DPTR 
MOV DPTR , #0201H 
MOVX @DPTR , A

将片内基本 RAM 50H 单元与 51H 单元中的数据交换

MOV A , 50H 
MOV 51H , A

第五章

认识伪指令

(1)伪指令不会产生机器指令码

填空选择题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

伪指令EQU和DATA都是用于定义字符名称,试说明它们有什么不同点?

(1)EQU可以定义汇编符号,只能先定义后使用。
(2)DATA主要用于定义数据,可以先使用后定义。

伪指令DB、 DW、 DS都是用于定义程序存储空间,试问有什么不同点?试用伪指令定义,从程序存储器2000H起预留10个地址空间,接着存储数据20、 100,接着再存储字符W和Q的ASCII码。

(1)
<1>DB:存储字节。
<2>DW:定义存储字。
<3>DS:定义存储空间。
(2)

ORG 2000H  ; 程序从2000H地址开始
DS 10  ; 预留10字节空间
DB 20,100   ; 存入20,100
DB 'W','Q'   ;存入字符W和Q的ASCII码

程序设计(必考)

编写程序,将基本RAM30H~3FH的内容传送到扩展RAM0300H~030FH中

(1)程序设计题,所有寄存器,地址直接无法直接交换数据,必须通过累加器A中转!!!

MOV DPTR , #0300H  ; 
MOV R0 , #30H   ; 将数据 30H的存入R0寄存器
MOV R1 , #10H    ; 将数据 10H的存入R1寄存器
LOOP :
	MOV A,@R0
	MOVX @DATP , A
	INC DPTR ; 数据指针DPTR数据自增
	INC R0   ; 寄存器R0数据自增
	DJNC R1 , LOOP

编写程序,查找在基本 RAM 20H~4FH 单元中出现 00H 的次数,并将查找结果存入50H 单元

(1)如下为汇编码,但是因为汇编码比较晦涩,所以我还增加了C语言代码进行理解

MOV R0 , #20H   ; 将数据 20H的存入R0寄存器,表示地址
MOV R1 , #30H    ; 将数据 30H的存入R1寄存器,用于表示循环30H次
MOV 50H, #00H  ; 将50H地址处的数据清零
LOOP1:
	CJNE @R0 , #00H , LOOP2 ; 如果R0地址的值不为0,进行跳转
	INC 50H   ; 如果R0地址的值为0,50H地址处数据自增
LOOP2:
	INC R0
	DJNC R1 , LOOP1
	SJMP $ ; 死循环

(2)C 语言代码如下

int main()
{
	uint8_t* R0 = 20H;
	uint8_t R1 = 30H;
	(uint8_t*)50H = 0;
	do
	{
		if(*R0 != 0)
		{
			((uint8_t*)50H)++;
		} 
		R0++;
	}while(--R1);
}

用一个端口输入数据,用一个端口输出数据并控制 8 只 LED 灯的亮灭。当输入数据小于 20 时,奇数位 LED 灯亮;当输入数据位于 20~30 之间时, 8 只 LED 灯全亮;当输入数据大于 30 时,偶数位 LED 灯亮。做题要求如下:

(1)画出硬件电路图:

在这里插入图片描述

第七章

中断的概念

(1)中断、中断源、中断优先级、中断嵌套。

中断过程

(1)中断过程包括中断请求、 中断响应 、 中断服务 与中断返回等4个工作过程。

中断源

(1)引起CPU中断的根源或原因,成为中断源。
(2)STC15F2K60S2 有14个中断源

几个优先级

(1)一般记住前五个即可。

在这里插入图片描述

填空题

(1)CPU面向I/O口的服务方式包括 查询 、** 中断** 与DMA通道等3种方式
(2)中断过程包括中断请求、 中断响应 、 中断服务 与中断返回等4个工作过程。
(3)中断服务方式中, CPU与I/O设备是 并行 工作的。
(4)根据中断请求能否被CPU响应,可分为非屏蔽中断可屏蔽中断 两种类型。 STC15F2K60S2单片机的所有中断都属于 可屏蔽中断
(5)若要求T0中断,除对ET0置1外,还需对 EA 置1。
(6)STC15F2K60S2单片机的中断优先等级分为个优先等级,当处于同一个中断优先级时,前5个中断的自然优先顺序由高到低是外部中断0 、 T0中断、 外部中断1 、 T1中断 、串行口1中断
(7)外部中断0中断请求信号输入引脚是 P3.2 ,外部中断1中断请求信号输入引脚是 P3.3 。外部中断0、外部中断1的触发方式由 下降沿触发双边沿触发两种类型。当IT0=1时,外部中断0的触发方式是 下降沿触发
(8) 外部中断2中断请求信号输入引脚是 P3.6 ,外部中断3中断请求信号输入引脚是 P3.7 ,外部中断4中断请求信号输入引脚是 P3.0 。外部中断2、外部中断3、外部中断4的中断触发方式只有1种类型,属于 下降沿 触发方式。
(9)外部中断0、外部中断1、外部中断2、外部中断3、外部中断4中断源的中断请求标志,在中断响应后相应的中断请求标志 自动清零。
(10)串行口1的中断包括 串行发送 和 串行接收 两个中断源,对应两个中断请求标志,串行口1的中断请求标志在中断响应后 不会 自动清零。

相比查询服务方式,中断服务有哪些优势?

(1) 可使CPU与外设并行工作,提高CPU的工作效率;
(2)可实时响应外部设备的请求服务。

STC15F2K60S2单片机有几个中断优先等级?按照自然优先权,由高到低前5个中断是什么?(必考)

(1)两个
(2)外部中断0,T0中断,外部中断1,T1中断,串口1中断。

第八章

定时/计数器(T0/T1)的工作方式

(1)方式0是一个16位自动重装载定时/计数器。
(2)方式2是一个8位自动重装载定时/计数器。

利用T1定时设计一个LED流水灯,时间间隔为500ms,编写程序并上机调试(必考,记住就行)

	ORG 0000H
	LJMP MAIN
	ORG 001BH
	LJMP Timer_ISR
MAIN: 
	MOV R3 , #10     ;设置50ms计数循初值
	MOV TOMD,#00H  ; 设置定时器1为方式0
	MOV TH1 , #3CH    ; 设置50ms定时器初值
	MOV TL1 , #0B0H  
	MOV R2 , #07H    ;设置左移次数
	MOV P1 , #0FEH  ;设置信号灯显示(左移)的起始状态值
	MOV A , #0FEH	  ;设置信号灯显示(左移)的起始状态值
	CLR 00H   ;设置左、右移标志位,为0左移,为1右移
	SETP TR1 ; 启动T1定时器
	SJMP $ ;死循环
Timer_ISR:
	DJNZ R3, Exit_T1_ISR  ; 定时时间到,执行移步操作,否则中断结束
	MOV R3 , #10
	JB 00H , Right_Shift   ; 判断左、右控制
	RL  A     ; 左移控制
	MOV P1 , A
	DJNZ R2,Exit_T1_ISR  ;判断左移流程是否结束,如果结束进入右移控制
	SETB 00H  ; 置为左、右移控制标志
	MOV R2 , #07H ; 重新设置移位次数
	SJMP Exit_T1_ISR  
Right_Shift:
	RR A  ;右移控制
	MOV P1,A
	DJNZ R2,Exit_T1_ISR  
	CLR 00H
	MOV R2,#07H
Exit_T1_ISR:
	RET1
	END

第九章

概念

(1)串行通讯的一字节一字节的发送数据
(2)波特率计算公式

在这里插入图片描述

简述 STC15F2K60S2 单片机串行口 1 方式 2、方式 3 的相同点与不同点。

(1) 相同点:字符帧格式是一样的。
(2) 不同点:波特率发生器不同。

第十章

ADC的参考电压源

STC15F2K60S2单片机ADC模块的参考电压源(VREF)就是输入工作电源 Vcc,无专门ADC参考电压输入通道。如果 Vcc不稳定,如电池的供电系统中,电压常常在 5.3~4.2V 之间漂移,则可以在8路A/D 转换通道的任一通道上接一基准电源 (如1.25V 基准电压),以此计算出此时的工作电压 Vcc,再计算其他输入通道的模拟输入电压。

STC15F2K60S2的ADC个数

(1)STC15F2K60S2有8通道,10位的ADC。

填空题

(1) A/D转换电路按转换原理一般分为 并行比较 、** 逐次逼近比较**与 双积分 等3种类型。
(2)在A/D转换电路中,转换位数越大,说明A/D转换电路的转换精度越 高。
(3)10位A/D转换器中, VREF为5V。当模拟输入电压为3V时,转换后对应的数字量为 (3/5)2^10 = 614
(4)8位A/D转换器中, VREF为5V。转换后获得的数字量为7FH,请问对应的模拟输入电压是 5
(7FH / 2^8)= 2.5V。
(5)STC15F2K60S2单片机内部集成了 8 通道 10 位的A/D转换器,转换速度可达到 300 KHz。
(6)STC15F2K60S2单片机A/D转换模块转换的参考电压VREF是 电源电压。
(7)STC15F2K60S2单片机A/D转换模块的中断向量地址是 002BH ,中断号是5。

选择题

(1)STC15F2K60S2单片机A/D转换模块中转换电路的类型是 逐次逼近型
(2)STC15F2K60S2单片机A/D转换模块的8路模拟输入通道是在 P1 口
(3)当P1ASF=35H时,说明 P1.5、 P1.4、 P1.2、 P1.0 可用作A/D转换的模拟信号输入通道
(4) 当ADC_CONTR=83H时, STC15F2K60S2单片机的A/D模块选择了 P1.3 为当前模拟信号输入通道
(5)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

letcode::最小栈

最小栈 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。…

Wireshark网络工具

Wireshark是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包&#xff0c;并尝试显示包的尽可能详细的情况。 Wireshark是一个免费开源软件&#xff0c;不需要付费&#xff0c;免费使用&#xff0c;可以直接登陆到Wireshark的官网下载安装。 在windows环境中&#x…

IDEA运行 支付宝案例

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 &#x1f3f7;️ 标签 | 男 自律狂人 目标明确 责任心强 ✈️公…

SOLIDWORKS2024钣金及结构系统功能增强

SOLIDWORKS钣金和结构系统是大家比较熟悉的模块了&#xff0c;在新版本中钣金和结构系统功能也做了相应的优化。接下来让我们看看在SOLIDWORKS 2024中钣金和结构系统有哪些功能增强。 首先是钣金方面&#xff0c;我们先来看看新增的槽口延伸功能&#xff0c;在装配体零部件中创…

AIGC创作系统ChatGPT源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

DolphinDB 基于 Glibc 升级的性能优化实战案例

在高并发查询、查询需要涉及很多个分区的情况下&#xff0c;低版本的 glibc&#xff08;低于2.23&#xff09;会严重影响查询性能。需要升级 glibc 解决该问题优化性能。我们撰写了本文&#xff0c;通过 patchelf 工具修改可执行文件和动态库的 rpath&#xff0c;达到无需升级系…

【GEE】基于GEE进行非监督学习

1 简介与摘要 之前写了多季节叠加的监督学习&#xff0c;所以这次简单写一个非监督学习吧。。 这次为了简单明了&#xff0c;就不整那么多虚的了&#xff0c;在这里我不叠图层了&#xff0c;有需要的可以参考前一篇博客自己添加输入的图层。 2 制作输入影像 首先&#xff0c…

“一键搜索,海量商品任你选!多平台聚合,购物更便捷!“

对于多平台聚合搜索&#xff0c;根据关键词取商品列表&#xff0c;您需要使用第三方服务或软件来实现。以下是一些可能的选择&#xff1a; 使用第三方聚合搜索工具&#xff1a;有些第三方工具可以聚合多个电商平台的商品数据&#xff0c;并提供统一的搜索接口。您可以使用这些…

Threejs_04 gui调试开发

threejs的快捷调试工具就是这玩意&#xff0c;那么如何使用呢&#xff1f;&#xff1f; 使用gui调试开发 引入gui实例 //导入lil.gui // import * as dat from "dat.gui"; // 旧 import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";…

Linux搭建服务器环境,挂载SpringBoot+VUE项目

本地环境 Ubuntu20.04 服务器环境 CentOS7.6 购买服务器 以阿里云轻量服务器&#xff08;适合初学者&#xff09;为例&#xff0c;自行选择规格进行购买 购买完成后&#xff0c;获取服务器公网IP&#xff0c;同时重置密码&#xff0c;设置服务器密码 配置防火墙 点击实例ID&am…

(八)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (检索 Retrieval)

检索增强生成&#xff08;RAG&#xff09;的整体工作流程如下&#xff1a; 在构建检索增强生成 (RAG) 系统时&#xff0c;信息检索是核心环节。检索是指根据用户的问题去向量数据库中搜索与问题相关的文档内容&#xff0c;当我们访问和查询向量数据库时可能会运用到如下几种技术…

mybatisPlus的简单使用

封装实体类 编写Mapper service层 controller层

05_SHELL编程之文本处理工具SED

typora-root-url: pictures课程目标 掌握sed的基本语法结构 熟悉sed常用的命令&#xff0c;如打印p&#xff0c;删除d&#xff0c;插入i等 Windows&#xff1a;​ Linux&#xff1a; vim vi gedit nano emacs 一、sed介绍 1. sed的工作流程 首先sed把当前正在处理的行保存…

非遗拓鱼丨以传统文化助力守护美丽长江

长江生物多样性极为丰富&#xff0c;是中华民族赖以生存的生命之源&#xff0c;值得人类更多的关注与保护。为传播非遗文化、宣传长江生态保护&#xff0c;积极响应野生动物保护宣传的号召&#xff0c;以非遗手工助力守护长江&#xff0c;11月18日&#xff0c;在重庆市陆海国际…

buildadmin+tp8表格操作(6)表格行中添加详情按钮并弹出对话框

在表格行中添加按钮&#xff0c; 是个基本操作 下面来看一下&#xff0c;dialog的 对话框中是怎么拿到数据的 有了这一行&#xff0c; 那么 它的子组件中&#xff0c; 都可以获取到这个对象&#xff0c;所以&#xff0c; 有弹出框的 Info 组件&#xff0c;也可以获取到 我们…

本地部署 EmotiVoice易魔声 多音色提示控制TTS

本地部署 EmotiVoice易魔声 多音色提示控制TTS EmotiVoice易魔声 介绍ChatGLM3 Github 地址部署 EmotiVoice准备模型文件准备预训练模型推理 EmotiVoice易魔声 介绍 EmotiVoice是一个强大的开源TTS引擎&#xff0c;支持中英文双语&#xff0c;包含2000多种不同的音色&#xff…

我们为什么要做亚马逊测评?

提高页面权重 一般页面有三个部分构成 标题&#xff0c;关键词&#xff0c;描述 review 可以很好地充当一个描述的角色&#xff0c;为页面提升权重 我们会发现有些评论全部是视频&#xff0c;但是却可以推他的关键词到他的首页&#xff0c;因为视频带来的权重是最高的&…

KylinOSv10修改ulimit值

问题 ulimit 值过小&#xff0c;可能导致压力测试遇到瓶颈&#xff0c;比如通过nginx建立tcp长链接时&#xff0c;链接数量受限。需要修改ulimit值&#xff0c;Linux默认为1024。 解决 使用root或sudo权限&#xff0c;编辑文件/etc/security/limits.conf&#xff0c;新增以下…

【2023.11】香色闺阁最新书源!这个月新写了6条,条条高质!

写源背景 平时用香色闺阁比较多&#xff0c;以前的很多源都失效了&#xff0c;导入几百几千条&#xff0c;在换源时也常常出现耗时长、还没几条可用源的情况。 基于此&#xff0c;就自己去学习了下怎样写源。目前初步有了点“成绩” &#xff0c;那也免费分享给需要的伙伴们体…

重要功能丨支持1688API接口接入一键跨境铺货及采购,解决跨境卖家货源烦恼!

在跨境电商运营中&#xff0c;不少卖家都会优先选择1688平台产品作为跨境店铺货源。 阿里巴巴中国站获得1688商品详情 API 返回值说明 item_get-获得1688商品详情 1688.item_get 公共参数 请求地址: 申请调用KEY测试 名称类型必须描述keyString是调用key&#xff08;必须以…