




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录 第一章 绪论 1第二章 音乐播放器主要器件相关知识介绍 2 2.1 AT89C51 2 2.2 LCD 显示器 4 2.3 喇叭 5 2.4 键盘 5第三章 音乐播放器设计原理 6 3.1 单片机发声的基本原理 63.2 设计的相关音乐说明 73.3 音乐播放器设计功能说明 7 3.4 设计结构框图 93.5 主程序控制的工作流程图103.6 播放音乐的主程序 11设计心得 15参考文献 15第一章 绪论二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。设计指标:(1)设计一个(44)的键盘,并将16个键设计成16个音;(2)可弹奏想要表达的音乐;(3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。设计要求:(1)按设计指标进行电路设计;(2)列出音阶与单片机定时器输出频率关系表格;(3)制作符合设计指标的硬件电路。第二章 音乐电子显示屏主要器件相关知识介绍 制作音乐播放器所使用的主要元器件AT89S52 1个晶振 12MHZ 1 个LCD1602液晶显示器 1个小喇叭 1个电容 30pf 2个极性电容 1uf 2个10nf 1个电阻 10k 1个470欧 1个1K欧 1个按键 17个排阻 1k 1个2.1 AT89S52 : AT89S52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。现在我们对这些引脚的功能加以说明: 20:接地脚。 40:正电源脚,工作时,接+5V电源。 19:时钟XTAL1脚,片内振荡电路的输入端。 18:时钟XTAL2脚,片内振荡电路的输出端。 8051的时钟有两种方式,一种是片内时钟振荡方式 但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。 输入输出(I/O)引脚: Pin39-Pin32为P0.0-P0.7输入输出脚。 Pin1-Pin8为P1.0-P1.7输入输出脚。 芯片引脚简要说明Vcc (40) :+5V 电源Vss (20) :接地P0 口(3239):为8位双向三态I/O口P1口(81):是带内部上拉电阻结构的8位准双向I/O口P2口(2821):也是带内部上拉电阻结构的8位准双向I/O口 P3(17 10):也是带内部上拉电阻结构的8位准双向I/O口,但在整个系统中,对相应的口锁存器置“1” 后,这8个脚还具有第二功能。RST/VPD (9):复位信号线ALE/PROG (30):地址锁存有效信号线PSEN(29):外部程序存储器读选通信号线EN/VPP(31):内部和外部程序存储器的选择线I/O端口:8051共有4 I/O端口,为P0,P1,P2,P3;4个I/O口都是双向的,且每个口都具有锁存器。每个端口有8条线,共计32条I/O线。P0.0P0.7;P1.0P1.7;P2.0P2.7;P3.0P3.71. P0 有三个功能 1)。外部扩充存储器时,作数据总线(D0D7)2)。外部扩充存储器时,作地址总线(A0A7)3)。不扩充时,作一般I/O使用,内部无上拉电阻,作为输出/输入使用时应加上拉电阻2.P1只作I/O口使用,有内部上拉电阻。3.P2有两个功能 1)。扩充外部存储器时,作地址总线(A8A15)使用。 2)。作一般I/O口使用,有内部上拉电阻。2.2 LCD1602液晶显示器图10-54 1602LCD尺寸图1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表10-13:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。10823 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容与HD44780相兼容的芯片时序表如下:读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无2.3:喇叭(如下图2.3-1) 图2.3-1由于人的耳朵能听到的声音feq为20HZ20 000HZ,极性电容C2的作用为滤波,电容C7的作用为截止直流信号通过。其电容C2角频率w=2*pi*feq 即为 125.6125600。阻抗R=1/(j*w*c)得到阻抗的取值范围7.9617961。2.4 4*4键盘: 第三章 音乐播放器设计原理3.1单片机发声的基本原理 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。但是,由于T0的最大定时时间只能为131毫秒,因此不可能直接用改变T0的时间初值来实现不同节拍。我们可以用T0来产生10毫秒的时间基准,然后设置一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。例如对1/4拍音符,定时时间为0.16秒,相应的时间常数为16(即10H);对3拍音符,定时时间为1.92秒,相应时间长数为192(即C0H)。我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符。3.2设计的相关音乐说明1要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期时间。利用半周期时间定时这个半周期时间,每当计时到后就将输出的I/O反向,然后重复计时此半周期再对I/O反向,就可以在I/O脚上得到此频率的脉冲。2利用8051的内部定时器使其工作在记数模式MODE1下,改变记数值TH0及 TL0以产生不同的方法。3 记数脉冲值与频率的关系公式如:N=Fi/2/Fr。N:记数值:Fi:内部计时依次为1us,故其频率为1 MHZ; Fr:要产生的频率;4 其记数值的求法如:T=65536-N=65536-Fi/2/Fr。例:设K=65536,F=1000000=Fi=1 MHZ。求低音DO(26HZ),中音DO(523HZ),高音DO(1046HZ)的记数值。5 每个音符使用1个音节,字节的高四位代表音符的高低,低四位代表音符的节拍。如果1拍为0.4秒,1/4拍为0.1秒,假设1/4拍为 DELAY,则1拍为4 DELAY。6 歌曲设计采用直觉式输入法,由程序中直接输入“01h,02h,03h”,便会演奏 DO RE ME。 3.3 功能说明:1 先把乐谱的音符找出,然后建立表建立T值的顺序2 把T值表建立在TABLE1,构成发音符的记数值放在“TABLE”3 简谱码为高位,节拍为低四位,音符节拍码放在程序的“TABLE”处。表一 各调1/4节拍的时间设定 各调1/8节拍的时间设定 曲调值 DELAY 曲调值 DELAY 调4/4125毫秒调4/4 62毫秒 调3/4187毫秒 调3/4 94毫秒 调2/4 250毫秒 调2/4 125毫秒 表3.3-1(表1)表二 简谱对应的简谱码T值,节拍数 简谱 发音 简谱码 T值5 低音SO 1 64260 6低音LA 2 64400 7 低音TI 3 64524 1 中音DO 4 64580 2 中音RE 5 64686 3中音MI 6 64777 4 中音FA 7 64820 5 中音SO 8 64898 6 中音LA 9 64968 7 中音TI A 65030 1 高音DO B 65058 2 高音RE C 65110 3 高音ME D 65157 4 高音FA E 65178 5 高音SO F 65217 不发音 0 表3.3-2(表2)表三 节拍码 节拍数 节拍码 节拍数1 1/4拍 2 2/4拍 3 3/4拍 4 1拍 5 1又 1/4拍 6 1又1/2拍 8 2拍 A 2又 1/2拍C 3拍 F 3又3/4拍 3.4音乐播放器硬件电路图 图3.4-14*4键盘16*2液晶显示单片机音乐播放电路复位晶振电路3.5 音乐播放器原理流程图主程序开始初始化变量及LCD显示接口 初始化定时器液晶显示姓名、学号N是否有音调键按下?Y音调显示在LCD依据按键码演奏该首歌曲N是否有歌曲键按下?Y歌曲名字显示在LCD3.6 主程序#include #include #define uchar unsigned char#define uint unsigned int#define LCDPORT P0unsigned int code tab=64021,64103,64260,64400, 64524,64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178;unsigned char code name=1234567 ;unsigned char code num=200711111111;unsigned char code tab1=PLAYING MUSIC IS;unsigned char code tab2=TWO BUFFER;unsigned char code tab3=THE TONE IS;unsigned char code tab4=LOW SO LOW LA LOW TI MID DO MID RE MIN MI MIN FA MID SO MID LA MID TI HIG DO HIG RE HIG MI HIG FA HIG SO HIG LA;/两只蝴蝶unsigned char code Music_Two = 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01,0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x0D, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03,0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E,0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03,0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03,0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03,0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02,0x10,0x03, 0x15,0x00, 0x00,0x00 ;/*/*#ifndef _SOUNDPLAY_H_REVISION_FIRST_#define _SOUNDPLAY_H_REVISION_FIRST_/*#define SYSTEM_OSC 12000000#define SOUND_SPACE 4/5 sbit BeepIO=P30;unsigned int code FreTab12 = 262,277,294,311,330,349,369,392,415,440,466,494 ; /原始频率表unsigned char code SignTab7 = 0,2,4,5,7,9,11 ; /17在频率表中的位置unsigned char code LengthTab7= 1,2,4,8,16,32,64 ;unsigned char Sound_Temp_TH0,Sound_Temp_TL0;/音符定时器初值暂存unsigned char Sound_Temp_TH1,Sound_Temp_TL1;/音长定时器初值暂存/*void InitialSound(void)BeepIO = 0;Sound_Temp_TH1 = (65535-(1/1200)*SYSTEM_OSC)/256;/ 计算TL1应装入的初值 (10ms的初装值)Sound_Temp_TL1 = (65535-(1/1200)*SYSTEM_OSC)%256;/ 计算TH1应装入的初值TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TMOD |= 0x11;ET0 = 1;ET1 = 0;TR0 = 0;TR1 = 0;EA = 1;void BeepTimer0(void) interrupt 1/音符发生中断BeepIO = !BeepIO;TH0 = Sound_Temp_TH0;TL0 = Sound_Temp_TL0;/*void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed)unsigned int NewFreTab12;/新的频率表unsigned char i,j;unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength;unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;for(i=0;i 11)j = j-12;NewFreTabi = FreTabj*2;elseNewFreTabi = FreTabj;if(Octachord = 1)NewFreTabi=2;else if(Octachord = 3)NewFreTabi=2;SoundLength = 0;while(SoundSoundLength != 0x00)/计算歌曲长度SoundLength+=2;Point = 0;Tone = SoundPoint;Length = SoundPoint+1; / 读出第一个音符和它时时值LDiv0 = 12000/Speed;/ 算出1分音符的长度(几个10ms)LDiv4 = LDiv0/4; / 算出4分音符的长度LDiv4 = LDiv4-LDiv4*SOUND_SPACE; / 普通音最长间隔标准TR0 = 0;TR1 = 1;while(Point = 2; /低音if (SM=3) CurrentFre = 2; /高音Temp_T = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC);/计算计数器初值Sound_Temp_TH0 = Temp_T/256;Sound_Temp_TL0 = Temp_T%256;TH0 = Sound_Temp_TH0;TL0 = Sound_Temp_TL0 + 12; /加12是对中断延时的补偿SLen=LengthTabLength%10; /算出是几分音符XG=Length/10%10; /算出音符类型(0普通1连音2顿音)FD=Length/100;LDiv=LDiv0/SLen; /算出连音音符演奏的长度(多少个10ms)if (FD=1)LDiv=LDiv+LDiv/2;if(XG!=1)if(XG=0) /算出普通音符的演奏长度if (SLen0;i-) /发规定长度的音while(TF1=0);TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TF1=0;if(LDiv2!=0)TR0=0; BeepIO=0;for(i=LDiv2;i0;i-) /音符间的间隔while(TF1=0);TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TF1=0;Point+=2;Tone=SoundPoint;Length=SoundPoint+1;BeepIO = 0;/*液晶模块函数*/*sbit LCDE=P35;sbit LCDRW=P36;sbit LCDRS=P37;void Delay()uint uiCount; for(uiCount=0;uiCount0;i-) for(y=255;y0;y-);/*#endif main() unsigned char temp;unsigned char key;unsigned char k,y,m,x,z,i,j;unsigned char counter;InitialSound(); inicry();/*显示姓名学号* WriteCMD(0x80); for(y=0;y7;y+) WriteData(namey); mydelay(5); mydelay(2); WriteCMD(0x80+0x40); for(z=0;z12;z+) WriteData(numz); mydelay(5); for(x=0;x0;i-)for(j=200;j0;j-); temp=P1; temp=temp & 0x0f; if (temp!=0x0f) temp=P1; temp=temp & 0x0f; switch(temp) case 0x0e: key=0+4*m; break; case 0x0d: key=1+4*m; break; case 0x0b:key=2+4*m; break; case 0x07: key=3+4*m;break; temp=P1;P3_0=P3_0; Sound_Temp_TH0=tabkey/256; Sound_Temp_TL0=tabkey%256;TR0=1; WriteCMD(0x01);WriteCMD(0x80);for(y=0;y11;y+) WriteData(tab3y); mydelay(3); mydelay(2); WriteCMD(0x80+0x40);counter=key*7;for(z=counter;zcounter+7;z+) WriteData(tab4z);mydelay(3); for(x=0;x18;x+)WriteCMD(0x18);mydelay(3); temp=temp & 0x0f; while(temp!=0x0f) temp=P1; temp=temp & 0x0f; TR0=0; m+; k=_crol_(0xef,m); if(m=4) m=0; k=0xef; if(P2=0x7f)/*/*显示歌曲模块* WriteCMD(0x01); WriteCMD(0x80);for(y=0;y16;y+) WriteData(tab1y); mydelay(5); mydelay(2);WriteCMD(0x80+0x40); for(z=0;z10;z+) WriteData(tab2z); mydelay(5); for(x=0;x26;x+)WriteCMD(0x18);mydelay(5);Play(Music_Two,0,3,360);/* mydelay(25); 设计心得:在做次设计中,感觉比平时上课学习了很多东西,一方面自己在独立思考和动手的能力上有了一定的提高。另一方面在单片机这门课上也有了进一步的认识和深入。 此次课程设计主要做了一个程序:音乐发生器。第一天刚开始的时候感觉很难,不知道怎么去做,怎么去编写程序.好多的空白,特别是在不见老师情况下,只能自己看书查资料。仔细读过程序,发现其实复杂的程序都是由一些简单的程序组成的,感觉看不懂是因为前面的基础知识没掌握好,对语法不熟悉就不能很好地理解程序的含义。 在作此课程设计中遇到不少的难点,有的原理,根本就不知道怎样去实现。最后通过自己仔细查资料,一点一点的就慢慢懂了。在实验中发现,其实在难编写的程序都是由一些基础程序模块构成的,很多的基础模块前人就已经做好了,只要我们拼凑就行了,当然拼凑的工作也不是很简单,最重要的还是要自己的基础扎实,同时,自己的思路要非常的清晰。专周实验完后,感觉到平时掌握的东西实在太少了,要真正实现学有所成、学有所用还有很长的路要走。 现在电子信息技术发展迅速,我们现在学的东西在社会上也许已经或即将被淘汰。因此在学校要学的不仅是书本上的东西,更重要的是自学的能力、独立思考的能力和动手的能力。要想在竞争异常激烈的现代社会立足,就必须有实力。在学校的时间是最好的学习机会,一定要珍惜好这有限的时间,多学知识,尽量充实自己,为以后进入社会多做准备。十 参考文献【1】,杨全胜.胡有彬。现代微机原理与接口技术。北京:电子工业出版社,2002【2】,潘新民.王燕芳。微型计算机控制技术。北京:人民邮电出版社,1999【3】,朱庆保.张正兰.侯晓霞.于海江。南京:南京大学出版社,1997【4】,张友德.赵志英.涂时亮。单片微型机原理、应用与实验(第四版)。上海:复旦大学出版社,2003【5】,张洪润.张亚凡。单片机原理及应用。北京:清华大学出版社,2005袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版绿色建筑水电暖安装工程承包合同示范文本
- 2025版商场装修工程环境保护合同
- 2025年新型环保商砼运输服务合同范本
- 2025年水电站电工设施维护承包合同
- 2025年度企业法律风险防范与合规管理咨询服务合同
- 2025年法院审理离婚案件离婚协议书撰写指南及样本
- 2025年度信息安全咨询与技术服务合同
- 2025年新材料研发生产基地厂房转让合同范本
- 2025版私人艺术品买卖合同(含艺术品交易后续跟踪与维护服务)
- 2025租房补贴借款合同专业版范文
- 卡通小学幼儿园暑假生活PPT模板策划案背景图我的暑假生活课件 暑假生活汇报主题班会总结
- 企业财务会计全套教学课件
- F500-1000泥浆泵说明书
- 城市轨道交通工程技术专业介绍
- 一年级上学期家长会数学老师发言稿(共17张PPT)
- 医药电子商务复习题
- 危险品管理台帐
- 《传统节日》优秀课件(共27张ppt)
- 四年级上美术教案车(二)_苏少版
- 宁夏普通高中毕业生登记表学生综合素质评价手册完整版
- 康复医学概论
评论
0/150
提交评论