单片机基础知识.docx

上传人:b****7 文档编号:9239615 上传时间:2023-02-03 格式:DOCX 页数:31 大小:231.01KB
下载 相关 举报
单片机基础知识.docx_第1页
第1页 / 共31页
单片机基础知识.docx_第2页
第2页 / 共31页
单片机基础知识.docx_第3页
第3页 / 共31页
单片机基础知识.docx_第4页
第4页 / 共31页
单片机基础知识.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

单片机基础知识.docx

《单片机基础知识.docx》由会员分享,可在线阅读,更多相关《单片机基础知识.docx(31页珍藏版)》请在冰豆网上搜索。

单片机基础知识.docx

单片机基础知识

第1章基础知识

1.1概述

作为初学者,在全面、深入学习单片机开发应用技术之初,一定会提出许许多多与单片机相关的问题(如下所列),正确理解并回答这些问题,无疑为学好、用好单片机开了个好头。

单片机是单片微型计算机的简称。

图1-1是常见单片机实物图,其中包括51系列、STC系列、PIC系列和AVR系列单片机。

说它们是一款计算机,你可能会产生质疑:

这也是计算机?

从外观来看,它与我们日常使用的台式电脑、笔记本电脑大相径庭,但它们的确是计算机。

俗话说:

“麻雀虽小,五脏俱全”,一般计算机所拥有的基本结构,例如处理器、存储器、输入/输出等,单片机同样拥有。

之所以称为单片计算机,是因为它们将处理器、存储器、输入/输出等组件全部集成在一块芯片上的原因。

图1-1常见单片机实物图

目前,单片机在工业控制、智能仪器仪表、消费类电子、军事、医用、网络通信等领域都有十分广泛的应用,且其应用领域还在进一步地拓展。

1、工业控制领域:

工业现场实时测控、数据采集等;

2、智能仪器仪表领域:

数字万用表、数字示波器、数字信号源、数字频率计等;

3、消费类电子领域:

洗衣机、电冰箱、空调、电视机、微波炉、IC卡、电子玩具、数码相机、数码摄像机等;

4、军事领域:

飞机、坦克、导弹、鱼雷、制导、智能武器等;

5、医用领域:

呼吸机、监护仪、超声诊断、病床呼叫等;

6、网络通信领域:

电话机、手机、程控交换机、楼宇自动呼叫、无线通信等。

总之,单片机的应用已经并将渗透到人类工作和生活的多个领域。

据不完全统计,目前世界上单片机的年销售量已超过12亿片。

单片机应用系统是软件、硬件相结合的综合应用系统,软件和硬件二者缺一不可,如图1-2所示。

图1-2单片机应用系统

对于硬件,首指就是单片机。

单片机种类较多(51,AVR,PIC,STC等系列),我们选用51系列单片机,图1-1中就有40个引脚的双列直插式(PDIP40)封装的51系列单片机。

一个单片机应用系统的硬件部分,只有单片机是远远不够的。

单片机是必需的,但还需其它外部硬件设备或元件,这些外部硬件设备或元件一般被称为外部设备,简称外设,如图1-3所示。

这些外设器件与单片机一起工作,才能完成或者实现具体功能。

图1-351单片机硬件系统使用的部分常见外设

硬件我们暂且放在一边不谈,再说软件。

软件开发简言之就是编写程序。

选用什么语言?

用什么软件?

怎样编写程序等等问题都将接踵而来,以下我们先简单说明一下这些问题。

选用什么语言?

C语言!

其实,在单片机软件系统开发中,编程语言有两种:

C语言和汇编语言。

之所以选用C语言而未选用汇编语言,是由于在编写单片机程序方面,C语言相比汇编语言有许许多多的优势,在此,我们不再历数那些优势具体是什么,总之,就用C语言了!

用什么软件?

Keil!

这是目前用得最多、最广泛的单片机C语言软件开发环境。

Keil有μVision2,μVision3,μVision4等版本,我们选用μVision3。

怎样编写单片机C语言程序?

这个问题不是一两句话能解释清楚的,但有一个总体的目标,这就是以硬件为前提基础,准确运用C语言,编写出结构完整、具有一定功能、能在单片机上实际运行、能实现具体功能的C语言程序。

C语言的语法比较少,单片机中用到的C语言语法更少!

所以在使用C语言进行单片机编程前,没有必要将C语言的全部知识系统地学习或复习一遍。

以往,要学习单片机,并准备用C编写程序,一般是先系统地学习C语言,再系统地学习单片机知识,最后将二者结合起来,再学习C语言的单片机开发应用。

现在,我们的思路与以前大不相同,具体做法是,打破传统的知识体系框架,设计一系列从简单到复杂的单片机应用开发项目,将C语言知识、单片机知识融入具体项目中,在具体应用开发项目的实际工作过程中,学习并掌握基于C语言的单片机应用开发技术。

教学中,针对具体项目,仅对本项目涉及到的C语言知识点、单片机知识点做细化讲解,本项目不涉及的知识点暂且不提,以够用、实用为原则,以解决实际问题为最终目的。

在一个个应用项目开发的实践和实现过程中,逐步学习和掌握C语言单片机开发的方法和技巧。

在本书后续章节中,我们将举出大量单片机C语言应用开发的实例,结合这些具体实例,无论你以前学过还是没有学过C语言、了解不了解单片机知识,都没有关系,只要紧跟本书的章节和每一个具体实例,深入研究和学习,相信你一定会掌握单片机C语言开发的技术,成为单片机应用开发的高手。

1.2单片机应用系统开发流程

如图1-2所示,单片机应用系统包括硬件系统和软件系统,对应地,单片机应用系统的开发,也主要包括硬件部分开发和软件部分开发两大部分。

实际工作中,当软件和硬件开发工作完成之后,还要将软件开发生成的.hex文件下载(俗称“烧片)到单片机的程序存储器ROM中。

由于下载烧片工作一般使用专门的设备(如编程器)来完成,因此操作比较简单,使用者只要正确操作该设备及相关软件,都能成功下载烧片,所以在单片机应用系统的开发流程中,下载烧片这一开发环节往往被淡化或者忽略不提。

本书沿袭惯例,对下载烧片环节不做过多说明,有兴趣的读者请参看附录C或其它资料。

此处专门提出这一环节,只是希望能引起读者的注意,不要忘记最后这一环节。

再说单片机开发中的软件和硬件,可以说,硬件是整个应用系统的基础,而软件则依赖于系统的硬件。

在硬件不再改变的条件下,软件程序的改变,可以部分改变系统的功能。

但从整体而言,单片机应用系统的开发,本是一个“软硬兼施”的过程,软件和硬件需要互相弥补,密切配合。

部分用硬件不能实现或者不便实现的功能,可以考虑用软件去补充或实现;同样道理,选择适当的硬件,也可以弥补软件功能上的缺憾或不足,二者相得益彰,互相配合,才能使任务最终实现。

就单片机应用系统的开发流程而言,硬件和软件在开发次序方面,原则上无先后之分,先开发哪一个都可以,有时候二者还可以同步进行设计和开发。

但考虑到硬件是基础,所以通常情况下是先开发硬件,再开发软件。

对于硬件部分的开发,简言之就是设计和加工电子线路板,或者手动焊接电子线路板。

具体而言,硬件部分的开发绝非易事。

首先是硬件电路所用元器件种类繁多,特性各异,全部掌握或了解实属不大可能;再次,硬件电路的设计开发需要很高的设计技巧,绝非一日之功可以成就。

本书作为单片机初学者的入门教材,对后续各章节中列举的各个实例,针对不同的任务要求,直接给出了硬件电路图,并对部分主要和重要元器件的特性和功能,也做了详细介绍,方便初学者参考学习并逐渐积累硬件设计的经验,以便日后能自行设计较复杂的硬件电路。

相对于硬件部分的开发,软件部分的开发则较为灵活。

正如前面所述,开发语言可以选择汇编语言,也可选择C语言,还可以是汇编语言和C语言混合编程。

我们主要选用的是C语言,开发环境则选用Keil的μVision3。

需要特别说明的是,在软件开发部分,开发流程几乎是固定不变的,如图1-4所示,主要包括工程建立、源程序编写和编译调试三个步骤;软件开发的结果是生成扩展名为.hex的文件,该文件被用于下载或者烧片到单片机的程序存储器ROM中,供单片机上电后再读出来执行,从而驱动或者控制外部设备按照预定的要求正常工作。

从软件开发的流程可见,针对不同的项目任务,编写的源程序不大相同,其余步骤则基本固定不变。

与对硬件开发的处理思路一样,本书对于后续各章节中列举的各个实例,针对不同的任务要求,直接给出源程序清单,对主要和重要的功能模块,给予解释和说明,供初学者参考学习,而软件开发过程中的其它步骤则一概简化或略去,重点放在功能实现和源程序的编写上,其它与Keil相关的软件操作则被淡化,只因这些操作和步骤基本上是固定不变的。

鉴于以上概述,以下仅就软件开发的具体流程做详细说明。

图1-5是在图1-4的基础上,细化其中的三个主要步骤所得单片机软件开发流程图。

图1-4软件开发流程图1-5细化的软件开发流程

1、工程建立

(1)启动KeilμVision3软件

假设KeilμVision3软件已正确安装,启动KeilμVision3软件与启动其它软件的方法完全相同:

单击并依次选择【开始】——【程序】——【KeilμVision3】,或者直接双击桌面上KeilμVision3的快捷方式图标

,均可启动KeilμVision3。

启动过程中,屏幕出现如图1-6所示启动界面。

启动界面消失后,KeilμVision3就进入了如图1-7所示编辑界面,此时KeilμVision3软件已成功启动。

图1-6KeilμVision3启动界面

图1-7KeilμVision3启动成功后的编辑界面

(2)新建工程

Keil与现在众多的软件开发环境一样,均采用工程或者项目的管理方式来管理文件。

一个应用开发任务就是一个工程或项目。

一般地,以开发任务的名称为新建的文件夹名,所有与该开发任务有关的文件都存放在该文件夹中,不同开发任务的文件夹名一般不相同。

下面首先是新建工程。

单击KeilμVision3的【Project】菜单,在展开的下拉菜单中单击【NewProject…】,如图1-8所示。

在随后打开的保存新建工程窗口中,选择新建工程的保存路径,并为新建的工程命名,最后单击【保存】按钮保存该新建的工程。

注意,工程的扩展名不用输入,系统会默认选择为“.uv2”。

此处将工程暂且命名为“LED1”,并保存在F盘的文件夹LED下。

如图1-9所示。

图1-8新建工程

图1-9保存工程

(3)选择单片机型号

当单击图1-9所示新建工程保存窗口中的【保存】按钮之后,KeilμVision3会弹出单片机型号选择对话窗口,如图1-10(a)所示。

在该对话窗口中,要求用户选择该工程准备使用的单片机芯片的型号。

此处选择Atmel公司生产、使用最普及的AT89C51芯片。

具体操作是:

在图1-10(a)左侧栏所列众多厂家中找见“Atmel”,单击“Atmel”名称前的加号“+”,展开Atmel公司生产的单片机系列产品,如图1-10(b)所示;接着,在展开的Atmel公司生产的单片机系列产品中,单击选中“AT89C51”,如图1-10(c)所示;最后,单击【确定】按钮,芯片型号的选择完成。

此时,KeilμVision3会弹出如图1-11所示对话窗口,询问是否复制并添加标准8051启动代码到当前工程,一般单击选择【是】即可。

图1-10(a)选择51单片机的生产厂家

图1-10(b)单击展开Atmel公司生产的单片机产品

图1-10(c)选中Atmel公司生产的单片机AT89C51

图1-11是否添加8051启动代码到当前工程对话窗口

完成以上步骤之后,屏幕重新回到如图1-12所示编辑界面,图1-12与图1-7基本相同,不同之处是左侧“工程管理工作台”中的内容,图1-7中,“工程管理工作台”中什么也没有,而图1-12中,“工程管理工作台”中有名为“Target1”的对象,单击其名称前面的加号,还可以看到该对象内所包含的文件。

图1-12已含有“Target1”对象的编辑界面

2、源程序编写

新建工程完成之后,以下该进入源程序的编写环节了。

(1)新建并保存源程序文件

单击打开KeilμVision3的【File】菜单,再单击选择第一项【New…】,或者直接单击工具栏中“创建一个新文件”快捷图标

,都可以新建一个默认名字为“Text1”的文件。

新建之后,I型光标就在“Text1”文件的编辑窗口中闪烁,如图1-13所示。

需要说明的是,默认的文件名也许由于多次新建文件而出现“Textn”的字样,其中n是一整数,因为马上要将该文件进行保存或另存为其它名称的文件,所以原来的文件名是什么都无关紧要。

接下来将源文件进行换名保存。

单击【File】菜单中的【Save】或者【SaveAs…】,也可直接单击工具栏中的存盘快捷图标

,都可打开如图1-14(a)所示文件另存为窗口。

将其中的原始默认文件名“Text1”更换为“led1.c”。

此处特别要提起注意的是,因为我们使用C语言来编写源程序,所以源程序的命字中,其扩展名必须是“.c”,正如前面提到的,单片机的编程语言除C语言外,还有汇编语言,如果使用汇编语言编写源程序,则源程序文件名的扩展名就必须是“.asm”。

此处,源文件更名为“led1.c”,其中的扩展名“.c”表明这是用C语言编写的源程序,如图1-14(b)所示,最后单击【保存】。

单击【保存】后,源程序文件的名字已经更换,且源程序编辑窗口的标题栏显示为“F:

\LED\led1.c”字样。

如图1-15所示。

图1-13新建源程序文件界面

图1-14(a)源程序文件更名前界面图1-14(b)源程序文件更名后界面

图1-15更名保存后的源程序文件界面

(2)加载源程序到工程中

加载源程序到项目工程是非常重要的一个步骤。

未加载源程序之前,该项目工程管理工作台如图1-16(a)所示,加载源程序文件之后如图1-16(b)所示。

可见,加载源程序之后,源程序文件led1.c被添加进入了工程管理的工作台中。

图1-16(a)加载源程序之前图1-16(b)加载源程序之后

加载源程序的具体过程如下:

在工程管理工作台中,单击对象“Target1”前面的加号“+”将其展开,右击文件夹“SourceGroup1”图标,在弹出如图1-17所示快捷菜单中,选择“AddFilestoGroup‘SourceGroup1’”菜单项。

随后,屏幕弹出选择源程序文件对话窗口,如图1-18所示。

双击图1-18中文件“led1.c”之后再单击【Close】按钮,或者单击图1-18中文件“led1.c”之后再单击【Add】按钮,都可将源程序文件“led1.c”加载到工程项目中,结果如图1-16(b)所示。

此过程之所以重要,原因是,如果没有添加源程序文件,则该工程项目如同一个躯壳或者空的框架,因为没有包含源程序文件,该工程自然不具有任何功能,即使编译链接等环节顺利通过,预期的功能也一定不会实现。

另一方面,如果给工程项目添加了错误的或者多余的源程序文件,在工程的编译调试环节可能就会报错,即使编译通过,也不能保证其功能是正确的。

如果出现这样的情况,也不必惊慌,只需将这些错误的、或者多余的文件从工程项目中移除即可。

具体做法是:

在工程管理工作台中,在准备移除的文件上右击,在弹出的快捷菜单中选择“RemoveFilexxx.c”(xxx代表被移除文件的名字)即可。

(3)编译选项设置

工程编译的目的,是将源程序文件经编译、链接,最终生成可以用于下载烧片的.hex文件,其中,.hex是十六进制文件的扩展名。

在进行工程的编译、链接之前,首先要对编译环境进行必要的设置,设置完成后才可以进行编译。

单击打开【Project】下拉菜单,在展开的下拉菜单项目中,单击选择【OptionsforTarget‘Target1’】,或者直接单击工具栏中OptionsforTarget快捷方式图标

,都可以打开编译选项设置窗口,如图1-19所示。

可以看到,尽管此窗口包含多个用于编译选项设置的标签页,但在一般使用中,只有两个标签页中的部分选项需要设置,其余标签页则保持原始默认值即可。

这两个标签页就是Output和Debug标签页,如图1-19中所示。

单击【Output】标签页,即可打开Output(输出)选项设置窗口。

如图1-20(a)所示。

在此窗口中,只须选中“创建.hex文件选项”:

在如图1-20(a)中标注指示的复选框中,单击打钩,表明工程编译之后,输出或者说生成用于下载烧片的.hex文件。

相反,如果此选项没有打钩选中,即使工程完全正确,且编译通过,但不会生成用于下载烧片的.hex文件。

因此,如果需要进行程序的下载烧片或仿真调试,则此选项必须要打钩选中。

此选项打钩选中后如图1-20(b)所示。

图1-17添加源程序到工程的快捷菜单

图1-18选择源程序文件对话窗口

图1-19编译选项设置窗口

图1-20(a)Output选项设置窗口(创建.hex文件选项未选中)图1-20(b)创建.hex文件选项选中

接下来就该设置Debug标签页了。

单击如图1-19中所示【Debug】标签页,即可打开Debug(调试)选项设置窗口,如图1-21所示。

此标签页默认的调试工具是Simulator。

如果使用默认的调试工具,具体调试时,只能从KeilμVision3软件的部分调试窗口中观察数据的变化情况,实际的硬件电路是不工作的,自然看不到硬件电路中元器件的实际动作和运作现象,所以一般不选默认调试工具。

另外,在调试时,为了让程序能直接跳转到主函数main后再开始继续运行,一般都将图1-21中所示“Gotillmain()前面的复选项打钩选中。

如果不使用默认的调试工具,则可以选定自己熟悉的、手头上可用的调试工具。

选择如图1-22所示Debug标签页右半边的“Use”单选项(默认调试工具“Simulator”与此处的“Use”二者只能选择其一),并从其右侧的下拉列表栏中选中自己使用的调试工具。

例如,作者一般使用伟福V系列仿真器、ProteusVSMSimulator、KeilMonitor-51等调试工具。

同样,在调试时,为了让程序直接运行到主函数main后再开始继续运行,图1-22中所示“Gotillmain()前面的复选项一般也打钩选中。

当以上两项设置结束之后,单击【确定】按钮,保存此选项设置。

需要说明的是,对于一个工程,此编译调试选项设置只需做一次;新建了新的工程后,此编译调试选项需重新设置一次,并且每次设置几乎完全相同。

图1-21默认调试工具选项设置

图1-22自定义调试工具选项设置

(4)编辑源程序

接下来就该编写源程序文件了,源程序文件在源程序编辑窗口中编辑输入。

假定源程序文件如下:

#include

sbitLED0=P2^0;

main()

{

LED0=0;

}

在编辑输入或修改源程序期间,编辑窗口标题栏显示为“F:

\LED\led1.c*”,其中,文件名后面紧跟一个星号“*”,星号表明此源文件正处于编辑未保存状态。

无论在任何时候,都可通过单击工具栏中的保存快捷图标

(打开【File】菜单后选择保存也一样)保存源程序文件,此时,标题栏中文件名后的星号就会消失,表明文件已保存。

在编辑输入上述源程序并保存之后,源程序的编辑即已完成。

注意,在编辑或者修改完源程序之后,一定要保存源程序,这样做的意义是,能保证编译及生成的.hex文件是编辑或修改后的源程序生成的,而非编辑或修改前源程序编译生成的。

另外,此处不用急于弄清楚这个源程序的具体功能,读者只需按照原样编辑输入即可,因为现在的重点是掌握使用KeilμVision3软件来生成单片机下载(烧片)所需文件的具体流程,重点不在源程序是什么具体功能。

相反,在后续章节中,结合多个具体的实例,分析源程序的功能,甚至每一条语句的功能,自然成为了重点。

3、编译调试

接下来该对工程进行编译和调试了,编译和调试的目标就是生成可用于下载烧片的.hex文件。

对于软件程序开发而言,编译调试与源程序的编辑修改是一个循环往复的过程,一般是经历编辑——编译——再编译——再修改……这样一个循环往复的过程,直至编译成功、预期的功能完全实现为止。

在KeilμVision3的工具栏中,有三个编译快捷方式图标和一个调试快捷方式图标,如图1-23中标注所示。

图1-23编译和调试快捷图标

从字面理解,编译当前,就是对当前正在操作的文件进行编译;全部编译就是将该工程中所有文件全部重新编译,而编译则是仅将本次修改过的文件进行编译,没有修改或变动的文件不编译。

实际使用中,为了防止疏漏,一般选择全部编译者居多。

对于调试,单击图1-23所示调试快捷方式图标,可使工程进入调试状态。

此时,KeilμVision3的工具栏出现如图1-24所示调试工具栏。

运用这些调试工具,可以监控和调试程序的每一条语句及其执行结果的每一个细节。

图1-24调试工具栏

介绍了编译和调试工具之后,下面仅就如何编译做具体说明,有关调试的相关细节,请读者参阅附录B和第2章部分内容,亦可参阅其它书籍或资料,也可自己通过实践去掌握。

现在,源程序已经编辑完成,并且已被加载到工程中,相关的编译调试选项也已设置完毕,下面就开始工程的编译了。

单击图1-23中所示全部编译快捷图标,工程开始编译。

编译结束后,编译信息就出现在信息输出窗口中,如图1-25所示。

此处的编译信息表明,该工程编译是成功的,生成了.hex文件:

LED1.hex,编译时没有出现错误,也没有出现警告(“0Error(s),0Warning(s).”)。

此时,若查验存放该工程的文件夹,就会发现,与该工程同名、扩展名为.hex的文件在该文件夹中存在,该文件就是本工程编译生成的、用于下载烧片的文件led1.hex。

图1-25信息输出窗口中的编译信息

如果源程序文件有错误,在工程编译时,就会在信息输出窗口中显示错误的位置所在和错误、警告的个数。

在信息输出窗口中,通过在提示出现错误的信息行文字上双击,鼠标的光标就会定位在源程序中出现错误的位置附近,依据错误提示信息,找出错误所在并修改,修改完成后要注意保存源程序。

保存修改后的源程序之后,再进行编译,直到工程没有错误(警告可以忽略),并且生成正确的.hex文件为止。

有关编译时常见的错误信息及其含义请参阅附录B。

至此,软件开发过程结束。

通过软件开发,最终生成了下载烧片所需要的.hex文件。

后续的工作就是通过编程器或者下载器,将该.hex文件下载或者烧片到单片机的程序存储器中,然后给硬件电路上电,让单片机与其外部的硬件设备一起工作,完成预定的各项任务功能。

下载和烧片的相关内容可参阅附录C。

1.3MCS-51单片机主要引脚介绍

51系列单片机中,双列直插、40只引脚单片机的实物图和引脚原理图如图1-26(a)和1-26(b)所示。

图1-26(a)DIP40引脚51单片机实物图图1-26(b)DIP40引脚51单片机引脚原理图

观察51单片机芯片实物,可以发现其正面顶端中央有一个直径约2.5毫米的半圆形凹坑,凹坑左侧、引脚旁边有一引脚起始标记。

对于起始标记,一般用一个小三角形作为标记,也有用一个小圆点和指向小圆点的三角形箭头共同作为标记的。

无论用什么做起始标记都不大重要,重要的是这个标记左侧的第一个引脚就是该芯片的第一只引脚,即引脚1。

然后沿逆时针方向,引脚号依次为2,3,4,……,40,共计40只引脚。

在芯片上印有起始引脚标记,不是单片机芯片特有的,几乎所有的芯片都有此标记,依据此标记,可以找到起始引脚1,沿逆时针方向,其它引脚自然能够找到。

芯片引脚在硬件电路的设计和焊接过程中非常重要。

如果一个单片机系统的硬件部分出现引脚的连接错误或其它类似问题,这个系统自然不会正常工作,也不可能得到预期的功能和结果。

在能清楚地找到和区别51单片机的40只引脚后,下面就这40只引脚做较为细致的说明。

51单片机的40只引脚,可以分成三类:

①、电源和时钟引脚:

Vcc,GND,XTAL2,XTAL1;

②、I/O口引脚:

P0口,P1口,P2口,P3口,每一个口有8只引脚;

③、编程和控制引脚:

RST,ALE,PSEN,EA;

◆Vcc(40脚):

是电源端,一般接5V±10%电源。

◆GND(20脚):

接地端。

◆XTAL2(18脚)和XTAL1(19脚):

外接时钟引脚。

当单片机使用内部振荡电路时,此二脚之间连接石英晶体(晶振)和振荡电容。

常用晶振的频率有6MHz,12MHz,11.0592MHz,24MHz,一般选12MHz者居多。

如果是串行通信,则选11.0592MHz为最佳。

振荡电容一般选无极性电容,容量在30pF左右均可。

◆P0口(39脚~32脚):

P0口是

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

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1