基于单片机的节水灌溉系统的设计与实现设计.docx

上传人:b****9 文档编号:25491239 上传时间:2023-06-09 格式:DOCX 页数:37 大小:668.61KB
下载 相关 举报
基于单片机的节水灌溉系统的设计与实现设计.docx_第1页
第1页 / 共37页
基于单片机的节水灌溉系统的设计与实现设计.docx_第2页
第2页 / 共37页
基于单片机的节水灌溉系统的设计与实现设计.docx_第3页
第3页 / 共37页
基于单片机的节水灌溉系统的设计与实现设计.docx_第4页
第4页 / 共37页
基于单片机的节水灌溉系统的设计与实现设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于单片机的节水灌溉系统的设计与实现设计.docx

《基于单片机的节水灌溉系统的设计与实现设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的节水灌溉系统的设计与实现设计.docx(37页珍藏版)》请在冰豆网上搜索。

基于单片机的节水灌溉系统的设计与实现设计.docx

基于单片机的节水灌溉系统的设计与实现设计

 

毕业设计

题目:

基于单片机的智能节水灌溉的设计与实现

 

院系:

信息与控制学院

专业:

自动化

班级学号:

学生姓名:

指导教师:

成绩:

 

年月日

 

1方案设计

1.1设计任务要求

1、能够检测土壤湿度,当达到设定值时,起动灌溉系统,能够通过键盘设定不同的灌溉速度,显示灌溉状态。

2、湿度传感器对土壤多点采集信号转换后传给单片机,单片机对输入信号做出处理(灌溉与否)。

显示模块将采集数据和灌溉信息显示在显示屏上。

通过键盘可以设置灌溉阈值和灌溉速度。

1.2硬件方案设计

该课题以AT89S52单片机做为主要硬件模版,通过对软件的编程来实现对土壤温度、湿度值进行多点检测,当所测的实际湿度低于警戒值时,将会自动触发灌溉控制器系统,进行自动的灌溉,该系统还可以完成手动控制灌溉,随时进行灌溉,从而也体现了人性化、多用途的现代自动化、智能化系统设计要求。

根据该设计的功能要求,确定方案:

AT89S52单片机做为控制电路核心,采用模块化设计的方案。

模块化设计简单地说,就是把产品的一些要素组合在一起来构成一个有特定功能的子系统,把该系统作为通用性的模块和其他的产品要素多种组合,构成新的系统,所产生多种相同功能或不相同功能、但不同性能的一系列产品。

模块化是一种新的设计思想,是在传统的设计基础上新发展起来的,现在已经成为一种新的技术已被广泛应用在生活中,尤其现在正处于信息时代,电子产品不断推出新产品,应用模块化设计的产品也正在不断涌现。

当代模块化设计已经被广泛应用于航空、航天、机床、电子产品等设计领域。

模块化已经开始从理念转化成为比较成熟的设计方法也是绿色设计方法之一[1]。

该设计总共分为:

步进电机驱动模块、湿度采集模块、液晶显示模块、A/D转换模块、报警电路。

本设计中步进电机采用28BYJ48型四相八拍电机,步进电机控制电路是以驱动芯片ULN2003做为核心。

湿度采集模块中核心器件是YL-69土壤湿度传感器,A/D转换模块中主要器件是ADC0832A/D转换器,液晶显示器以LCD1602为显示电路核心,时钟模块是以DS1302做为核心器件,再配合上键盘电路,实现对土壤湿度检测。

在本系统中,湿度灌溉系统可以分为两种控制方式:

方案一闭环控制方式,方案二时间控制方式,所以用户可以在两种方式任选其一。

采用方案一:

用湿度采集模块把检测多处不同地点的湿度通过校准的数字信号数据处理,传送给单片机。

单片机则将接收来的数据与单片机内存储的数据进行比对,如果收到的数据低于设定值,步进电机的控制电路模块将启动步进电机实行灌溉。

如果收到的数据高于设定值,则步进电机不启动或者停止工作,与此同时单片机把采集到的数据与系统的灌溉情况在显示屏上显示出来。

当灌溉进行到一定的时间时,自动停止工作,这个时间是由用户加载到单片机内部的数据来决定。

在时间控制方式下时,用户通过灌溉周期和键盘输入的灌溉时间,对应的数据会显示在屏上。

该灌溉方式主要应用在特殊情况之下,所以本设计采用方案一[2]。

综上所述,该系统具有非常好的人机互交界面,更方便进行实时控制功能,且能及时的响应用户请求。

该系统支持的灌溉系统方式非常灵活,用户可以根据实际情况选择模式。

系统结构简单,各类功能很容易实现,极大提高了系统的实用性和可靠性。

系统的模块原理图如图1.1所示。

图1.1自动灌溉控制器系统基本模块原理框图

1.3编程语言与调试环境选择

1.3.1编程语言的介

C语言是一种被广泛应用,并能够灵活的实现计算机编程语言。

用C语言编出来的程序,可以应用在很多平台上,可移植性较强。

计算机的操作系统和一些大型软件都可用C语言来完成。

还有很多的聊天工具也可用C语言来编程。

C语言有个突出的优点适合于多种操作系统如UNIX、DOS,也适用于多种机型。

C语言既有汇编语言的特点,又具有高级语言的特点;是一个很成功的系统设计语言,有时候一个使用的程序设计语言,既能用来编写各种系统程序,又能用来编写不依赖计算机硬件的应用程序;所以C语言是一种应用广泛且很受欢迎的程序设计语言。

C语言不仅有高级语言的特点,还有汇编语言的特点,它是由美国贝尔实验室的DennisM.Ritchie在1972年推出的,1978年以后,C语言慢慢被移植到大、中、小以及微型机上,他可以作为工作系统的设计语言,编写系统HYPERLINK的应用程序。

它具备很强的数据处理能力,不仅是在软件开发上,且各类科研也需要用到C语言,适用于编写系统软件,二维锥形,三维和动画等。

1972年是由美国的DennisRitchie设计发明,且首次在UNIX操作系统的DECPDP-11计算机上使用,他是由早期的编程编程语言HYPERLINK发展而来的在1970年,贝尔实验室的KenThposon根据BCPL语言设计出比较先进的并且取名为B的语言,最后有了C语言的问世。

然而B语言之前还有A语言,取名来自世界上第一位女程序员Ada(艾达)。

在微型计算机的日益普及,C语言出现了许多版本。

由于没有统一的标准,使的C语言之间出现了很多不一致的地方。

为了改变这一情况,美国的国家标准研究所(ANSI)为C语言制定一套ANSI标准,是现行的C语言标准,所以C语言是世界上使用最广泛、最流行的高级程序设计语言之一[3]。

1.3.2调试环境的选择

软件部分应用C语言作为开发语言,开发工具使用的是keil作为开发工具。

KeilC51是美国的KeilSoftware公司专门为单片机开发生产的51系列兼容C语言的软件开发系统,和汇编语言相比,C在结构性、功能上、可维护性、可读性上具有很明显的优势,所以很容易学习使用。

Keil提供了宏汇编器、C编译器、连接、库管理器与一个功能强大的仿真器和调试器等在内的完整开发方案,且依靠一个集成开发环境(uVision)把这几个部分组合在一起。

要运行Keil软件只需要WIN2000、WINXP、WIN98、NT等操作系统。

若你用C语言进行编程,那么Keil就是你的最佳选择,即便你不使用C语言而使用的是汇编语言编程,其强大的仿真软件、集成环境、调试工具让你更加方便

[4]。

 

 

2智能节水灌溉系统的硬件设计

2.1AT89S52单片机的硬件结构

单片机的全称是微型计算机(SingleChipMicrocomputer)。

在应用方面来看,单片机主要应用于控制,所以又叫微控制器(MicroControllerUnit)、嵌入式控制器(EmbeddedController)。

单片机是集成计算机的基本部件在一块芯片上的最小系统计算机,其工作原理和基本组成与通用微型计算机是一样的。

主要由I/O接口、微处理器(CPU)、存储器三大功能部分通过总线连接而成的,外部通过I/O接口,配置各种外部设备构成了微机的硬件系统。

单片机成本低,运用灵活,易于产品化,体积小;面向控制,能很好的解决由简单到复杂的各类控制任务;适用范围较广,抗干扰能力强[5]。

AT89S52是一种高性能、低功耗CMOS8位微控制器,在系统中可编程Flash存储器。

片上Flash可将程序存储器在系统里可编程,也适用于常规编程器。

在单芯片上,具有灵巧的8位CPU和系统编程Flash,以便AT89S52为众多嵌入式控制系统提供超有效、高灵活的解决方案。

2.1.1单片机的结构及引脚

1、AT89S52型号的单片机的主要特性:

和MCS-51单片机产品兼容;

8K字节在系统可以编程Flash存储器;

全静态操作:

0Hz~33Hz;

1000次擦写周期;

三个16位定时器/计数器;

三级加密程序存储器;

32个可编程I/O口线;

全双工UART串行通道;

掉电标识符;

双数据指针;

看门狗定时器;

掉电后中断可唤醒;

低功耗空闲和掉电模式;

八个中断源。

AT89S52具有如下标准功能:

256字节RAM,看门狗定时器,一个6向量2级中断结构,三个16位定时器/计数器,2个数据指针,32位I/O口线,,片内晶振及时钟电路全双工串行口,8k字节Flash。

另外,AT89S52可降到0Hz静态的逻辑操作,支持2种软件可以选择节电模式。

处于空闲模式下时,CPU停止工作,但允许RAM、计数器/定时器、中断、串口继续工作。

当处于掉电保护方式时,振荡器被冻结,RAM内容被保存,单片机停止一切工作,直到下一个硬件或中断复位为止。

2、芯片引脚封装:

AT89S52引脚封装图如图2-1所示。

图2-1AT89S52引脚封装图

3、芯片引脚说明:

VCC:

电源端口。

GND:

接地端口。

P0端口(P0.0-P0.7):

P0口是个8位漏极开路双向I/O口。

作为输出口,每位能够驱动8个TTL逻辑电平。

当P0端口为“1”时,引脚处于高阻抗输入。

当访问数据存储器时与外部程序,P0口也被当做低8位数据/地址复用。

在这种模式时,P0具有内部上拉电阻。

在flash编程时P0口也用于接收指令字节;在程序校验时输出指令字节。

程序校验时,需要外部的上拉电阻。

P1端口(P1.0-P1.7):

P1口是个具有内部上拉电阻8位双向I/O口,p1输出缓冲器能够驱动4个TTL逻辑电平。

当P1端口为“1”时,内部上拉电阻将端口拉高,这时可以作为输入口使用。

当作为输入使用时,在被外部拉低的引脚由于内部电阻原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作计数器/定时器2的外部计数输入(P1.0/T2)和计数/定时器2的触发输入(P1.1/T2EX),具体如下表3-1所示。

在flash编程与校验时,P1口接收低8位地址字节。

表2-1P1口线的第二功能

引脚号

第二功能信号

第二功能信号名称

P1.0

T2

定时器/计数器T2的外部计数输入,时钟输出

P1.1

T2EX

定时器/计数器T2的捕捉/重载触发信号和方向控制

P1.5

MOSI

在系统编程用

P1.6

MISO

在系统编程用

P1.7

SCK

在系统编程用

P2端口(P2.0-P2.7):

P2口是个具有内部上拉电阻8位双向I/O口,P2输出缓冲器能够驱动4个TTL逻辑电平。

当P2端口为“1”时,内部的上拉电阻把端口拉高,这时可以作为输入口使用。

当作为输入使用时,在被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部的程序存储器或者用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口将送出高八位地址。

在这种应用中,P2口使用较强的内部上拉发送1。

当使用8位地址(如MOVX@RI)访问外部的数据存储器时,P2口输出P2锁存器的内容。

在flash编程与校验时,P2口也接收到高8位地址字节与一些控制信号。

P3端口(P3.0-P3.7):

P3口是个具有内部上拉电阻8位双向I/O口,p2输出缓冲器能够驱动4个TTL逻辑电平。

当P3端口为“1”时,内部上拉电阻将端口拉高,这时可以作为输入口使用。

在作为输入使用时,被外部的拉低的引脚由于内部电阻原因,将输出电流(IIL)。

P3口也作为AT89S52特殊功能(第二功能)使用,如下表3-2所示。

在flash编程与校验时,P3口也接收一些控制信号。

表2-2P3口线的第二功能

引脚号

第二功能信号

第二功能信号名称

P3.0

RXD

串行输入

P3.1

TXD

串行输出

P3.2

INT0

外部中断0

P3.3

INT0

外部中断0

P3.4

T0

定时器0外部输入

P3.5

T1

定时器1外部输入

P3.6

WR

外部数据存储器写选通

P3.7

RD

外部数据存储器写选通

RST:

复位输入。

当晶振工作时,该脚持续2个机器周期的高电平将使单片机复位。

看门狗计时完成以后,RST脚输出96个晶振周期高电平,特殊寄存器AUXR(地址8EH)上的DISRTO位可使此功能无效。

DISRTO默认状态后,复位高电平有效。

ALE/PROG:

地址锁存控制信号(ALE)是访问外部的程序存储器时,锁存低8位地址输出脉冲。

在flash编程时,此引脚(PROG)也用于编程输入脉冲。

当在一般情况下时,ALE以晶振六分之一固定频率输出脉冲,可用来作为时钟或外部定时器使用。

然而,特别声明,在每次访问外部数据存储器时,ALE脉冲会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,ALE仅在执行MOVC或MOVX指令时有效。

否则,ALE会被微弱拉高。

这个ALE使能标志位(地址为8EH的SFR的第0位)设置对微控制器处于外部执行模式下无效。

PSEN:

外部程序存储器的选通信号(PSEN)是外部程序存储器选通信号,AT89S52从外部程序存储器执行外部的代码时,PSEN在每个机器周期被激活两次,在访问外部数据存储器时,PSEN将不能被激活。

EA/VPP:

访问外部程序存储器控制信号。

为了使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。

为了执行内部程序指令,EA应接VCC。

在flash编程期间,EA也接收到12伏VPP电压。

XTAL1:

振荡器反相放大器与内部时钟发生电路的输入端。

XTAL2:

振荡器反相放大器输出端。

2.2显示电路的设计

2.2.1显示电路选择

方案一:

数码管显示

LED数码管有动态和静态两种显示,使用数码管的动态显示成本较低,硬件部分结构简单明了,容易理解且使用方便。

但是数据显示是需要进行动态扫描显示,这样会占用大量的单片机运行周期,显示位数比较多的时候,CPU需要逐一进行扫描,占用CPU很多的时间。

数码管静态显示不需要占用单片机的系统内部资源,数码管只需要很小的电流可以获得很高的亮度,编程简单,占用CPU时间少,占用单片机的外部I/O口较少。

但是占用系统的口线较多,硬件电路较复杂,且成本很高。

所以适用于显示数码管个数少的设计。

方案二:

液晶显示器显示

液晶显示器简称LCD,由于具有体积小、超薄型、功耗低、显示高品质等特点。

很广泛的应分为应用于便携式电子产品中。

我们现在使用的LCD是由LCD面板和驱动与控制电路组合而成,也称为液晶显示模块。

LCD的种类很多,通常用的有字符型与点阵型。

字符型的LCD只显示数字、字母与常用符号,而点阵型LCD不仅显示字符,还可以显示汉字及各种图形信息等。

对于我们的设计需要显示字符所以只需要使用字符型的LCD1602便可以,其主要特性:

具有字符发生器ROM还可以显示两行总32个字符或者数字,同时能够用字符标识显示的信息,具有80B的数据显示存储器,芯片的工作电压5V。

字符型的LCD1602使用简单,方便,稳定性好,并带有液晶背光,更适用于夜间使用,且背光可控,可以通过光敏器件调节其亮灭,在与单片机通信是采用并口的方式,传输数据速度快,稳定性高[6]。

其显示具有显示方便,能够显示足够的信息,在显示湿度信息的同时能够显示设置值的湿度的上下限。

 

2.2.2液晶显示接口电路设计

本设计使用1602液晶显示屏与单片机相连,显示电路如图2.2所示,

图2.2.单片机与液晶电路图

2.3A/D转换芯片ADC0832

ADC0832是由美国国家半导体公司出产的一种双通道、8位分辨率A/D转换芯片。

它具有,兼容性强,体积小,性价比高而很受单片机爱好者与一些企业的欢迎,当前已经有了很高的普及率。

使用并学习ADC0832可以使我们更多了解A/D转换器的工作原理,且有助于我们学习单片机技术水平进一步提高。

2.3.1ADC0832具有以下特点

5V电供电时输入电压在0~5V之间;

双通道A/D转换;

输入输出电平与TTL/CMOS相兼容;

8位分辨率;

工作频率为250KHZ,转换时间为32μS;

商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为−40°Cto+85°C;

8P、14P—DIP(双列直插)、PICC多种封装;

一般功耗仅为15mW;

图2.3ADC0832引脚

芯片接口说明:

·Vcc/REF电源输入与参考电压的输入(复用)。

·CLK芯片时钟输入。

·DO数据信号的输出,转换数据输出。

·DI数据信号的输入且选择通道控制。

·GND芯片参考0电位地。

·CH1模拟输入通道1,或者作为IN+/-使用。

·CH0模拟输入通道0,或者作为IN+/-使用。

·CS_片选使能端,低电平芯片使能。

2.3.2ADC0832与单片机的接口电路

ADC0832是8位分辨率的A/D转换芯片,它的最高分辨可以达到256级,可应于一般模拟量的转换要求。

它的内部电源输入和参考电压的复用,使的芯片的模拟电压输入值在0~5V范围之内。

芯片转换时间只有32μS,具有双数据输出可以作为数据校验,以便减少数据误差,稳定性能强且转换速度快。

独立芯片的使能输入,使处理器控制与多器件挂接变的很方便。

通过DI数据的输入端,可很容易的实现通道功能选择。

单片机对ADC0832控制原理:

正常情况时ADC0832和单片机接口应该为4条数据线,分别是CLK、CS、DI、DO。

但是由于DO端和DI端在通信的时候并不能同时有效,且与单片机接口为双向,所以在设计电路时可以把DI与DO并联在一根数据线上使用。

当ADC0832没有工作时CS输入端应该为高电平,这时芯片禁用,DO/DI和CLK的电平可以任意。

当需要进行A/D转换时,必须先把CS使能端置于低电平且保持低电平一直到转换完全结束。

这是芯片便开始转换工作,同时处理器可以向芯片时钟输入端CLK输入时钟脉冲,DO/DI端使用DI端输入通道功能选择的是数据信号。

图2.4A/D转换接口电路

 

2.4按键电路方案的设计

2.4.1按键电路的选择

方案一:

运用独立按键,将单片机I/O端口和按键一端相接,若I/O端口的电压发生变化时,软件将会检测电平的变化,同时做出相应的变化,另一端接地。

方案二:

运用行列式矩阵按键,通过反转的方法分别扫描列线和行线,来判断哪一个按键被按下,并执行相应操作。

总结:

通过两种方按比较,它们的区别在于按键的数量,矩阵按键更适合应用在需求按键较多的电路中。

独立按键每一个按键都需要一个I/O口,则适用于使用按键数量较少的设计中。

2.4.2按键电路的设计

根据我的设计需求,只需要4个按键即可,所以采用独立按即键方案一。

按键电路如下图3.4所示,一端接单片机I/O口,另外一端接地,通过检测与之相连的I/O口,产生相应的动作,其中包括复位键,调速键,设置键和菜单键。

电路图如图2.8所示。

图2.5按键电路电路图

2.5单片机晶振电路原理及作用

在单片机的系统里都含有晶振,晶振作用很大,全程3全名叫晶体振荡器。

晶振与单片机内部电路结合产生单片机需要的时钟频率,当晶振所提供的时钟频率越高,单片机运行的速度就越快,单片极接的所有指令执行都是在单片机晶振提供的时钟频率下进行的。

通常工作条件下普通的晶振频率绝对精度可以达到百万分之五十,高级的精度更高。

还有一些晶振可由外加电压在给定范围内调节频率,称作压控振荡器(VCO)。

晶振用一种能够将电能与机械能互相转化的晶体共振的时候工作,可以提供精确,稳定的单频振荡。

晶振的作用是给系统提供时钟信号的。

常常一个系统共使用一个晶振,这样方便各部分保持同步。

但是有的通讯系统的射频和基频使用不同的晶振,则需要通过电子调频的方法保持同步。

晶振也通常和锁相环电路配合使用,用来提供系统所需要的时钟频率。

若不同的子系统需不同的频率的时钟信号时,可用与同一个晶振连接的不同锁相环提供。

 

图2.6时钟电路电路图

2.6复位电路的设计

MCS—51系列单片机有内部复位电路和外部复位电路而MCS—51复位是由外部复位电路实现的。

单片机一般都在开机时要做复位,这样可以方便中央处理器CPU和存储器等其他功能部件处在一个确定稳定的初始状态,并从这个状态开始工作。

外部复位电路通常有两种即上复位电路和开关复位电路两种方式。

该电路兼有上复位和开关复位电路。

复位电路图如图RESET。

工作原理为:

开关闭合,上电瞬间,RC电路充电,RESET引脚上出现正脉冲,只要正脉冲保持100ms以上的高电平,就能靠单片机实现有效复位。

该设计时钟频率为12MHz,C取10μF,R取10KΩ。

复位电路如图3-3所示。

图2.7复位电路原理图

2.7报警电路的设计

该设计采用了声光报警电路接口电路如图3-13所示。

MCS-51的口线P26接报警电路的输入端,当P26口输出低电平时,发光二极管两端电压差接近5V,发光报警.压电蜂鸣器两条引线加上近5V的直流电压,由压电效应而发出蜂鸣音报警。

 

图2.8声光报警电路接口电路

2.8土壤湿度传感器YL-69土壤湿度计检测模块

2.8.1YL-69土壤湿度计检测计特点

(1)YL-69是一个较简单的水分传感器可以用来检测土壤的水分,土壤缺水时,模块输出一高电平,否则输出低电平。

(2)灵敏度可以调

(3)工作电压为3.3V-5V

(4)模块双输出模式,模拟量输出更精确,数字量输出简单。

(5)设有固定的螺栓孔,方便安装

(6)小板PCB尺寸:

3cm*1.6cm

(7)数字开关量输出指示灯(绿色)电源指示灯(红色)

(8)比较器采用LM393芯片,工作稳定

小板接口说明(4线制)

1.GND 外接GND

2.VCC 外接3.3V-5V

3.AO  小板模拟量输出接口

4.DO  小板数字量输出接口(0和1)

2.8.2使用说明

1.土壤湿度模块对环境湿度最敏感常用来检测土壤的湿度。

2.小板模拟量输出AO可以与AD模块相连,并通过AD转换,可获得土壤湿度更精确的数值;

3.小板数字量输出DO也可以直接驱动继电器模块与蜂鸣器模块等,所以可以组成一个土壤湿度报警系统;

4.小板数字量输出D0和单片机直接相连,利用单片机检测高低电平,由此检测土壤湿度;

5.在土壤湿度大于设定阈值时,模块D0输出为低电平模块当土壤湿度不超过设定阈值时,DO口输出为高电平;

YL-69土壤湿度传感器是个简单的传感器,土壤缺水时输出高电平,否则输出低电平。

利用起来简便、快速,传感器原理图如图2.8.2所示,传感器的两个极片把土壤看作一个电阻来用,当湿度越大电阻就越小,电阻变化后流过基极的电流增大,三极管发射极端输出的电压增高,运用这个原理来测量土壤的湿度。

图2.9土壤传感器检测原理图

湿度采集模块组成和单片机的连接示意图如图2.8.1所示。

该设计检测模拟信号需要外部接上AD转换器,把传感器检测到的模拟信号通过AD转换器在送到单片机即可,该设置中试用两个土壤传感器。

图2.10湿度采集模块组成和单片机的连接图

2.9步进电机驱动模块

2.9.1步进电机简介和原理

步进电机是把给定的电脉冲信号变为线位移或角位移的开环控制元件。

在给定一个电脉冲信号,步进电机的转子就转过相应一个角度,这个角度就称为该步进电机的步距角。

当前常用的步进电机步距角大多为0.9度(俗称半步)或1.8度(俗称一步)。

用步距角为0.9度的步进电机为例,当给步进电机一个电脉冲信号时,步进电机转

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

当前位置:首页 > 小学教育 > 英语

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

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