单片机应用(实战培训).ppt

上传人:夺命阿水 文档编号:246768 上传时间:2023-03-22 格式:PPT 页数:88 大小:2.11MB
返回 下载 相关 举报
单片机应用(实战培训).ppt_第1页
第1页 / 共88页
单片机应用(实战培训).ppt_第2页
第2页 / 共88页
单片机应用(实战培训).ppt_第3页
第3页 / 共88页
单片机应用(实战培训).ppt_第4页
第4页 / 共88页
单片机应用(实战培训).ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《单片机应用(实战培训).ppt》由会员分享,可在线阅读,更多相关《单片机应用(实战培训).ppt(88页珍藏版)》请在课桌文档上搜索。

1、单片机应用培训,2,单片机基础知识,3,4,单片机是用于控制用的.(使用相当广泛,它属于一种低端的计算机的控制,高端为嵌入式)对于计算机而言,操作系统要学UNIX,而控制用则学单片机;单片机是面向具体机器的,不同的CPU有不同的指令系统,但基本兼容.,5,单片机的发展历史和发展趋势,一、单片机的发展历史,第一阶段(19741976):单片机采用双片形式,即需另加其它外围电路才能构成完整的微型计算机。eg:仙童公司的F8+3851第二阶段(19761978):低性能的单片机阶段。单片机由一片芯片构成,性能低。eg:MCS-48(Intel);8048,8035(I/O少,存贮器容量小);,6,第

2、三阶段(1978):高性能单片机阶段。CPU、并行口、串行口、定时器、RAM、ROM、A/D、多级中断处理,RAM、ROM容量大,I/O种类数量多,寻址范围大。eg:MCS-518031、Motorona6801、ZilogZ8第四阶段(1982)8位单片机巩固发展及16位单片机推出。eg:MCS-518031,MCS-968096(8098),7,二、单片机的发展趋势,(一)CPU功能的增强,(二)内部资源增多,1、加大存贮容量。,1、双CPU提高处理能力。2、增加数据总线宽度。NEC PD7800系列,内部采用16位数据总线。3、采用流水线结构。指令以队列形式出现在CPU中。4、串行总线。

3、SPI、I2C 用三条数据总线代替8位数据总线,减少引线,降低成本。,8,2、片内EPROM开始EEPROM化。鉴于EEPROM中数 据写入后就能永久保存,因此,有的单片机将它 作为片内RAM使用,有的甚至作片内通用寄存器。3、I/O数量、能力增强(驱动能力,传输速度、控制能 力),(四)低功耗化,(三)外围电路内装化,9,单片机的应用与选择,一、单片机的特点(1)小巧灵活、成本低、易于产品化(2)可靠性高、适用的温度范围宽(3)易扩展、控制功能强(4)指令系统相对简单,较易掌握 二、单片机的应用领域(1)在智能仪表中的应用(2)在机电一体化中的应用(3)在实时控制中的应用(4)在军工领域的应

4、用(5)在分布式多机系统中应用(6)民用电子产品中的应用,10,三、单片机应用系统的结构,1、基本系统,2、扩展系统,单片机+输入/输出设备无扩展的ROM,RAM,I/O等。,单片机内部资源有限,要求较高的单片机系统需外扩展ROM、RAM、I/O,甚至A/D、D/A等。,11,单片机的特点:即在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O接口电路。由于把上述功能均集成在一块芯片上,故它的稳定性高,适合于工业控制。,12,2、8051的结构框图,13,8位CPU;片内振荡器及时钟电路;外部RAM和ROM存贮器的寻址范围为64KB;128字节内部RAM数据存贮器;2个16位的

5、定时器/计数器;1个全双工的异步串行口,4个8位并行I/O口;5个中断源、2级中断优先级的中断控制器;,14,常用的单片机产品,目前生产单片机的厂商主要有Intel公司、Motorola公司、Philips公司、ATMEL公司、WinBond公司、Microchip公司、AMD公司、Zilog公司等,产品型号规格众多,性能各具特色。,15,MCS51系列单片机的所有产品都含有8051除程序存贮器外的基本硬件,都是在8051的基础上增减部分资源(程序存贮器、数据存贮器、I/O口、定时/计数器及一些其它特殊部件)。,二、MCS-51系列单片机的一般结构,16,1。2 8051内部结构,单片机内部可

6、分为:CPU、存储器、并行口、串行口、定时器/计算器和中断逻辑这几个部分。,17,1。2。1 中央处理器,1。8051中央处理器由运算器和控制逻辑构成,其中包括若干个特殊功能寄存器。在寄存器中进行加、减、乘、除、和逻辑运算。R0R7,acc,b等。,18,Cy(PSW.7):进位标志,又是布尔处理机的累加器C。在执行某些算术和逻辑指令时,数据操作结果最高位有进位输出(加法时)或借位输入(减法时),则置位Cy,否则清Cy。AC(PSW.6):辅助进位标志,又称半进位标志。当进行加减法操作而产生由低4位向高4位进位(加法)或借位(减法)时,则置位AC,否则清AC。F0、F1(PSW.5、PSW.1

7、):用户标志。,19,OV(PSW.2):溢出标志。溢出标志位常用于补码运算,当有符号的两个数运算结果超出了目的寄存器所能表示的带符号数的范围(128+127)时置位OV。即当操作结果有进位进入最高位但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,则置位OV,否则清OV。,方法:如果位6有进位输出而位7没有或者位7有进位输出而位6没有则置位OV。,20,P(PSW.0):寄偶标志。表示累加器ACC的值二进制表示时1的个数,若1的个数为寄数,则置位P,否则清P。,eg:(A)=00001110B P=1,注意:ACC中1的个数为奇数并不能表示ACC的值为奇数。,21,22,1)8

8、051的时钟,单片机的时钟产生方法有内部时钟方式和外部时钟方式两种,大多数单片机应用系统采用内部时钟方式。,它控制着计算机的节奏。MCS-51单片机内有一个反相放大器组成的振荡器,振荡频率主要由外接的石英晶振确定。一般石英晶振的振荡频率为12MHz 或 11.059MHz;1.2MHz12MHz。,一般:C01、C02 均为30pF(20 80pF);fosc:12,11.059MHzNMOS、CMOS型单片机,23,NMOS型单片机外部时钟电路输入接线图,CMOS型单片机外部时钟电路输入接线图,24,2)MCS51 CPU基本时序周期,振荡周期:一般指石英晶体的振荡周期;时钟周期:(称S周期

9、)为振荡周期的2倍;机器周期:一个机器周期含6个时钟周期(S周期);指令周期:完成一条指令占用的全部时间。一般由14个机器周期组成。CPU的工作是不断地取指令和执行指令,以完成数据的处理、传送和输入/输出操作。CPU取出一条指令至该指令执行完所需的时间称为指令周期。指令周期是以机器周期为基本单位的,是机器周期的整数倍。一个机器周期包含12个时钟周期(S1P1、S1P2、S2P1、S2P2、S6P1、S6P2)。时钟周期:时钟脉冲的间隔。,25,一般情况下算术逻辑操作发生在时相P1期间,而寄存器至寄存器之间的数据传送发生在时相P2期间。引脚ALE输出信号为MCS51扩展系统的外部存贮器地址低8位

10、的锁存信号,在访问外部程序存贮器的周期内,ALE信号有效两次(S1P2至S2P1和S4P2至S5P1输出两个正脉冲);而在访问外部数据存贮器的机器周期内,ALE信号有效一次(只在S1P2和S2P1期间产生一个正脉冲)。,26,27,3)指令部件,程序计数器PC:是16位的计数器,寻址64KB;指令寄存器IR:用来存放当前正在执行的指令;指令译码器:对IR中内容进行分析解释;数据指针DPTR:为16位地址寄存器,主要用于外部寻址,寻址范围为64KB。,28,1.2.2 MCS51单片机的存贮器MCS51单片机的存贮器的特点为程序存储区与数据存储区是分开的,MCS51系列单片机有五个独立的存贮空间

11、:64KB 程序存贮器空间(0 0FFFFH)64KB 外部数据存贮空间(0 0FFFFH)256B 内部RAM(0 0FFH);128B内部特殊功能寄存器(80 0FFH)位寻址空间(0 0FFH),一、程序存贮器,地址指针为16位的程序计数器PC,64KB地址空间,包含内部程序存贮器和外部程序存贮器两部分。,特殊功能寄存器只能用直接寻址方式,内部数据存贮器区80H0FFH单元只能用寄存器间接寻址方式。,29,30,二、外部RAM和I/O,MCS51的外部数据存贮器(RAMIO)空间为64KB字节(地址为 0000H0FFFFH),一般通过16位的数据指针DPTR来访问,且外部RAM和外部I

12、/O的地址安排是统一编址的,CPU对其有相同的操作功能。,31,三、内部RAM数据存贮器,内部RAM数据存贮器可划分为三个区域:工作寄存区 00H1FH(R0R7)位寻址区 20H2FH 堆栈和数据缓冲区 30H7FH,PSW.3 PSW.4 0 0 0区 00H07H 0 1 1区 08H0FH 1 0 2区 10H17H 1 1 3区 18H1FH,CPU当前使用的工作寄存器区由程序状态字PSW的 3、4位决定。,位寻址区16个单元的每一位都有一个位地址(16*8)。在实际应用中,往往需要一个后进先出(LIFO)的RAM缓冲器用于保护CPU的现场,这种后进先出的缓冲器称之为堆栈。堆栈的栈顶

13、位置由堆栈指针SP确定。,32,五、特殊功能寄存器,MCS51内部的I/O口锁存器以及定时器、串行口、中断等各种控制寄存器和状态寄存器都称为特殊功能寄存器。地址 80H0FFH 见特殊功能寄存器地址表。,33,表25 特殊功能寄存器列表,34,六、位存贮器,20H2FH单元以及特殊功能寄存器中地址为8的倍数的特殊功能寄存器可以位寻址。其每一位都有一个字节地址。,35,1.2.5 MCS51单片机的外部引脚,制造工艺为HMOS的系列单片机大都采用40条引脚的双列直插式封装(DIP).,36,输入/输出接口是CPU外设间信息的桥梁,它可以制成一块单独的大规模集成电路,也可以和CPU集成在同一块芯片

14、上,单片机中就是后一种结构。,1.2.3 MCS51内部并行I/O端口,8031有四个并行端口,分别命名为P0、P1、P2 和P3。这四个并行I/O端口的内部位结构如图所示,每个端口皆有八位。由图可见,每个位结构都有一个输出锁存器和一个输入缓冲器。输出锁存器,用于存放需要输出的数据。,37,每个端口的八位输出锁存器构成一个特殊功能寄存器,且冠名与端口相同。输入缓冲器用于对端口引脚上输入数据进行缓冲,因此各引脚上输入的数据必须一直保持到CPU把它读走为止。P0、P1、P2 和P3端口的电路形式不同,其功能也不同。下面结合电路结构就其功能加以说明。,一、P0口,在访问外部存储器时,P0口是一个真正

15、的双向数据口,并分时送出地址的8位和送出(接收)相应存储单元的数据。,38,图11(a)是P0口的位结构图,它包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。,39,当从P0口输出地址或数据时,控制信号应为高电平1,模拟转换开关(MUX)把地址/数据信息经反相器和下拉场效应管接通,同时与门打开。输出的地址或数据既通过与门去驱动上拉场效应管,又通过反相器去驱动下拉场效应管。,例如,若地址/数据信息为“0”,该“0”信号一方面通过与门使上拉场效应管截止,另一方面经反相器使下拉场效应管导通,从而使引脚上输出相应的“0”信号,反之,若地址/数据信息为“1”,将会使上拉场效应管导

16、通而下拉场效应管截止,引脚上将出现相应的“1”信号。,40,若P0口作为一般I/O口使用,在CPU向端口输出数据时,对应的输出控制信号应为0,模拟转换开关将把输出级与锁存器Q端接通。同时,因与门输出为0,使上拉场效应管处于截止状态,因此输出级是漏极开路电路。这样,当写脉冲加在触发器时针端CP上时,则与内部总线相连的D端数据取反后就出现在Q端,再经场效应管反相,在P0引脚上出现的数据正好是内部总线的数据。,不难看出,P0口在输出地址/数据信息和作为一般I/O口输出数据时,其输出驱动电路的工作状态是有差别的。,41,一般P0口的输出级能驱动8个LS TTL 输入,但对NMOS输入而言,P0口做地址

17、/数据总线口使用时,不必外加提升电阻。而作一般I/O口使用时,由于输出驱动电路工作于开漏状态,故需外接上拉电阻。,当P0口引脚上输入数据,此时上拉FET应一直处于截止状态。引脚上的外部信号即加在下面一个三态缓冲器的输入端,又加在下拉FET的漏极,假定在此之前曾输出锁存过数据0,则FET是导通的,这样引脚上的电位就始终被钳位在0 电平,使输入高电平无法读入。因此作为一般I/O口使用时,P0口是一个准双向口,即输入数据时,应先向口写“1”,使两个FET均截止,然后方可作高阻抗输入。,42,但在P0口连接外部存储器时,由于访问外部存储器期间,CPU会自动向口0的锁存器写入0FFH,所以,对用户而言,

18、P0口用作地址/数据总线时,则是一个真正的双向口。,上面所述为数据由引脚输入的情况,称为“读引脚”操作。但在有些情况下,例如用一根口线去驱动一个晶体管的基极,则向此口线写“1”时,晶体管导通,并把引脚上的电平拉低,这时若从引脚上读取数据,会把此数据错读为0。为了避免错读引脚上电平的可能性,单片机中还提供了另一类所谓“读锁存器”操作。,43,这类操作的特点是:先读口,随之可对读入的数据进行修改,然后再写到端口上。例如执行指令ORL P0,A时,则先把P0上的内容读入CPU,然后与A累加器内容按位进行逻辑“或”操作,最后把“或”的结果送回P0口。能使单片机产生这种读-修改-写操作的指令,其目的操作

19、数一般为某I/O口或口的某一位,这些指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOV PXY,C,CLR PXY和SETB PXY等,它们的含义详见指令系统一章的说明。,44,综上所述,P0口既可作地址/数据总线口,这时它是真正的双向口,也可作通用I/O口,但只是一个准双向口。一般情况下,P0口已当作地址/数据口使用时,就不能再作通用I/O口使用。,P2口的位结构如图1-1(b)所示,它与P0口基本相同,只有输出部分略有不同,在输出FET的漏极接有上拉电阻,这种结构不必外接上拉电阻就可驱动任何MOS输入电路,且能驱动四个LSTTL输入。P2口常用作外部存储器的高

20、八位地址口。当不用作地址口时,P2口亦可作通用I/O口,这时它也是一个准双向I/O口。,二、P2口,45,46,三、P1口,47,四、P3口,P3口是一个双功能口,第一功能和P2口一样可作为通用I/O口。P3口工作于第二功能时,各位的定义如下:,48,49,由图1-1(d)P3口位结构可以看出,实现第一功能作通用I/O输出口时,选择输出功能端应保持高电平,使与非门对锁存器Q端是畅通的。同理,实现第二功能做专用信号输出时,则该位的锁存器应置1,使与非门对选择输出功能端是畅通的。对输入而言,无论该位是作通用输入口还是作第二功能输入口,其输出锁存器和选择输出功能端都应置1,即使FET 截止。,由于所

21、有口锁存器在上电复位时均置为1,自然满足了上述条件,所以用户不必做任何工作,就可以直接使用P3口的第二功能。至于第一功能,应在确信某一引脚第二功能提供的信号不用时,该引脚才可作I/O线使用,使用方法同与一般准双向口相同。,50,1.MCS51单片机的串行口,MCS51系列单片机的串行口是全双工的,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。,1.2.4 8051的内部资源,51,在串行口中可供用户使用的是它的寄存器,因此了解其寄存器结构对用户来说是十分重要的。,一、串行口寄存器结构,52,2。定时器/计数器,MCS51单片机内部有两个可编程的定时器/计数器,

22、分别称为定时器/计数器0和定时器/计数器1。它们都是16位加法计数结构,分别由TH0和TL0及TH1和TL1两个8位计数器组成。,53,一、计数功能,计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。MCS51芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的输入端。外部输入的脉冲为负跳变时有效,进行计数器加1。,单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效脉冲。在下一个机器周期的S3P1进行计数。可见采样计数脉冲是在2个机器周期进行的

23、。因此,计数脉冲的频率不能高于震荡脉冲频率的1/24。外部输入脉冲高电平和低电平时间必须在一个机器周期以上。,54,二、定时功能,定时功能也是通过定时器/计数器的计数来实现的。不过此时的计数脉冲来自单片机内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。,由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的初值。,55,3.MCS-51中断系统与控制,MCS51的51子系列(8031、8051、8751等)有5个中断源,52子系列(8032、8052等)有6个中断源,它们均有

24、两个优先级,通过4个中断控制器(IE、IP、TCON、SCON)进行中断管理 8051单片机的5个中断源分为两种类型:一类是外部中断源,包括INT0和INT1;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的发送/接收中断。,56,1.2.5 MCS51单片机的外部引脚,制造工艺为HMOS的系列单片机大都采用40条引脚的双列直插式封装(DIP).,57,一、电源及时钟引脚,Vcc(40脚):接+5V电源;Vss(20脚):接地;XTAL1(19脚):接外部晶体的一个引脚;XTAL2(18脚):接外部晶体的另一端;时钟引脚(18、19脚)外接晶体时与片内的反相放大器构

25、成一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。,58,二、控制引脚,59,60,三、输入输出引脚,P0口(P0.0P0.7)为双向8位三态IO口,当作为I/O口时,可直接连接外部I/O设备。它是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线;P1口(P1.0P1.7)为8位准双向IO口,可定义为输入线或输出线(作为输入时,口锁存器必须置1),可驱动4个TTL负载;,61,P2口(P2.0P2.7)为8位准双向IO口,当作为I/O口时,可直接连接外部I/O设备。它是与地址总线高8位复用,可驱动4个TTL负载。一般作为扩展时地址总线的

26、高8位,可驱动4个TTL负载。P3口(P3.0P3.7)为8位准双向IO口,是双功能复用口,可驱动4个TTL负载。,62,(a),1。MCS51单片机的复位方式,复位电路:使CPU和系统中的其它部件都处于一个确定的初始状态,并从这个初始状态开始工作。,上电复位电路,上电复位和开关电路,系统复位电路,(b),复位原理:使RST引脚为足够长的高电平时间。,1.2.6 单片机的工作方式,63,3。MCS-51单片机的单步工作方式,单步工作方式,即单步执行:就是由外来脉冲控制程序的执行,使之达到来一个脉冲就执行一条指令的目的。而外来脉冲是通过按键产生的,因此实际上单步执行就是按一次键执行一条指令。,假

27、定利用外部中断0来实现程序的单步执行,为此应事先作好两项准备工作:,建立单步执行的外部控制电路;,编写外部中断0的中断服务程序。,64,CLR IT0;设置外部中断0为电平触发 SETB EA;CPU开中断 SETB PX0;置外部中断0为高优先级 SETB EX0;外部中断0开中断,其初始化程序如下:,65,4。低功功耗操作方式。,66,1.1 MCS51并行扩展总线,MCS51系统单片机(8031、8032除外)尽管是一功能完全的单片机,但因其内部资源(RAM、ROM、I/O、A/D、D/A等)不足,在实际应用中不加以扩展直接用其基本系统的情况较少,一般情况下需扩展。,一、MCS51并行扩

28、展总线方法,MCS51可以扩展64KB的程序存贮器和64KB的数据存贮器或输入/输出口。,67,P0、P2口可以直接作为输入输出使用,其更重要的用途是用来扩展总线口使用。P0口作为地址(地址低8位)/数据(D0D7)总线口。P2口作为地址总线口(地址高8位)。,68,69,70,71,MCS51访问外部存贮器时序波形可以看出,输出的地址当ALE上升以后有效,当ALE下降以后消失,因此可以用ALE的负跳变将地址打入地址锁存器,即当ALE由高变低时,将出现在P0口的地址信号低8位锁存到外部地址锁存器中(如图61所示),直到下一次ALE变高时,地址才发生变化。,72,二、地址译码方法,(一)线选法,

29、73,74,(三)部分地址译码法,部分地址译码法是指单片机片选线中只有一部分参加了译码,其余部分是悬空的,在实际应用中这种使用方式不太多。当使用部分地址译码法时,无论CPU使悬空片选地址线上电平如何变化,都不会影响它对存贮单元的选址,故存贮器每个存贮单元的地址不是唯一的,必然会有一个以上的CPU地址和它对应(既地址有重叠)。采用部分地址译码法时必须把程序和数据放在基本地址范围内(即悬空片选地址线全为低电平时存贮芯片的地址范围),以避免因地址重叠引起程序运行的错误。,75,1.2 MCS51存贮器的扩展,对于用内部无ROM的芯片8031,8032来建立系统,则必须外部扩展程序存贮器。对于仅靠内部

30、ROM,其ROM容量不能满足要求的情况,则可外部扩展程序存贮器。程序存贮器的作用:用于存贮程序代码或程序常数。,76,1、程序存贮器扩展的基本原理,(二)MCS51程序存贮器的扩展方法,“某一值”由内部程序存贮器的容量决定。,77,MCS51访问外部程序存贮器时序波形如下:,MCS51访问外部程序存贮器时序波形,78,2、程序存贮器扩展的一般方法,常用的地址锁存器有:74LS373(三态缓冲输出的八D锁存器);8282(三态缓冲输出的八D锁存器);74LS273(带清除端的八D锁存器)。最常用的是74LS373,当然地址锁存器芯片不同,则与单片机的连接方式不同。,79,E低电平有效(一般接地)

31、。G(STB)为锁存信号输入端,高电平时Q0Q7=D0D7,G(STB)电平负跳变(为0)时,Q0Q7状态保持不变。,G(STB)实际连接时接单片机的ALE。,74LS373和8282都是透明的三态门八D锁存器,其工作原理为:,80,当需扩展时,单片机一般采用片内无ROM的8031芯片。,81,当采用74LS273作地址锁存器时,锁存器控制端为上升沿锁存,故ALE须反相才能接到74LS273的锁存器控制端。,82,二、数据存贮器的扩展,MCS51系列单片机内已具有128或256B的RAM,它们可以作为工作寄存器、堆栈、软件标志和数据缓冲器使用,对于一般性的应用场合已基本满足要求,但对于需要大容

32、量数据缓冲器的应用系统(如数据采集系统),就须外部扩展RAM。,(一)、常用的数据存贮器,最常用的数据存贮器为半导体静态随机存取存贮器,如6116,6264,62256。E2PROM也可作外部RAM(但速度慢),但因它掉电后信息不丢失,对某些要求不间断工作、对于一些关键性的实时数据不允许丢失的场合较合适,但其读/写速度稍慢(尤其是写的速度慢)故用其作扩展时,在硬件设计和软件设计都应着重考虑这一因素。,83,静态随机存取存贮器RAM,具有速度快、使用方便和价格低廉等优点,但也具有掉电丢失数据的缺点。,84,(二)、数据存贮器扩展方法,1、MCS51 对外部数据存贮器的操作指令,85,2、MCS51 读外部数据存贮器时序波形,86,3、MCS51 写外部数据存贮器时序波形,87,4、MCS51 和外部数据存贮器的接口方法,88,三、存贮器扩展举例,下图中,扩展一片27256(32K)EPROM一片62256(32K)RAM,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号