【51单片机系列】51单片机的中断系统使用总结一

本文是在学习51单片机的中断系统的简单性总结,着重于51单片机的中断系统的工作原理及如何使用。

文章目录

  • 一、中断原理简单介绍
  • 二、 外部中断相关介绍
    • 2.1 与外部中断相关的寄存器
    • 2.2、外部中断0使用示例
    • 2.3、外部中断1使用示例
  • 三、定时器中断相关介绍
    • 3.1、51单片机定时器原理
    • 3.2、 与定时器中断相关的寄存器
    • 3.3、定时/计数器的工作方式
      • 3.3.1、工作方式0
      • 3.3.2、工作方式1
      • 3.3.3、工作方式2
      • 3.3.4、工作方式3
    • 3.4、定时器中断如何使用
      • 3.4.1、定时器0使用示例
      • 3.4.2、定时器1使用示例


一、中断原理简单介绍

首先需要知道51单片机的引脚(如下示意图),其中P3口除了作为输入/输出I/O口,还有第二功能,与中断有关的引脚:

  • P3.0/RXD:作为串口接收数据;
  • P3.1/TXD:作为串口发送数据;
  • P3.2/INT0:具有外部中断0功能;
  • P3.3/INT1:具有外部中断1功能;
  • P3.4/T0:具有定时/计数器0功能;
  • P3.5/T1:具有定时/计数器1功能;

80C51引脚示意图

然后要看懂80C51系列单片机的中断系统结构,如下图。
80C51中断系统结构图

以外部中断0为例,从左侧开始看,IT0控制中断触发方式是下降沿还是低电平,IE0作为中断请求标志由硬件置位发送中断申请。当EX0=1且EA=1时,不考虑中断优先级(中断优先级置1或置0都可),IE0被置位即会进入中断入口。

以外部中断0为例

以定时/计数器0为例,TF0作为定时/计数器溢出中断请求标志由硬件置位发送中断申请或清0。当ET0=1且EA=1时,不考虑中断优先级,TF0置位时会进入中断。

以定时计数器为例
以串口中断为例,RI作为串口接收中断标志位,TI作为串口发送中断标志位,当接收或发送一帧串口数据时会置位,发送中断申请。当ES=1且EA=1时,不考虑中断优先级,RI或TI被置位后即进入中断。

串口中断为例

然后要知道中断响应的条件:① 中断源有中断请求;② 此中断源的中断允许位为1;③ CPU开中断

以外部中断0为例,P3.2口作为外部中断0的中断源。

  • 第一个条件:中断源有中断请求,P3.2口什么情况下会有中断请求?

首先需要IT0设置中断触发方式是下降沿触发中断还是低电平触发中断。
如果是下降沿触发中断即IT0=1,那么P3.2口由高电平变为低电平时就会触发中断,并会置IE0=1,产生中断申请。

  • 第二个条件:此中断源的中断允许位为1,外部中断0的允许位即EX0置1,则允许INT0中断被处理;
  • 第三个条件:CPU开中断,置CPU总中断位为1即EA置1。

最后,在编码时,要编写中断响应条件的代码,还要编写中断响应后的中断处理函数的代码。

中断处理函数的格式如下, 其中返回值类型为空void,函数名自定义,interrupt表示该函数是中断处理函数,0表示中断号。

void user_def_func_name() interrupt 0
{
	// 中断处理
}

根据中断类型不同,中断号也不同,中断号如下:

中断源符号名称中断引起原因中断号
/INT0外部中断0P3.2引脚低电平或下降沿信号0
T0定时器0中断定时/计数器0计数回0溢出1
/INT1外部中断1P3.3引脚低电平或下降沿信号2
T1定时器1中断定时/计数器1计数回0溢出3
TI/RI串行口中断串口通信完成一帧数据发送或接收引起中断4

二、 外部中断相关介绍

STC89C5X系列单片机提供了4个外部中断:外部中断0、外部中断1、外部中断2、外部中断3。51系列单片机一定有基本的2个外部中断,不全有4个中断,可通过查看芯片手册确认。通常使用基本的2个外部中断:外部中断0和外部中断1。这两个外部中断使用方法一致。

2.1 与外部中断相关的寄存器

与外部中断0/1相关的寄存器有TCON,IE,IP,

  • IE-中断允许控制寄存器

CPU对中断系统所有中断以及对某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。IE各位说明如下:

76543210
字节地址:A8HEAESET1EX1ET0EX0
IECPU总中断允许位串行口中断允许位定时/计数器1中断允许位外部中断1允许位定时/计数器中断允许位外部中断0允许位
  • TCON-控制寄存器

TCON中的各位控制中断请求及中断触发方式。TCON各位说明如下:

76543210
字节地址:A8HTF1TR1TF0TR0IE1IT1IE0IT0
TCON定时/计数器T1
溢出中断请求标志位
定时/计数器T1运行控制位定时/计数器T0
溢出中断请求标志位
定时/计数器T0运行控制位外部中断1
中断请求标志位
外部中断1
触发方式控制位
外部中断0
中断请求标志位
外部中断0
触发方式控制位

其中外部中断触发控制位(IT0/IT1),为高电平时,为边沿触发方式;为低电平时,为电平触发方式。

IP-中断优先级控制寄存器

2.2、外部中断0使用示例

以独立按键通过外部中断0控制LED亮灭为例。

要触发外部中断0中断,需要INT0引脚产生有效信号,外部中断0允许标志位EX0=1且CPU总中断允许位EA=1。

要使INT0引脚产生有效信号,需要外部中断0触发方式控制位IT0选择中断触发方式,IT0置1选择下降沿触发。通过按键连接到INT0引脚,当按键按下时,INT0引脚由高电平变为低电平,产生了一个下降沿,就会触发外部中断0请求中断。CPU响应外部中断0的中断申请,进入外部中断0中断处理函数中,在该函数中控制LED的亮灭。

proteus设计原理图如下:

外部中断0使用示例

代码设计。首先编写外部中断0响应条件代码,即外部中断0的初始化函数。如下:

// 外部中断0中断响应条件设置,即外部中断0初始化
void Int0Init()
{
	// 1. 设置外部中断0触发方式,选择下降沿触发
	IT0=1;
	// 2. 设置外部中断0允许标志位为1
	EX0=1;
	// 3. 设置CPU总中断允许位为1
	EA=1;
}

CPU收到外部中断0的中断申请后,进入中断处理函数中。在中断处理函数中控制LED的亮灭。如下:

// 外部中断0中断处理函数,当CPU响应中断后进入该处理函数,在该函数中控制LED亮灭
void Int0() interrupt 0
{
	delay(10);
	if(0==K1)
	{
		LED=~LED;
	}
}

在主函数中调用外部中断0初始化函数,然后进入循环等待状态。当按键按下时,外部中断0触发中断请求,CPU响应中断请求,进入中断处理函数,中断处理函数结束后,继续返回主函数执行,因为主函数一直在循环状态,所以当下一次按键再次按下时,会再次进入中断处理函数中。主函数代码如下:

void main()
{
	Int0Init();
	while(1);
}

仿真结果:

按键连接到外部中断0控制LED亮灭仿真结果

2.3、外部中断1使用示例

外部中断1与外部中断0使用类似。以上个示例为例,把外部中断0改成外部中断1。

proteus设计如下:

外部中断1使用示例

代码设计与外部中断0类似。外部中断1初始化函数如下:

// 外部中断1中断响应条件设置,即外部中断1初始化
void Int1Init()
{
	// 1. 设置外部中断1触发中断方式,选择下降沿触发
	IT1=1;
	// 2, 设置外部中断1中断允许位为1
	EX1=1;
	// 3. 设置CPU总中断允许位为1
	EA=1;
}

外部中断1中断处理函数如下:

// 外部中断1中断处理函数,当CPU响应中断INT1后进入该处理函数,在该函数中控制LED亮灭
void Int1() interrupt 2
{
	delay(10);
	if(0==K2)
	{
		LED=~LED;
	}
}

主函数中将外部中断0的初始化函数Int0Init改成外部中断1的初始化函数Int1Init

仿真结果如下,此时通过外部中断0已经不能控制LED亮灭,因为外部中断0此时不会响应,不会进入到外部中断0中断处理函数中。

在这里插入图片描述

如果想外部中断0和外部中断1都能控制LED,那么在主函数中添加调用外部中断0的初始化函数Int0Init即可。

三、定时器中断相关介绍

STC89C5X系列单片机提供了3个定时器:定时器1、定时器1、定时器2。51系列单片机一定有基本的2个定时器,不全有3个定时器,可通过查看芯片手册确认。通常使用的是基本的2个定时器:定时器0和定时器1。这两个定时器使用方式大致类似。

3.1、51单片机定时器原理

首先需要了解与CPU时序有关的几个周期:振荡周期、状态周期、机器周期、指令周期。

  • 振荡周期是为单片机提供定时信号的振荡源的周期,也称为晶振周期或外加振荡周期。比如51单片机外接12MHz的晶振,这里1/12MHz就是振荡周期。
  • 状态周期,也称为S周期或时钟周期。1个状态周期包含2个振荡周期。
  • 机器周期,1个机器周期包含6个状态周期,包含12个振荡周期。
  • 指令周期,完成一条指令占用的全部时间,以机器周期为单位,通常占用1~4个机器周期。

以51单片机外接12MHz的晶振为例,相关周期的具体值为:
振荡周期=1/12MHz=1/12us;
状态周期=2振荡周期=1/6us;
机器周期=6
状态周期=12*振荡周期=1us;
指令周期=1~4 * 机器周期=1 ~ 4us;

STC89C5X系列单片机内有两个可编程的定时/计数器T0、T1和一个特殊功能定时器T2。

定时/计数器的实质是加1计数器,是一个16位的计数器,由高8位和低8位两个寄存器THx和TLx组成。其中x代表0或1,当使用定时器0时,x为0,当使用定时器1时,x为1。

随着输入脉冲,加1计数器进行自加1,即每来一个脉冲,计数器就自动加1。当加到计数器全为1时,即THx为FFH,TLx为FFH时,再输入一个脉冲,计数器就会溢出,此时THx=TLx=00H,并且计数器的溢出也会使对应的中断请求标志位(TF0或TF1)置1,向CPU发出中断请求。如果定时器中断允许位(ET0或ET1为1)且CPU总中断EA为1,那么CPU响应中断。

这里需要计算计数初值。加入THx=TLx=00H,那么要计数65536次计数器才会溢出,对于外接12MHz的晶振来说,经过了65536us的时间。通常用来定时1ms的时间,即计数1000次,那么计数初值应该为65536-1000=64536。

当定时器工作于定时模式,则表示定时时间已到;当定时器工作于计数模式,则表示计数值已满。

3.2、 与定时器中断相关的寄存器

定时/计数器的工作由特殊功能寄存器TCON、TMOD控制。

  • TCON-控制寄存器

TCON低四位用于控制外部中断,高四位用于控制定时/计数器的启动和中断申请。各位结构如下:

76543210
字节地址:88HTF1TR1TF0TR0IE1IT1IE0IT0
定时器1溢出中断请求标志位定时器1运行控制位定时器0溢出中断请求标志位定时器0运行控制位外部中断1中断请求标志位外部中断1中断触发方式位外部中断0中断请求标志位外部中断0中断触发方式位

TF1是定时器1溢出中断请求标志位。T1计数溢出时由硬件自动置TF为1,CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。TF1也可由软件置1或清0,同硬件置1或清0的效果一样。TF0功能与TF1类似,是定时器0溢出中断请求标志位。

TR1是T1运行控制位,TR1置1时,T1开始工作;TR1置0时,T1停止工作。软件控制TR1置1或清0。TR0功能与TR1类似,是定时器0运行控制位。

  • TMOD-定时器工作方式寄存器

TMOD用于设置定时器的工作方式,低四位用于T0,高四位用于T1。各位结构如下:

76543210
字节地址:89HGATEC/TM1M0GATEC/TM1M0
TMOD门控位定时or计数模式选择位工作方式设置位门控位定时or计数模式选择位工作方式设置位
  • 门控位GATE控制定时器中断是否受外部中断控制。当GATE=0时,只需要定时器运行控制位TR0/TR1为1就可以启动定时/计数器工作;当GATE=1时,除了TR0/TR1置1,还需要外部中断引脚为高电平才能启动定时/计数器工作。
  • C/T选择定时/计数器处于定时模式(C/T=)还是计数模式(C/T=1)。
  • M1M0用来设置工作方式,有四种工作方式:
定时/计数器工作方式设置
M1M0工作方式说明
00013位定时/计数器
01116位定时/计数器
1028位自动重装定时/计数器
113T0分成两个8位定时/计数器,T1此方式停止计数

3.3、定时/计数器的工作方式

定时/计数器有四种工作方式:工作方式0、工作方式1、工作方式2、工作方式3。

3.3.1、工作方式0

工作方式0为13位计数,由TLx的低5位和THx的8位组成。TLx的低5位溢出时向THx进位;THx溢出时,置位TCON的TFx标志,向CPU发出中断请求。

工作方式0结构图如下,下图以定时器0为例,GATE通过一个非门和INT0引脚连接一个或门,再与TR0位通过与门连接控制定时器工作,每当到来一个机器周期后,计数器TH0和TL0自加1,直到TH0溢出,置位TF0,向CPU发出中断申请。

当GATE=1时,经过非门后为0,那么此时需要INT0引脚为高电平和TR0置1共同作用下才能启动定时器工作;
当GATE=0时,经过非门后为1,此时不需要INT0引脚,只需TR0置1就可启动定时器工作。

当GATE=1,TR0=1,外中断引脚为高电平启动计数,外中断引脚为低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。

定时器工作方式0结构图

计数初值X与计数个数N的关系为: X = 2 13 − N X=2^{13} - N X=213N。或者直接对计数个数取补码+1得到。

3.3.2、工作方式1

方式1的计数位数是16位,TLx作为低8位,THx作为高8位,组成16位的加1计数器。工作方式1的结构图如下所示:
工作方式1结构图

工作方式1计数初值X与计数个数N的关系为: X = 2 16 − N X=2^{16}-N X=216N

3.3.3、工作方式2

方式2是自动重装8位计数方式。工作方式2适合于用作较精确的脉冲信号发生器。方式2结构图如下:

工作方式2结构图

工作方式2计数初值X与计数个数N的关系为: X = 2 8 − N X=2^{8}-N X=28N

3.3.4、工作方式3

工作方式3只适用于定时/计数器T0,定时器T1处于方式3时停止计数。

工作方式3将T0分成两个独立的8位计数器TLx和THx,方式3结构如下图:

工作方式3结构图

3.4、定时器中断如何使用

中断响应的三个条件:①中断源有中断请求;②此中断源的中断允许位为1;③CPU开中断。

第一个条件:中断源有中断请求。对于定时器来说,当计数器溢出时会向CPU申请中断。要满足条件,就需要给定时器设置工作方式设定计数的初值设置TRx为1启动计数。
第二个条件:此中断源的中断允许位为1,置ET0或ET1为1.
第三个条件:CPU开中断,置EA=1

3.4.1、定时器0使用示例

通过定时器0控制LED实现闪烁,时间间隔为1s。

因为定时器属于51单片机内部资源,只需要使用软件控制即可。

proteus设计原理图可复用外部中断0的设计。这里使用工作方式1,仅使用TR0位控制启动计数,工作于定时模式。

计时1s可以采用定时1ms,定时1000次的方式。定时1ms的初值为 2 16 − 1000 = 64536 = F C 18 H 2^{16}-1000=64536=FC18H 2161000=64536=FC18H,即TH0=0xFC,TL0=0x18。

当CPU响应中断后需要在中断处理函数中将计数初值设置为FC18H,否则实现不了下一次定时1ms。

软件设计思路,首先需要设置中断响应的几个条件,即定时器初始化。定时器0初始化代码如下:

// 定时器0中断响应条件设置,即定时器0初始化
void Timer0Init()
{
	// 1. 设置工作方式1、设置初值
	TMOD|=0x01;
	TH0=0xFC;
	TL0=0x18;
	// 2. 打开定时器0的中断允许标志位
	ET0=1;
	// 3. 打开CPU总中断允许标志位
	EA=1;
	// 4. 启动计数
	TR0=1;
}

定时器0中断处理函数如下:

// 定时器0冲断处理函数,CPU响应定时器0中断进入该处理函数,在该函数中计算定时1s来控制LED亮灭
void Timer0() interrupt 1
{
	static u16 i;
	TH0=0xFC;
	TL0=0x18;
	i++;
	if(1000==i)
	{
		i=0;
		LED=~LED;
	}
}

主函数中调用定时器0初始化函数Timer0Init

仿真结果如下:

定时器0实现LED间隔1s亮灭

3.4.2、定时器1使用示例

定时器1与定时器0使用类似。

定时器1初始化函数如下:

// 定时器1中断响应条件设置,即定时器1初始化
void TImer1Init()
{
	// 1. 设置工作方式1、设置初值
	TMOD|=0x10;
	TH1=0xFC;
	TL1=0x18;
	// 2. 打开定时器1中断允许标志位
	ET1=1;
	// 3. 打开CPU总中断允许位
	EA=1;
	// 4. 启动计数
	TR1=1;
}

定时器1中断处理函数如下:

// 定时器0冲断处理函数,CPU响应定时器0中断进入该处理函数,在该函数中计算定时1s来控制LED亮灭
void Timer1() interrupt 3
{
	static u16 i;
	i++;
	TH1=0xFC;
	TL1=0x18;
	if(1000==i)
	{
		i=0;
		LED=~LED;
	}
}

主函数中调用定时器1初始化函数即可。

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

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

相关文章

【SpringMVC快速使用】1.@RestController @RequestMapping 2.logback的使用

背景:为何从这个最简单的 例子写起呢? 那是因为我们的管理后台之类的都是别人写的,我也听说了大家说:只用Post请求就足够了,但是却发现,在浏览器中测试时,默认是GET请求,如果直接写…

HTML--基本结构构成

基本结构&#xff1a; 文档声明: <!DOCTYPE html> htm标签对 :<html> </html> head标签对&#xff1a; <head> </head> body标签对&#xff1a;<body> </body> 如下结构&#xff1a; <html> <head> <title>这是一…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑩

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应处理&#xff0c;程序根据两个输入参数iRecordNum和IType计算x的值并返回。编写程序代码&#xff0c;使用JUnit框架编写测试类对编写的程序代码进行测试&#xff0c;测试类中设计最少的测试数据满足基路…

Unity中URP下实现能量罩(扭曲流光花纹)

文章目录 前言一、能量罩花纹1、在属性面板接收能量罩花纹纹理2、申明 纹理 和 采样器3、在顶点着色器&#xff0c;应用 Tilling 和 Offset4、在片元着色器&#xff0c;纹理采样后&#xff0c;与之前的结果相乘输出 二、能量罩流光1、在顶点着色器&#xff0c;记录原uv值2、在片…

世微大功率 内置2.5A宽电压降压恒流 LED电源驱动车灯IC AP5193

AP5193是一款PWM工作模式,高效率、外围简单、 内置功率MOS管&#xff0c;适用于4.5-100V输入的高精度 降压LED恒流驱动芯片。电流2.5A。AP5193可实现线性调光和PWM调光&#xff0c;线性调光 脚有效电压范围0.55-2.6V. AP5193 工作频率可以通过RT 外部电阻编程来设定&#xff0c…

微软Visual Studio产品之Visual C++编程进阶——一维数组(画画版)

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;看到不少初学者在学习编程语言的过程中如此的痛苦&#xff0c;我决定做点什么&#xff0c;我小时候喜欢看小人书&#xff08;连环画&#xff09;&#xff0c;在那个没有电视、没有手机的年代&#xff0c;这是…

软件测试|Python中如何控制输出小数点位数

简介 在数据处理、科学计算和金融分析等领域&#xff0c;经常需要对浮点数的输出进行格式化&#xff0c;以控制小数点后的位数。Python提供了多种方法来实现这个目标。在本文中&#xff0c;我们将深入探讨几种指定输出小数点位数的方法&#xff0c;帮助我们在不同场景下选择合…

打造创新的金融数据平台,加速数字化和智能化转型丨PingCAP 官网金融行业专区上线

自诞生以来&#xff0c;TiDB 的原生分布式架构在强一致性、高可用性和可扩展性等方面与金融级业务需求高度契合&#xff0c;早期版本即为包括北京银行在内的金融用户提供服务。 TiDB 的核心能力始终源自与中国金融用户的共同创造。作为金融级分布式数据库&#xff0c;TiDB 在国…

Windows安全基础:认证基础知识

目录 Windows凭据 Windows访问控制模型 访问令牌&#xff1a; 安全标识符&#xff08;SID&#xff09;&#xff1a; 安全描述符&#xff1a; 令牌安全防御 1、禁止域管理员异机登录 2、开启“审核进程创建”策略 Windows凭据 SSPI&#xff08;Security Support Provide…

【期末不挂科-C++考前速过系列P2】大二C++第2次过程考核(20道选择题&10道判断题&3道代码题)【解析,注释】

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》专…

RabbitMQ入门到实战——高级篇

消息的可靠性 生产者的可靠性&#xff08;确保消息一定到达MQ&#xff09; 生产者重连 这⾥除了enabled是false外&#xff0c;其他 initial-interval 等默认都是⼀样的值。 生产者确认 生产者确认代码实现 application中增加配置&#xff1a;&#xff08;publisher-returns…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷③

单元测试 一、任务要求 题目1&#xff1a;输入一个大写字母一个小写字母。根据输入的第一个字母和英文周几单词的第一个大写字母判断是周几&#xff0c;如果无法根据第一个大写字母判断&#xff0c;则继续根据输入的第二个小写字母进行判断&#xff0c;最终返回正确的英文周几…

Ubuntu下使用Virtual Box中显示没有可用的USB设备

Ubuntu中使用Virtual Box&#xff0c;但是使用到USB时只有USB1.1可以使用&#xff0c;并且提示没有可以使用的USB设备&#xff0c;解决方法如下 下载并安装Vitrual Box提供的功能扩展包 分别点击帮助->关于&#xff0c;查看当前使用的版本进入到Virtual Box官网下载链接根…

使用 gitee+sphinx+readthedocs 搭建个人博客

给大家安利如何快速搭建个人博客网站&#xff01; 前言 这是我本地运行的一个使用sphinx构建的博客服务&#xff0c;这些文章&#xff0c;都是用markdown写的。 一直有个想法&#xff0c;就是把自己写的这些文件&#xff0c;搞成一个博客网站&#xff0c;放到网上&#xff0c…

1.1 计算机网络在信息时代的作用

1.1 计算机网络在信息时代的作用 网络&#xff08;Network&#xff09;由若干结点&#xff08;Node&#xff09;和连接这些结点的链路&#xff08;Link&#xff09;所组成。网络中的结点可以是计算机、集线器、交换机或者路由器等。 图1-1 多个网络还可以通过路由器互连起来&a…

Chrome Dev Tools 配置

文章目录 前言偏好设置小结 前言 控制面板 > command shift p 呼出快捷指令面板&#xff0c;或者如下图操作 偏好设置 默认配置 中文配置 小结 把今天最好的表现当作明天最新的起点……&#xff0e;&#xff5e; 投身于天地这熔炉&#xff0c;一个人可以被毁灭&#xff0…

kafka下载安装部署

Apache kafka 是一个分布式的基于push-subscribe的消息系统&#xff0c;它具备快速、可扩展、可持久化的特点。它现在是Apache旗下的一个开源系统&#xff0c;作为hadoop生态系统的一部分&#xff0c;被各种商业公司广泛应用。它的最大的特性就是可以实时的处理大量数据以满足各…

oracle 19c容器数据库data dump数据泵传输数据(2)---11g导19c

目录 1.在11gnon-cdb数据库中创建测试用户 2.在19cCDB容器数据库中新建pdb2 3.执行命令导出 4.执行命令导入 Exporting from a Non-CDB and Importing into a PDB 我們要記住一点&#xff1a;如果是全库导出导入的话&#xff0c;目标数据库没有的表空间我们要事先创建&#…

制造领域 基础概念快速入门介绍

1、基本背景知识 本定义结合国家标准文件有所发挥&#xff0c;仅供参考。 产品&#xff1a;是生产企业向用户或市场以商品形式提供的制成品&#xff1b; 成套设备&#xff1a;在生产企业一般不用装配工序连接&#xff0c;但用于完成相互联系的使用功能的两个或两个以上的产…

国产系统-银河麒麟桌面版V10安装字体-wps安装字体

安装系统:银河麒麟V10 demodemo-pc:~/桌面$ cat /proc/version Linux version 5.10.0-8-generic (builddfa379600e539) (gcc (Ubuntu 9.4.0-1kylin1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #33~v10pro-KYLINOS SMP Wed Mar 22 07:21:49 UTC 20230.系统缺失…