




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章
通用输入输出的端口第3章通用输入/输出的端口3.1GPIO概述
GPIO是微控制器数字I/O(输入/输出)的基本模块,借助GPIO,STM32可以对外围设备进行(如按键等)最简单、最直观的监控。还可用于串行和并行通信、存储器扩展等。
STM32的GPIO最多有7组I/O端口:A、B、C、D、E、F、G,每组端口16个外部引脚。每组端口都具有通用I/O、单独位设置/位清除、I/O中断/唤醒、复用(AF)、软件重新映射、I/O复用与GPIO锁定机制功能。在运用这些功能时,会涉及寄存器的操作。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理
使用GPIO主要是对相应的寄存器进行操作,每个GPIO端口具有7组寄存器:2个32位配置寄存器(GPIOx_CRL,GPIOx_CRH);2个32位数据寄存器(GPIOx_IDR,GPIOx_ODR);1个32位置位/复位寄存器(GPIOx_BSRR);1个16位复位寄存器(GPIOx_BRR);1个32位锁定寄存器(GPIOx_LCKR)
第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理
GPIO端口的每个位可由软件分别配置成多种模式。每个I/O端口位能自由编程,I/O端口寄存器必须按32位字被访问。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/写的访问。
常用的I/O端口寄存器有4个:CRL、CRH、IDR、ODR。CRL和CRH控制着每个I/O口的模式及输出速率。
每个GPIO引脚都可由软件配置成:输出、输入。多数GPIO引脚是复用的。除了模拟输入端口,其他GPIO端口有较大带负载能力。
GPIO端口的每位可由软件分别配置成多种模式:输入浮空、输入上拉或下拉、模拟输入、开漏输出、推挽式输出等。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理
使用GPIO主要是对相应的寄存器进行操作,每个GPIO端口具有7组寄存器:2个32位配置寄存器(GPIOx_CRL,GPIOx_CRH);2个32位数据寄存器(GPIOx_IDR,GPIOx_ODR);1个32位置位/复位寄存器(GPIOx_BSRR);1个16位复位寄存器(GPIOx_BRR);1个32位锁定寄存器(GPIOx_LCKR)
第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理STM32微控制器GPIO端口基本结构如下图所示。
GPIO内部分为输入和输出驱动器两部分,与GPIO相关的寄存器分为三组:通用的I/O(GPIO)操作寄存器;中断(EXTI)控制寄存器;管脚复用重映射和调试I/O配置(AFIO)寄存器。3.2.1GPIO端口结构第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.1GPIO端口结构1.输出驱动器(1)GPIO的输出驱动器主要由多路选择器、输出控制和一对互补的MOS管组成。多路选择器是根据设置决定该引脚是GPIO普通还是复用输出。
普通输出:由输出数据寄存器GPIO控制。
复用功能输出:一个引脚可对应多个复用功能输出。但同一时刻,该引脚只用复用功能中的一个,其他复用功能都处于禁止状态。(2)输出控制逻辑和一对互补的MOS管。输出控制逻辑根据要求通过控制和NMOS管的状态(通/断)决定GPIO输出模式(开漏、推挽还是关闭)。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.1GPIO端口结构2.输入驱动器GPIO的输入驱动器由TTL肖特基触发器、带开关的上/下拉电阻组成。输入信号送到GPIO输入数据寄存器的同时,送给片上外设,GPIO的输入没有复用功能选项。GPIO的输入分为以下四种。模拟输入:TTL肖特基触发器关闭。上拉输入:GPIO内置上拉电阻,其内部上拉电阻端接通,下拉电阻端的断开。在该模式下引脚默认为高电平。下拉输入:GPIO内置下拉电阻,其内部下拉电阻端接通,上拉电阻端的断开。在该模式下引脚默认为低电平。浮空输入:GPIO内部无上/下拉电阻,断开状态。在该模式下,为高阻态,其电平高低由外部电路决定。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.2GPIO口输入/输出模式
STM32的I/O有以下八种配置方式,其中1~4为输入类型,5~6为输出类型,7~8为复用输出。浮空输入_IN_FLOATING:浮空输入,由KEY识别带上拉输入_IPU:I/O内部上拉电阻输入。带下拉输入_JPD:I/O内部下拉电阻输入。模拟输入_AIN:应用ADC模拟输入,或者低功耗下省电。开漏输出_OUT_OD:I/O输出。接GND,I/O输出“1”;悬空时外接上拉电阻,输出高电平。当输出为“1”时,VO口的状态上拉为高电平,I/O口由外部电路决定。推挽输出_OUT_PP:I/O输出0接GND,I/O输出“1”接VCC,读输入值是未知的。复用功能的推挽输出_AF_PP:片内外设功能(I2C的SCL、SDA)。复用功能的开漏输出_AF_OD:片内外设功能(TX1、MOSI、MISO、SCK、SS)。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.2GPIO口输入/输出模式下面介绍推挽输出和开漏输出的工作原理。推挽输出电路原理图
推挽输出可以输出高或低电平,其结构是两三极管分别受两个互补信号的控制,当一个三极管导通的时候另一个截止。开漏输出电路原理图当左端的输入为“0”时,前面的三极管Q2截止,所以VCC电源通过1kΩ电阻加到右边的三极管Q1上,右边的三极管导通;当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理1.GPIO输出速度
STM32的I/O口驱动电路的响应速度,取决于软件程序。
STM32在I/O口有不同速度的输出驱动电路,当不需要输出高频率时,应选用低速驱动电路,有利于提高系统的EMI性能。其I/O口进行输出速度选择时,应根据需求配置输出速度。推荐I/O口的输出速度是其输出信号速度的5~10倍。STM32的I/O口的输出速度有三种选择:2MHz、10MHz和50MHz。连接LED、Buzzer等外设的普通输出,设置为2MHz用作USART复用功能输出:假设USART工作时最大比特率为115.2Kbps选用2MHz的响应速度,既降低功耗,噪声又小。用作I2C复用功能的输出,假设I2C工作时最大比特率为400Kbps,那么2MHz的速度可能不够,选用10MHz或50MHz的I/O速度。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.3输出速度及主要特征2.GPIO的主要特征STM32的GPIO主要具有以下特征:提供最多112个多功能双向I/O端口,80%的端口利用率。每个I/O口(除ADC外)都兼容5V,具有20mA驱动能力。每个I/O口最高18MHz的翻转速度和50MHz的输出速度。每个I/O口有8种工作模式,在复位和刚复位后,复位功能未开启,I/O口被设置成浮空输入模式。I/O口都具备复用功能,包括JTAG/SWD、Timer、USART、I2C、SPI等。某些复用功能口可通过复用功能重映射用作另一复用功能,便于PCB的设计。I/O口可以作为外部中断输入,同时有16个中断输入。多数每个I/O口(除端口F和端口G)都可用作事件输出。PA0可作为从待机模式唤醒的引脚,PC13可作为入侵检测的引脚。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.4GPIO复用功能
使用默认复用功能前应对端口位配置寄存器编程。
复用的输入功能:端口应置成输入模式(浮空、上拉或下拉),且输入口由外部驱动;
复用输出功能:端口配置成复用功能输出模式(推挽或开漏);
双向复用功能:端口位配置功能为输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。如端口配置成复用输出功能,则引脚和输出寄存器断开,和片上外设的输出连接。为了使不同器件封装的外设I/O功能的数量达到最优,可以把复用功能映射其他引脚上,通过软件配置相应的寄存器来完成。第3章通用输入/输出(GIPO)3.2
STM32的GPIO工作原理3.2.5GPIO锁定机制
I/O端口的锁定机制允许冻结I/O配置。当在一个端口位上执行了锁定(LOC引脚在下一次复位之前,将不能再更改端口位的配置),该功能主要用在一些关键点引脚配置上,防止程序跑飞引起灾难性后果。例如,在驱动功率模块的配置上,应该使用锁定机制,以冻结I/O口配置,即使程序跑飞,也不影响这些引脚的配置。第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数在进行STM32系列单片机系统开发时,采用官方提供的库函数,由于相关的模块寄存器特别多,每个寄存器都是32位。STM32F10x系列单片机的库函数V3.50版本如图所示。GPIO涉及的库函数如下表所示。函数名描
述GPIO_DeInit将外设GPIOx寄存器值设为缺省值GPIO_AFIODeInit将复用功能(取映射审件校制和exit设置)重设为默认值GPIO_Init根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器GPIO_StructInit把GPIO_InitStruct中的每一个参数按默认值填入GPIO_ReadInputDataBit读取指定端口管脚的输入GPIO_ReadInputData读取指定GPIO端口的输入GPIO_ReadOutputDataBit读取指定端口管脚的输出GPIO_ReadOutputData读取指定GPIO端口的输入GPIO_SetBits设置指定的数据端口位GPIO_ResetBits清除指定的数据端口位GPIO_WriteBit设置或清除指定的数据端口位GPIO_Write向指定GPIO数据端口写入数据GPIO_PinLockConfig锁定GPIO管脚设置寄存器GPIO_EventOutputConfig选择GPIO管脚用作事件输出GPIO_EventOutputCmd使能或失能事件输出GPIO_PinRemapConfig改变指定管脚的映射GPIO_EXTILineConfig选择GPIO管脚用作外部中断线路第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数在上述库函数中,经常会用到9个库函数进行软件开发:•GPIO_Init()•GPIO_ReadInputDataBit()•GPIO_ReadInputData()•GPIO_ReadOutputDataBit()•GPIO_ReadOutputData()•GPIO_SetBits()•GPIO_ResetBits()•GPIO_WriteBit()•GPIO_Write()第3章通用输入/输出的端口(GIPO)3.3
STM32F103系的GPIO的相关库函数1.GPIO_Init()函数名GPIO_Init()函数原型voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)功能描述根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器输入参数1GPIOx:x可以是A、B、C、D或E,来选择GPIO外设输入参数2GPIO_InitStruct:指向结构GPIO_InitTypeDef的指针,包含了外设GH0的配置信息,参阅Section:GPIO_InitTypeDef查阅更多该参数允许取值范围输出参数无返回值无GPIO_Init()函数参数第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数1.GPIO_Init()GPIO_InitTypeDef定义于文stm32f10x_gpio.h:typedefstruct{uintl6_tGPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;
(1)GPIO_Pin该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中多个管脚。使用以下取值任意组合:•GPIO_Pin_None:无引脚被选中;•GPIO_Pin_0:选中引脚0。•GPIO_Pin_l:选中引脚1。•GPIO_Pin_2:选中引脚2。…… •GPIO_Pin_15:选中引脚15。第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数1.GPIO_Init()(2)PIO_Mode用于设置选中管脚的速率。该参数可取值如下:GPIO_Pin_10MHz:最高输出速率10MHz。GPIO_Pin_2MHz:最高输出速率2MHz。GPIO_Pin_50MHz:最高输出速率50MHz。(3)GPIO_Mode用于设置选中管脚的工作状态,该参数可取如下:GPIO_Mode_AIN:模拟输入。GPIO_Mode_IN_FLOATING:浮空输入。GPIO_Mode_IPD:下拉输入。GPIO_Mode_IPU:上拉输入。GPIO_Mode_Out_OD:开漏输出。GPIO_Mode_Out_PP:推挽输出。GPIO_Mode_AF_OD:复用开漏输出。第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数1.GPIO_Init()所有GPIO_Mode的索引和编码如下表所示。GPIO方向索引模式设置模式代码GPIOInput0x00GPIO_Mode_AIN0x000x00GPIO_Mode_IN_FLOATING0x040x04GPIO_Mode_IPD0x080x28GPIO_Mode_IPU0x080x48GPIOoutput0x01GPIO_Mode_Out_OD0x040x14GPIO_Mode_Out_PP0x000x10GPIO_Mode_AF_OD0x0C0x1CGPIO_Mode_AF_PP0x080x18
GPIO_Mode的索引和编码第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数2.GPIO_ReadInputDataBit()GPIO_ReadInputDataBit()函数参数函数名GPIO_ReadInputDataBit()函数原型uint8_tGPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,uintl6_tGPIO_Pin)功能描述读取指定管脚的输入输入参数1GPIOx:可以是A、B、C、D或E,来选择GPIO外设输入参数2GPIO_Pin:待读取的端口位参阅Section:GPIO查阅更多该参数允许取值范围输出参数无返回值输入端口管脚值例[3.1]:读取GPIOB端口12引脚的输入U8ReadValue;ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12);第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数3.GPIO_ReadInputData()GPIO_ReadInputData()函数参数函数名GPIO_ReadInputData()函数原型uintl6_tGPIO_ReadInputData(GPIO_TypeDef*GPIOx)功能描述读取指定的GPIO端口输入输入参数GPIOx:x可以是A、B、C、D或E,来选择GPIO外设输出参数无返回值GPIO输入数据端口值例[3.2]:读取指定GPIOB端口的输入U16ReadValue;ReadValue=GPIO_ReadInputData(GPIOB);第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数4.GPIO_ReadOutputDataBit()GPIO_ReadOutputDataBit()函数参数例[3.3]:读取GPIOB端口12引脚的输出U8ReadValue;ReadValue=GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_12);函数名GPIO_ReadOutputDataBIt()功能原型uint8_tGPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)功能描述读取指定管脚的输出入输入参数1GPIOx:x可以是A、B、C、D或E,来选择GPIO外设输入参数2GPIO_Pin:待读取的端口位参阅Section:GPIO查阅更多该参数允许取值范围输出参数无返回值输出端口管脚值第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数5.GPIO_ReadOutputData()GPIO_ReadOutputDataBit()函数参数例[3.4]:读取GPIOC端口的输出U16ReadValue;ReadValue=GPIO_ReadOutputData(GPIOC);函数名GPIO_ReadOutputData()函数原型uintl6_tGPIO_ReadInputData(GPIO_TypeDef*GPIOx)功能描述读取指定的GPIO端口输入输入参数GPIOx:x可以是A、B、C、D或E,来选择GPIO外设输出参数无返回值GPIO输出数据端口值第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数6.GPIO_SetBits()例[3.5]:设置GPIOB的12、13引脚为高电平GPIO_SetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13);函数名GPIO_SetBits()功能原型voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)功能描述设置指定的数据端口位输入参数1GPIOx:x可以是A、B、C、D或E,来选择GPIO外设输入参数2输出参数无返回值无GPIO_SetBIts()参数函数第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数7.GPIO_ResetBits()例[3.6]:设置GPIOA的9、10引脚为低电平GPIO_ResetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_9);函数名GPIO_ResetBit()函数原型VoidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)功能描述清除指定的数据端口位输入参数1GPIOx:可以是A、B、C、D或E,来选择GPIO外设输入参数2输出参数无返回值无GPIO_ResetBits()函数参数第3章通用输入/输出的端口(GIPO)3.3
STM32F103系的GPIO的相关库函数8.GPIO_WriteBit()例[3.7]:设置或清除GPIOA的引脚10的端口位GPIO_WriteBit(GPIOA,GPIO_Pin_10,Bit_GPIO_RESET);函数名GPIO_WriteBit()函数原型Void_GPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal)功能描述设置或清除指定的数据端口位输入参数1GPIOx:可以是A、B、C、D或E,来选择GPIO外设输入参数2输入参数3BitVal:该参数指定了待写入的值该参数必须取枚举BitAction的其中一个值Bit_RESET:清除数据端口位Bit_SET:设置数据端口位输出参数无返回值无
GPIO_WriteBit()函数参数第3章通用输入/输出(GIPO)3.3
STM32F103系的GPIO的相关库函数9.GPIO_Write()例[3.8]:向指定GPIOA数据端口写入数据1101GPIO_Write(GPIOA,0x1101);函数名GPIO_Write()函数原型Void_GPIO_Write(GPIO_TypeDef*GPIOx,uint16_tPortVal)功能描述指定GPIO数据端口写入数据输入参数1GPIOx:可以是A、B、C、D或E,来选择GPIO外设输入参数2PortVal:待写入端口数据寄存器值输出参数无返回值无GPIO_Write()函数参数第3章通用输入/输出(GIPO)3.4
STM32的GPIO应用案例3.4.1硬件电路设计
硬件有LED(DS0和DS1),其电路在STM32上连接好了。
DS0接PB5,DS1接PE5。连接原理图如左图所示。第3章通用输入/输出(GIPO)3.4
STM32的GPIO开发实例3.4.2软件设计新建的TEST工程和一个HARDWARE的文件夹,存放与硬件相关的代码。然后在HARDWARE文件夹下新建一个LED文件夹,存放与LED相关的代码。在USER文件夹下的TEST.Uv2工程,单击新建按钮新建一个文件,在HARDWARE-LED文件夹下面保存为led.c。在该文件中输入如下代码:#include”led.h”//初始化PB5和PE5为输出口,并使能这两个口的时钟//LEDIO初始化VoidLED_Init(void){RCC->APB2ENR|
=
1<<
2
;
//使能PORTB时钟RCC->APE2ENR
=
1<<
5
;
//使能PORTE时钟GPIOB->CRH&
=
0xFFFFFFF0;GPIOB->CRH&
=
0x00000020//PB5推挽输出GPIOB->ODR|=1<<5;//PB5输出高GPIOE->CRL&
=
0xFFFFF0FF
;GPIOE->CRL|
=
0x00000300;//PE5推挽输出GPIOE->ODR|=1<<5;//PE5输出高}第3章通用输入/输出(GIPO)3.4
STM32的GPIO开发实例3.4.2软件设计该代码就包含了一个函数voidLED_Init(void),用来实现配置PB5和PE5为推挽输出。注意,在配置STM32外设的时候,先使能该外设的时钟。APB2ENR是APB2总线上的外设时钟使能寄存器,各位功能描述如下图所示。要使能PORTB和PORTE的时钟使能位,将这两位置1即可。在配置完时钟,LED_Init配置了PB5和PE5的模式为推挽输出,默认输出为1,即完成了这两个I/O口的初始化。第3章通用输入/输出的端口(GIPO)3.4
STM32的GPIO开发实例3.4.2软件设计要使能PORTB和PORTE的时钟使能位,只要将这两位置1即可。在配置完时钟,LED_Init配置了PB5和PE5的模式为推挽输出,默认输出为1,即完成了这两个I/O口的初始化。保存led.c代码,按同样的方法新建一个led.h文件,保存在LED文件夹里。在led.h中输入如下代码:#ifndef_LED_H#define_LED_H#include"sys.h"//LED端口定义#defineLED0PBout(5)//PB5#defineLED1PEout(5)//PE5voidLED_Init(void);//初始化#endif这段代码里中关键是2个宏定义(方法1):#defineLED0PBout(5)//DS0#defineLED1PEout(5)//DS1
第3章通用输入/输出(GIPO)3.4
STM32的GPIO应用案例3.4.2软件设计将led.h保存,接着在ManageComponents管理中,新建一个HARDWARE的组,把led.c加入到这个组里,如下图所示。单击OK回到工程,发现在ProjectWorkspace中多了一个HARDWARE的组,该组下面有一个led.c的文件,用同样的方法将led.h头文件的路径加入到工程里面。第3章通用输入/输出(GIPO)3.4
STM32的GPIO应用案例3.4.2软件设计回到主界面在main函数里面编写如下代码:#include"sys.h"//加入sys.h的头文件#include"usart.h"#include"delay.h"#include"led.h"intmain(void){Stm32_ClockInit(9);
//系统时钟设置delay_init(72);
//延时初始化LEDInit();
//初始化与LED连接的//硬件接口while(1){LED0=0;LED1=1;delay_ms(300);//延时300msLED0=1;LED1=0;
//延时300msDelay_ms(300);}}代码包含了#include"led.h"这句,使得LED0、LED1、LED_Init等能在main函数里被调用。然后,main函数配置系统时钟为72MHz,把延时函数初始化。接着调用LED_Init初始化PB5和PE5为输出。最后用死循环实现LED0和LED1交替闪烁,间隔为300ms。再单击编译工程,得到结果如图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春中医药大学《高级英语2》2023-2024学年第一学期期末试卷
- 荆州理工职业学院《信息技术(T)项目管理》2023-2024学年第二学期期末试卷
- 山西省临汾市大宁县昕水镇东关小学2025年三年级数学第二学期期末教学质量检测试题含解析
- 上海科创职业技术学院《牙体形态学》2023-2024学年第一学期期末试卷
- 厦门东海职业技术学院《大学俄语语法(三)》2023-2024学年第二学期期末试卷
- 湖北省鄂东南五校一体联盟联考2025届高三第四次统测语文试题试卷含解析
- 南京视觉艺术职业学院《药物设计与新药发现-小分子药物》2023-2024学年第二学期期末试卷
- 江苏省盐城市联谊校2025届初三第二次联考物理试题试卷含解析
- 浙江中医药大学滨江学院《歌唱语音与歌剧排演1》2023-2024学年第一学期期末试卷
- 烟台市蓬莱市2025届四下数学期末达标检测模拟试题含解析
- 中水、纯水系统简介
- 12 UG NX运动仿真基础
- (完整版)10KV配电室安装工程施工方案
- 逻辑思维训练500题及答案
- 新安全生产法主要负责人和安全管理人员职责
- 1.铝合金阳极氧化实用工艺及全参数理论指导
- 油库工艺流程及设备一览表
- 1辅导员班主任谈心谈话记录表
- 水文地质学第8章-3
- 【原创】《圆柱与圆锥》复习课教教学设计
- 稀土离子的光谱特性.PPT
评论
0/150
提交评论