




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安安 徽徽 农农 业业 大大 学学 毕毕 业业 论论 文(设计)文(设计) 论文题目论文题目 基于基于 stm32f103rbt 的的 mp3 播放器设计播放器设计 姓 名 吕 凯 学 号 08196329 院 系 信息与计算机学院 专 业 电子信息工程 指导教师 褚刚秀 江朝晖 职 称 助教 副教授 中国中国合肥合肥 二二o一二一二 年年 六六 月月 安徽农业大学学士学位论文(设计)开题报告安徽农业大学学士学位论文(设计)开题报告 课题名称基于 stm32 的 mp3 播放器 课题 来源 自拟 学生姓名吕 凯专业电子信息工程学号08196329 指导教师姓名褚刚秀 江朝晖职称助教 副教授 研 究 内 容 1、 stm32 spi 接口驱动程序设计,gpio 接口应用 2、 vs1003b 驱动程序设计,与处理器的连接 3、 sd 卡内部结构与文件系统 4、 fatfs 的移植及其接口函数的应用 研 究 计 划 2 月初3 月底 理论学习、查资料。 4 月初4 月底 确定硬件结构,在此平台上练习 5 月初5 月中 stm32 spi 接口驱动程序 vs1003b 驱动程序设计 5 月中5 月底 fatfs 文件系统的移植,系统程序调试 特 色 与 创 新 1、vs1003b 解码音质较好,播放流畅 2、fatfs 文件系统移植简单,功能丰富,很适合 sd 卡文件管理 指 导 教 师 意 见 教 研 室 意 见 学 院 意 见 目目 录录 1 1 引言引言 .1 2 2 设计思想设计思想 .2 3 3 系统的硬件设计系统的硬件设计 .2 3.1 微控制器及其理论介绍3 3.1.1 芯片总体描述 3 3.1.2 典型应用场合 3 3.1.3 典型外设及接口 3 3.2 解码芯片6 3.3 sd 卡.8 4 4 系统的软件件设计系统的软件件设计 .10 4.1 开发和调试环境10 4.2 单片机程序设计10 4.2.1 spi 驱动程序 10 4.2.2 sd 卡驱动程序 14 4.2.3 fatfs 文件系统的移植 16 4.2.4 vs1003 驱动程序 19 4.2.5 主程序 .22 5 5 结结束束语语 .24 参考文献参考文献 .24 英文摘要英文摘要 .25 致致 谢谢 .25 附录附录 1 1 26 附录附录 2 2 27 1 基于基于 stm32stm32 的的 mp3mp3 播放器软件设计播放器软件设计 学生:吕 凯,指导教师:褚刚秀 (安徽农业大学 信息与计算机学院 合肥 230036) 摘摘 要要:本文介绍了基于 stm32f103rbt 微控制器开发板以及 vs1003b 解码芯 片的 mp3 音乐播放器。采用意法半导体的 cortex-m3 内核的 stm32 系列作为核 心控制芯片,管理及读取音乐数据,并将这些数据发送给 vs1003b 进行解码, 同时接收外界命令。系统采用大容量的 sd 卡作为存储部分,sd 卡内部数据的管 理与磁盘一样,使用了文件系统,用传统的单片机读取存储器的方式读取几 m 字 节大小的 mp3 文件很难实现,因此文件系统的移植成为本系统的关键。同时, vs1003b 与 sd 卡的数据都是通过 spi 通信与 stm32 进行交互,spi 通信也是设 计中的关键。该播放器在播放时没有出现理论上的断续情况,音质较好。占用的 软硬件资源也较少,为后续的扩展学习留下了很大空间。 关键词关键词:cortex-m3,vs1003b,sd 卡,fatfs 文件系统,mp3 播放器 1 1 引言引言 mp3 全称是动态影像专家压缩标准音频层面 3(moving picture experts group audio layer iii) 。是当今较流行的一种数字音频编码和有损压缩格式, 它设计用来大幅度地降低音频数据量,而对于大多数用户来说重放的音质与最初 的不压缩音频相比没有明显的下降。 mp3 格式有如下几个特点:1.mp3 是一个数据压缩格式。2.它丢弃掉脉冲编 码调制(pcm)音频数据中对人类听觉不重要的数据(类似于 jpeg 是一个有损图 像压缩) ,从而达到了小得多的文件大小。3.mp3 音频可以按照不同的位速进行压 缩,提供了在数据大小和声音质量之间进行权衡的一个范围。mp3 格式使用了混 合的转换机制将时域信号转换成频域信号。4.32 波段多相积分滤波器(pqf) 。 5.36 或者 12 tap 改良离散余弦滤波器(mdct) ;每个子波段大小可以在 0.1 和 2.31 之间独立选择。6.mp3 不仅有广泛的用户端软件支持,也有很多的硬件 支持比如便携式媒体播放器(指 mp3 播放器)dvd 和 cd 播放器。 本次设计的重点在于三个方面:微控制器的使用和编程、vs1003b 解码芯片 2 的使用,文件系统的移植与其 api 调用。控制器的使用和编程需要对单片机有着 比较好的了解,本控制器嵌入了硬件 spi 接口,对硬件的设计进行了不少的简化, 硬件编程基于 c 语言,因为本设计采用的是较为基础的设计方案,控制器与外围 芯片的连接方面可以参考芯片资料, 。vs1003b 解码芯片的使用主要参考其英文资 料,使得设计进度上有一定得难度,但是在进行使用的时候,资料里面推荐的典 型应用电路图对设计起了不少的参考,使得设计难度大幅度减少。文件系统的成 功移植方便了读取 sd 卡里大量的内容,只需要调用本设计中移植的 fatfs 提供 的 api 进行一系列文件操作。文件系统的移植是这次设计中的重点内容,大量的 阅读关于文件系统的文档及源代码扩展了我的视野更锻炼了我的代码快速阅读能 力。 通过本毕业设计,增加了对英文资料的理解,更加深入的了解了单片机及其 应用,同时也是对嵌入式应用的一个过渡,增加了自己不少的信心,难者不会, 会者不难,所谓的困难,只是一个过程。同时相信,对学工科的而言,严谨乃成 功之母,这也是我最大的收获之一。 2 2 设计思想设计思想 本系统主要实现的功能有:从 sd 卡中读取 16 进制的 mp3 或 wma 格式的 语音数据,对这些数据解码并播放。 具体设计思路如图 2-1 所示。 命令或数据 命令或数据 图图 2-12-1 系统架构图系统架构图 3 3 系统硬件系统硬件平台的介绍平台的介绍 本系统的硬件结构由 stm32f103rbt6 开发板,vs1003b 解码芯片评估板组成, usb 供电。 sd 卡 stm32 f103rbt6vs1003b 3 3.13.1 微控制器及其理论介绍微控制器及其理论介绍 3.1.13.1.1 芯片总体描述芯片总体描述 stm32f103rbt6 增强型系列基于高性能的 arm cortex-m33 32 位的 risc 内核,工作频率 72mhz,内置包高速存储器,包含 128k flash,20k ram。丰 富的增强 i/o 端口和联接到两条 apb 总线的外设。包含 2 个 12 位的 adc、3 个通 用 16 位定时器和一个 pwm 定时器,还包含标准和先进的通信接口:多达两个 i2c 和 spi、3 个 usart3、1 个 usb 和 1 个 can,还有很实用的 fsmc3总线 接口,sdio 接口。 stm32f103rbt6 增强型系列工作于-40至 105的温度范围,供电电压 2.0v 至 3.6v,一系列的省电模式保证低功耗应用的要求。 该芯片拥有 64 个引脚,其中 51 个引脚是 io 引脚,每一个引脚都可以配置 成中断输入接口,io 均支持位操作,端口可映射,先进的中断控制器 nvic1等 等。丰富的 io 资源加上灵活内部结构和先进指令集的支持使设计变得更加容易。 3.1.23.1.2 典型应用场合典型应用场合 销售终端;身份识别设备;工业自动化;消费电子;建筑安防/消防/hvac; 医疗;通信领域;家电;仪器仪表等。 3.1.33.1.3 典型外设及接口典型外设及接口 (1)spi3串行外设接口 3线全双工同步传输 带或不带第三根双向数据线的双线单工同步传输 8或16位传输帧格式选择 主或从操作 支持多主模式 8个主模式波特率预分频系数(最大为fpclk/2) 4 从模式频率 (最大为fpclk/2) 主模式和从模式的快速通信 主模式和从模式下均可以由软件或硬件进行nss管理:主/从操作模式 的动态改变 可编程的时钟极性和相位 可编程的数据顺序,msb在前或lsb在前 可触发中断的专用发送和接收标志 spi总线忙状态标志 支持可靠通信的硬件crc -在发送模式下,crc值可以被作为最后一个字节发送 -在全双工模式中对接收到的最后一个字节自动进行crc校验 可触发中断的主模式故障、过载以及crc错误标志 支持dma功能的1字节发送和接收缓冲器:产生发送和接受请求 图图 3-13-1 spispi框图框图3 spi引脚如图3-1,通常spi通过4个引脚与外部器件相连: 5 miso:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主 模式下接收数据。 mosi:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从 模式下接收数据。 sck:串口时钟,作为主设备的输出,从设备的输入 nss:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功 能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据 线上的冲突。从设备的nss引脚可以由主设备的一个标准i/o引脚来驱动。一旦被 使能(ssoe位),nss引脚也可以作为输出引脚,并在spi处于主模式时拉低;此 时,所有的spi设备,如果它们的nss引脚连接到主设备的nss引脚,则会检测到 低电平,如果它们被设置为nss硬件模式,就会自动进入从设备状态。当配置为 主设备、nss配置为输入引脚(mstr=1,ssoe=0)时,如果nss被拉低,则这个 spi设备进入主模式失败状态:即mstr位被自动清除,此设备进入从模式 (2)gpio3接口 stm32 的输入输出管脚有下面 8 种可能的配置:(4 输入+2 输出+2 复用输 出) 一、浮空输入_in_floating 二、带上拉输入_ipu 三、带下拉输入_ipd 四、模拟输入_ain 开漏输出_out_od 五、推挽输出_out_pp 六、复用功能的推挽输出_af_pp 七、复用功能的开漏输出_af_od 6 i/o 口的输出模式下,有 3 种输出速度可选(2mhz、10mhz 和 50mhz),这 个速度是指 i/o 口驱动电路的响应速度而不是输出信号的速度,输出信号的速度 与程序有关(芯片内部在 i/o 口的输出部分安排了多个响应速度不同的输出驱动 电路,用户可以根据自己的需要选择合适的驱动电路)。所有端口都有外部中断 能力。为了使用外部中断线,端口必须配置成输入模式。gpio 口的配置具有上 锁功能,当配置好 gpio 口后,可以通过程序锁住配置组合,直到下次芯片复位 才能解锁。 3.23.2 解码芯片解码芯片 vs1003 特性特性2: 能解码mpeg1 和mpeg2 音频 层iii(cbr+vbr+abr);wma 4.0/4.1/7/8/9 5-384kbps 所有流文件;wav(pcm+ima ad-pcm);产生 midi/sp-midi 文件。 对话筒输入或线路输入的音频信号进行ima adpcm编码 支持mp3 和wav 流 高低音控制 单时钟操作1213mhz 内部pll锁相环时钟倍频器 低功耗 内含高性能片上立体声数模转换器,两声道间无相位差 内含能驱动30 欧负载的耳机驱动器 模拟,数字,i/o 单独供电 为用户代码和数据准备的5.5kb片上ram 串行的控制,数据接口 可被用作微处理器的从机 特殊应用的spi flash引导 供调试用途的uart接口 新功能可以通过软件和4 gpio 添加 vs1003概述:概述: 7 vs1003 是一个单片mp3/wma/midi音频解码器和adpcm编码器。它包含 一个高性能,自主产权的低功耗dsp 处理器核vs_dsp4,工作数据存储器,为用 户应用提供5kb 的指令ram 和0.5kb 的数据ram。串行的控制和数据接口,4 个常规用途的i/o 口,一个uart,也有一个高品质可变采样率的adc和立体声 dac,还有一个耳机放大器和地线缓冲器。 vs1003 通过一个串行接口来接收输入的比特流,它可以作为一个系统的从 机。输入的比特流被解码,然后通过一个数字音量控制器到达一个18 位过采样 多位- dac。通过串行总线控制解码器。除了基本的解码,在用户ram 中它 还可以做其他特殊应用,例如dsp 音效处理。 图图 3-3 vs1003 内部结构与外部引脚内部结构与外部引脚 vs1003b 与 stm32f103rbt6 的接线如图 3-3 8 图图 3-4 vs1003 与单片机与单片机 spi2 相连相连 3.33.3 sdsd 卡卡 sd 卡(secure digital memory card7)是一种为满足安全性、容量、性能和 使用环境等各方面的需求而设计的一种新型存储器件。 sd 卡内部结构及引脚如图 3-4 所示 9 图图 3-43-4 sdsd 卡内部结构及引脚卡内部结构及引脚7 由上图可知,sd 卡由 6 线 sd 卡接口控制,包括: cmd,clk,dat0dat37。sd 卡允许在两种模式下工作,即 sd 模式和 spi 模 式,该系统采用 spi 模式,使得系统软硬件都比较简单,不足是损失了速度。当 sd 卡接到复位命令(cmd0)时,cs 信号有效(低电平) ,那么启用 spi 模式。 spi 模式引脚定义如图 3-5 10 图图 3-53-5 spispi 模式引脚定义模式引脚定义7 sd 卡与 stm32f103rbt6 的接线如图 3-6 图图 3-6 sd 卡与单片机的连接卡与单片机的连接 4 4 系统的软件设计系统的软件设计 4.14.1 开发和调试环境开发和调试环境 本系统的软件开发与调试平台基于集成开发工具 realview mdk 专业版,它 是由 keil uvision3 开发环境,结合 realview 编译器、uvision 调试器和模拟器形 成的集成开发环境。支持 arm7、arm9 和最新的 cortex-m3 核微控制器或微处 11 理器,自动配置启动代码,集成 flash 烧写模块,强大的 simulation 设备模拟, 性能分析等功能。支持 ulink、stlink、j-link 等多种调试手段,本系统的后期 仿真调试采用 j-link 仿真器,它是通过 arm 芯片的 jtag 边界扫描口进行的调 试的设备。jtag 仿真器比较便宜,连接方便,通过现有的 jtag 边界扫描口与 arm cpu 核通信,属于完全非插入式,它无需目标存储器,不占用目标系统的 任何端口。由于 jtag 调试的目标程序是在目标板上执行,仿真更接近于与目标 硬件。使用集成开发环境配合 jtag 仿真器进行嵌入式系统开发时目前很常用的 一种调试方式。 4.24.2 单片机程序设计单片机程序设计 本系统的所有程序基于 stm32 提供的 v3.3.0 固件函数库,该函数库是一个 固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特 征。该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库, 无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用本固态函数库 可以大大减少用户的程序编写时间,进而降低开发成本。 4.2.14.2.1 spispi 驱动程序驱动程序 时钟信号的相位和极性 spi_cr寄存器的cpol和cpha位,能够组合成四种可能的时序关系。 cpol(时钟极性)位控制在没有数据传输时时钟的空闲状态电平,此位对主模式和 从模式下的设备都有效。如果cpol被清0,sck引脚在空闲状态保持低电平;如 果cpol被置1,sck引脚在空闲状态保持高电平。 如果cpha(时钟相位)位被置1,sck时钟的第二个边沿(cpol位为0时就是 下降沿,cpol位为1时就是上升沿)进行数据位的采样,数据在第二个时钟边沿 被锁存。如果cpha位被清0,sck时钟的第一边沿(cpol位为0时就是下降沿, cpol位为1时就是上升沿)进行数据位采样,数据在第一个时钟边沿被锁存。 cpol时钟极性和cpha时钟相位的组合选择数据捕捉的时钟边沿。 图3.2显示了spi传输的4种cpha和cpol位组合。此图可以解释为主设备和从 设备的sck脚、miso脚、mosi脚直接连接的主或从时序图。 12 注意:1. 在改变cpol/cpha位之前,必须清除spe位将spi禁止。 2. 主和从必须配置成相同的时序模式。 3. sck的空闲状态必须和spi_cr1寄存器指定的极性一致(cpol为1时, 空闲时应上拉sck为高电平;cpol为0时,空闲时应下拉sck为低电平)。 4. 数据帧格式(8位或16位)由spi_cr1寄存器的dff位选择,并且决定发送 /接收的数据长度。 图图 3-23-2 数据时钟时序图数据时钟时序图 spi 驱动程序包括 spi1 初始化函数,速度设置函数,读写一个字节的函数。 13 spi初始化 由于vs1003与lpc2131在通信时是从机模式,故单片机stm32f103rbt6的 spi模式设置为主机模式,需要对spi接口进行初始化,其初始化函数由void soi lnit(void)实现。 如图4-1。 图图 4-14-1 spispi 接口初始化接口初始化 spi 读写一个字节的函数设计 在接收时,接收到的数据被存放在一个内部的接收缓冲器中;在发送时,在 被发送之前,数据将首先被存放在一个内部的发送缓冲器中。 对spi_dr寄存器 的读操作,将返回接收缓冲器的内容;写入spi_dr寄存器的数据将被写入发送缓 冲器中。如图 4-2 14 图图 4-2 spi 读写字节函数读写字节函数 4.2.24.2.2 sdsd 卡驱动程序卡驱动程序 sd 卡底层程序主要完成对sd 卡的最基本的数据块的操作,如对sd 卡的初 始化,使之进入spi 模式工作,进而实现对sd 卡内存单元的读写访问。主机与 sd 卡的各种通信都由主机控制,主机通过cmd 线(sd 模式下,sd 卡引脚 2)串行发给sd 卡特定的命令,sd 卡应答信号同样是通过cmd 线由卡返送到 主机。对sd 卡操作的所有命令长度都是6 个字节,且发送时高位在前,其中, 最后1 个字节的高7 位为crc 校验位,在spi 模式下,因无需crc 校验可以全 部写入0。上电后,sd 卡自动进入sd 模式。主机置低cs 端,并需要等待至少 74 个时钟周期,以便有足够的时间完成sd 卡的上电复位过程。主机向sd 卡发 送复位命令cmd0, 这个命令必须要有crc校验(此时仍为sd 模式),如果主 机读到sd 卡有0x01 的应答信号,则表明sd 卡已进入spi 模式。 由于大容量sdhc 的出现, sd1.x 满足不了sdhc的容量要求, 标准已经升 级为sd2. 0。但也因此出现了许多电子设备无法驱动大容量sd 卡的情况, 如何 识别sd1.x 与sd2. 0 就显得尤为重要。sd2. 0 的spi 模式初始化流程判断是 否为sd2. 0 卡, cmd8( sd2. 0 新增的命令) 是关键。若卡是sd2. 0, 则发 送cmd8 将会返回0x01; 若是sd1. x, 则返回0x05, 这样就可以识别sd 卡的类 型。sd1. x 与sd2. 0 的最大不同在于命令地址的表示。sd1. x 的地址单位是 字节, 而sd2. 0 的地址单位是扇区,地址仍然采用32 位4 个字节来表示。因此 15 在读写操作时应该根据不同的卡对地址进行相应的处理, 若是sd1. x则写入字节 地址, 若为sd2. 0 则写入扇区地址。sd卡初始化流程图如图4-3: 忙 忙 不忙 不忙 ccs=1 ccs=0 开始 spi1 及 sd 端口初始 化 设置 spi 为低速模式 发送 cmd0 发送 cmd8 获取卡版 本 发 cmd55+cmd41 sd1.0 发卡初始化 cmd55+acmd41 sd2.0 或 sdhc 发 cmd58 获取 ccs 信息 获取应答 r1 ccs=? 卡 ok? sd2.0 标准容 量 卡 ok? sd1.0 标准容 量 sdhc 16 图图 4-3 sd 卡初始化流程图卡初始化流程图 sd 卡驱动程序提供多种底层函数供主程序与文件系统调用: sd_sendcommand(u8 cmd, u32 arg, u8 crc): 向 sd 卡发送一个命令。输入: u8 cmd: 命令 ;u32 arg : 命令参数 u8 crc; crc 校验值:返回值:sd 卡返 回的响应 sd_receivedata(u8 *data, u16 len, u8 release): 从 sd 卡中读回指定长度的数 据,放置在给定位置。输入: u8 *data(存放读回数据的内存len);u16 len(数据长 度) u8 release(传输完成后是否释放总线 cs 置高 0:不释放 1:释放) ;返回值: 0:no_err;other:错误信息 sd_readsingleblock(u32 sector, u8 *buffer): 读 sd 卡的一个 block。输入:u32 sector 取地址(sector 值,非物理地址) u8 *buffer 数据存储地址(大小至少 512byte) 返回值:0: 成功 other:失败 sd_writesingleblock(u32 sector, const u8 *data): 写入 sd 卡的一个 block。输 入:u32 sector 扇区地址(sector 值,非物理地址) ;u8 *buffer 数据存储地址(大 小至少 512byte) 返回值:0: 成功 other:失败 sd_readmultiblock(u32 sector, u8 *buffer, u8 count): 读 sd 卡的多个 block。 输入:u32 sector 扇区地址(sector 值,非物理地址) ;u8 *buffer 数据存储地址 (大小至少 512byte) ;u8 count 连续读 count 个 block ;返回值:0:成功 other:失败 sd_writemultiblock(u32 sector, const u8 *data, u8 count): 写入 sd 卡的 n 个 block。输入:u32 sector: 扇区地址(sector 值,非物理地址);u8 *buffer 数据存 储地址(大小至少 512byte);u8 count 写入的 block 数目;返回值:0:成功 other:失败 sd_read_bytes(unsigned long address,unsigned char *buf,unsigned int offset,unsigned int bytes): 在指定扇区,从 offset 开始读出 bytes 个字节;输入:u32 sector 扇区地址(sector 值,非物理地址);u8 *buf 数据存储地址(大小 apb2rstr|=1apb2rstr gpioa-crl|=0xbbb00000;/pa5.6.7 复用 gpioa-odr|=0x7cr1|=0cr1|=1cr1|=1cr1|=1cr1|=0cr1|=1cr1|=1cr1|=7cr1|=0cr1|=1cr1/fsck=fcpu/256 switch(speedset) case spi_speed_2:/二分频 spi1-cr1|=0cr1|=1cr1|=2cr1|=3cr1|=7cr1|=1sr spi1-dr=txdata; /发送一个 byte retry=0; while(spi1-sr return spi1-dr; /返回收到的数据 30 安 徽 农 业 大 学 毕毕 业业 论论 文文 ( 设设 计计 ) 任任 务务 书书
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洞身管棚施工方案
- 平顶山全网营销方案公司
- 大连商场线下活动策划方案
- 卷烟工艺质量题库及答案
- 潍坊普通话考试题及答案
- DB65T 4350-2021 印染废水治理工程技术规范
- 第1节 化学反应的方向教学设计-2025-2026学年高中化学鲁科版2019选择性必修1 化学反应原理-鲁科版2019
- 2.1 实验:探究小车速度随时间变化的规律教学设计(1)-人教版高中物理必修第一册
- DB65T 4451-2021 氯酸盐和高氯酸盐的检测目视化学比色法
- DB65T 4425-2021 有机食品原料 小麦栽培技术规程
- 减重代谢护理案例分享
- 给水排水管道工程施工质量评定表
- 医院与慈善机构捐赠协议
- 高职数学课件 1.1函数
- 自建房屋地基施工合同
- GB/T 5526-2024动植物油脂相对密度的测定
- 北师大版 五年级上册数学 预习单
- 精神科意外事件防-噎食
- 2024年度吉林省高校教师资格证之高等教育学考试题库
- 九一八知识竞赛题50题
- 《人皆有不忍人之心》 统编版高中语文选择性必修上册
评论
0/150
提交评论