基于51单片机学习板的简易电子琴.docx

上传人:b****5 文档编号:14803390 上传时间:2023-06-27 格式:DOCX 页数:59 大小:729.94KB
下载 相关 举报
基于51单片机学习板的简易电子琴.docx_第1页
第1页 / 共59页
基于51单片机学习板的简易电子琴.docx_第2页
第2页 / 共59页
基于51单片机学习板的简易电子琴.docx_第3页
第3页 / 共59页
基于51单片机学习板的简易电子琴.docx_第4页
第4页 / 共59页
基于51单片机学习板的简易电子琴.docx_第5页
第5页 / 共59页
基于51单片机学习板的简易电子琴.docx_第6页
第6页 / 共59页
基于51单片机学习板的简易电子琴.docx_第7页
第7页 / 共59页
基于51单片机学习板的简易电子琴.docx_第8页
第8页 / 共59页
基于51单片机学习板的简易电子琴.docx_第9页
第9页 / 共59页
基于51单片机学习板的简易电子琴.docx_第10页
第10页 / 共59页
基于51单片机学习板的简易电子琴.docx_第11页
第11页 / 共59页
基于51单片机学习板的简易电子琴.docx_第12页
第12页 / 共59页
基于51单片机学习板的简易电子琴.docx_第13页
第13页 / 共59页
基于51单片机学习板的简易电子琴.docx_第14页
第14页 / 共59页
基于51单片机学习板的简易电子琴.docx_第15页
第15页 / 共59页
基于51单片机学习板的简易电子琴.docx_第16页
第16页 / 共59页
基于51单片机学习板的简易电子琴.docx_第17页
第17页 / 共59页
基于51单片机学习板的简易电子琴.docx_第18页
第18页 / 共59页
基于51单片机学习板的简易电子琴.docx_第19页
第19页 / 共59页
基于51单片机学习板的简易电子琴.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机学习板的简易电子琴.docx

《基于51单片机学习板的简易电子琴.docx》由会员分享,可在线阅读,更多相关《基于51单片机学习板的简易电子琴.docx(59页珍藏版)》请在冰点文库上搜索。

基于51单片机学习板的简易电子琴.docx

基于51单片机学习板的简易电子琴

技能考核培训

 

题目:

基于单片机的技能考核

专题:

简易的电子琴制作,数据收发

 

通信系统综合设计训练任务书

设计题目:

设计专题题目:

设计主要内容和要求:

1.主要内容:

(1)系统硬件设计及说明

(2)系统硬件设计及说明

(3)单片机学习板主要功能介绍

(4)系统软件设计

2.功能扩展要求

(1)2.4GHz射频收发芯片nRF2401及其应用

(2)简易的电子琴制作的步骤和功能

 

指导教师签字:

摘要:

随着电子技术的发展,电子技术与音乐的结合不断加深。

由此而产生的电子琴在这种形势下,因其体积小,易于携带,经济适用,是一般家庭都能承受得了的经济投入。

而且电子琴键盘操作直观易于掌握。

这样对初学者,尤其对识谱的人来说是很容易弹奏的,一首简单的曲子灵感好的人甚至不用很多的练习和教师的指导就能很快的弹奏出来。

这样就强烈地激发了学习者的学习兴趣,迅速地提高了电子琴的普及率。

 

关键词:

51单片机,电子琴,数据收发

 

目录

第一章前言6

1.1系统开发背景6

1.2系统开发意义6

第二章设计任务及要求7

第三章系统硬件设计及说明8

3.1系统组成及总体框图8

第四章单片机学习板主要功能介绍9

4.1AT89S52简介9

4.1.1功能特性:

10

4.1.2主要性能11

4.1.3管脚说明11

4.2LED数码管12

4.3显示电路13

4.4键盘扫描模块电路图13

4.5数码管显示模块电路原理图14

4.6电源模块电路原理图15

第5章系统软件设计16

5.1音乐相关知识16

5.2如何用单片机实现音乐的节拍16

5.3如何用单片机产生音频脉冲16

5.4系统总体功能流程图18

第六章2.4GHz射频收发芯片nRF2401模块介绍21

6.1芯片结构21

6.2引脚说明21

6.3工作模式23

6.3.1收发模式23

6.3.2直接收发模式24

6.3.3配置模式25

6.3.4空闲模式25

6.3.5关机模式25

6.4.器件配置25

6.5.应用电路26

6.6无线音频系统27

第七章51单片机与NRF24L01模块融合28

第八章收获与总结29

第九章参考文献30

附录一31

附录二43

 

第一章前言

1.1系统开发背景

随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。

基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。

单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。

并且可以进行一定的功能扩展。

鉴于传统电子琴可以用键盘上的“k1”到“k7”键演奏从低So到高DO等7个音,从而可以用来弹奏喜欢的乐曲。

1.2系统开发意义

该设计具有以下优点:

(1)可以随意弹奏想要表达的音乐;

(2)制作简单,成本低。

 

第二章设计任务及要求

1.设计51单片机最小系统,实现简易电子琴操作的电路;

2.设置至少7个按键,能发出doremifasollaSIDO;能播示范曲;

3.能够调节低音、高音和中音。

4.说明系统工作原理,对系统进行调试。

 

第3章系统硬件设计及说明

3.1系统组成及总体框图

硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。

该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。

该设计具有11个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。

图3-1系统结构图

 

第四章单片机学习板主要功能介绍

4.1AT89S52简介

AT89S52是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。

  AT89S52具有如下特点:

40个引脚(引脚图如图3-1所示),4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

 

4.1.1功能特性:

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

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

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

AT89S52具有以下标准功能:

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

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

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

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

4.1.2主要性能

MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz 、三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

4.1.3管脚说明

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

  P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C52的一些特殊功能口,如下表所示:

管脚备选功能:

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

/INT0(外部中断0)

P3.3

/INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

/WR(外部数据存储器写选通)

P3.7

/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

4.2LED数码管

本次毕业设计的显示电路采用LED数码管显示,LED(Light-EmittingDiode)是一种外加电压从而流过电流并发出可见光的器件。

LED是属于电流控制器件,使用时必须加限流电阻。

LED有单个LED和八段LED之分,也有共阴和共阳两种。

常用的七段显示器的结构如图下图所示。

发光二极管的阳极连在一起的称为共阳极显示器(如图b所示),阴极连在一起的称为共阴极显示器(如图c所示)。

1位显示器由八个发光二极管组成,其中七个发光二极管a~g控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。

此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。

才能显示出正确的数字来。

(a)外形(b)共阳极(C)共阴极

4.3显示电路

本次毕业设计的显示电路采用LED数码管显示,由于LED是属于电流控制器件,使用时必须加限流电阻。

通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。

 

4.4键盘扫描模块电路图

对键盘扫描电路的扫描方式有行扫描法和线反转法,在此次程序编写中,采用行扫描法,通过在p20~p23上循环送出0扫描信号,p24~p27输入按键上的高低电平信息给单片机,经处理程序,判断出是哪个开关按下,并送主程序以实现不同功能。

图3-8键盘扫描模块电路图

4.5数码管显示模块电路原理图

数码管显示模块核心是共阳级数码管,通过来自单片机I/O口的电平高低来点亮和熄灭数码管上的发光二极管,通过单片机送来的数码管显示编码可以在数码管上显示数字和字符,使应用人员可以很容易的理解按键按下所对应的音符。

图3-9数码管显示模块电路原理图

3.4.4蜂鸣器模块电路图

4.6电源模块电路原理图

由于本次设计的芯片的工作电压都为5V,为了排除因为电压不稳定或者不准确影响电路的工作和软件的调试,本次设计单独用LM7805设计了一个输出5V的电压的电路,如图3-11所示,其中J0为一变压器插排接口,输出电压在7.5V,为交流电压,经过整流桥进行整流,电容滤波,再经过LM7805稳压后,得到本次设计所需的5V直流电源。

图3-11电源模块电路原理图

 

第5章系统软件设计

本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

5.1音乐相关知识

乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低,声音就低,不同音调的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。

音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。

一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。

5.2如何用单片机实现音乐的节拍

除了音符以外,节拍也是音乐的关键组成部分。

节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。

如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

音乐的音拍,一个节拍为单位(C调)具体如下表:

表4-1音乐节拍表

曲调值

DELAY

曲调值

DELAY

调4/4

125ms

调4/4

62ms

调3/4

187ms

调3/4

94ms

调2/4

250ms

调2/4

125ms

5.3如何用单片机产生音频脉冲

了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。

在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:

表4-2音符频率与计数值T的对照表

音符

频率(HZ)

计数值(T值)

音符

频率(HZ)

计数值(T值)

低1DO

262

63628

#4FA#

740

64860

#1DO#

277

63737

中5SO

784

64898

低2RE

294

63835

#5SO#

831

94934

#2RE#

311

63928

中6LA

880

64968

低3MI

330

64021

#6LA#

932

64994

低4FA

349

64103

中7SI

968

65030

#4FA#

370

64185

低1DO

1046

65058

低SO

392

64260

#1DO#

1109

65085

#5SO#

415

64331

高2RE

1175

65110

低6LA

440

64400

#2RE#

1245

65134

#6LA#

466

64463

高3MI

1318

65157

低7SI

494

64524

高4FA

1397

65178

中1DO

523

64580

#4FA#

1490

65198

#1DO#

554

64633

高5SO

1568

65217

中2RE

587

64633

#5SO#

1661

65235

#2RE#

622

64884

高6LA

1760

65252

中3MI

659

64732

#6LA#

1865

65268

中4FA

698

64820

高7SI

1967

65283

T的值决定了TH0和TL0的值,其关系为:

TH0=T/256,TL0=T%256

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

   若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。

利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。

就可在P1.0引脚上得到此频率的脉冲。

   利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。

   计数脉冲值与频率的关系式(如式4-1所示)是:

                        N=fi÷2÷fr                        4-1

式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。

其计数初值T的求法如下:

                       T=65536-N=65536-fi÷2÷fr

   例如:

设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。

   T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr

   低音DO的T=65536-500000/262=63627

   中音DO的T=65536-500000/523=64580

   高音DO的T=65536-500000/1046=65059

5.4系统总体功能流程图

 

按键子程序流程图如下:

图5-2键盘子程序

第六章2.4GHz射频收发芯片nRF2401模块介绍

6.1芯片结构

nRF2401内置地址解码器、先入先出堆栈区、解调处理器、时钟处理器、GFSK滤波器、低噪声放大器、频率合成器,功率放大器等功能模块,需要很少的外围元件,因此使用起来非常方便。

QFN24引脚封装,外形尺寸只有5×5mm。

nRF2401的功能模块如图1所示。

6.2引脚说明

6.3工作模式

nRF2401有工作模式有四种:

收发模式、配置模式、空闲模式和关机模式。

nRF2401的工作模式由PWR_UP、CE、TX_EN和CS三个引脚决定,详见表2。

6.3.1 收发模式

nRF2401的收发模式有ShockBurstTM收发模式和直接收发模式两种,收发模式由器件配置字决定,具体配置将在器件配置部分详细介绍。

(1)ShockBurstTM收发模式

ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。

这种做法的好处:

尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。

在ShockBurstTM收发模式下,nRF2401自动处理字头和CRC校验码。

在接收数据时,自动把字头和CRC校验码移去。

在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。

(2)ShockBurstTM发射流程

接口引脚为CE,CLK1,DATA

A. 当微控制器有数据要发送时,其把CE置高,使nRF2401工作;

B. 把接收机的地址和要发送的数据按时序送入nRF2401;

C. 微控制器把CE置低,激发nRF2401进行ShockBurstTM发射;

D. nRF2401的ShockBurstTM发射

E. 给射频前端供电;

F.射频数据打包(加字头、CRC校验码);

G. 高速发射数据包;

H. 发射完成,nRF2401进入空闲状态。

(3)ShockBurstTM发射流程

接口引脚为CE,CLK1,DATA

A. 当微控制器有数据要发送时,其把CE置高,使nRF2401工作;

B. 把接收机的地址和要发送的数据按时序送入nRF2401;

C. 微控制器把CE置低,激发nRF2401进行ShockBurstTM发射;

D. nRF2401的ShockBurstTM发射

E. 给射频前端供电;

F.射频数据打包(加字头、CRC校验码);

G. 高速发射数据包;

H. 发射完成,nRF2401进入空闲状态。

6.3.2直接收发模式

(1)直接发送模式

  接口引脚为CE、DATA

A. 当微控制器有数据要发送时,把CE置高;

B. nRF2401射频前端被激活;

C. 所有的射频协议必须在微控制器程序中进行处理(包括字头、地址和CRC校验码)。

(2)直接接收模式

  接口引脚为CE、CLK1和DATA

A. 一旦nRF2401被配置为直接接收模式,DATA引脚将根据天线接收到的信号开始高低变化(由于噪声的存在);

B. CLK1引脚也开始工作;

C. 一旦接收到有效的字头,CLK1引脚和DATA引脚将协调工作,把射频数据包以其被发射时的数据从DATA引脚送给微控制器;

D. 这头必须是8位;

E. DR引脚没用上,所有的地址和CRC校验必须在微控制器内部进行。

在直接收发模式下,nRF2401如传统的射频收发器一样工作。

6.3.3配置模式

在配置模式,15字节的配置字被送到nRF2401,这通过CS、CLK1和DATA三个引脚完成,具体的配置方法在后面的器件配置部分。

6.3.4 空闲模式

nRF2401的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。

在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为4MHz时工作电流为12uA,外部晶振为16MHz时工作电流为32uA。

在空闲模式下,配置字的内容保持在nRF2401片内。

6.3.5 关机模式

在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于1uA。

关机模式下,配置字的内容也会被保持在nRF2401片内,这是该模

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

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2