




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SPI的接口及其应用2010-09-01 00:10:29|分类: ARM及程序设计 |标签: |字号大中小订阅 1 SPI接口的特点 目前很多单片机都配置有SPI、I2C或UART等串行接口。在SPI、I2C及UART三种串行接口一般情况下速度最快的是SPI。I2C接口由于是二线协议速度很难超过1MHz/ Bit,而UART工作在方式0(8位移位寄存器)时时钟速度为系统时钟的十二分之一(Fosc/12),而SPI接口时钟速度一般为系统时钟的四分之一(Fosc/4)。典型SPI接口结构如图1所示。 串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用于CPU与各种外围器件进行全双工、同步串行通讯。SPI可以同时发出和接收串行数据。它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。这些外围器件可以是简单的TTL移位寄存器,复杂的LCD显示驱动器,A/D、D/A转换子系统或其他的MCU。当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。主SPI的时钟信号(SCK)使传输同步。 SPI主要特点有: 可以同时发出和接收串行数据; 可以当作主机或从机工作; 提供频率可编程时钟; 发送结束中断标志; 写冲突保护; 总线竞争保护等。 图2和图3中还给出了SPI总线工作的四种方式及SPI总线接口的时序。SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设的时钟相位和极性应该一致。 图2图3 2 利用SPI接口驱动LED显示屏 从图1可以看出SPI接口的核心部分是8位串行移位寄存器,而LED单元板的最基本元件74HC595也是8位串行移位寄存器,因此适当地设计单片机SPI和LED单元板的连接可以高速将显示数据传送到LED显示屏。显然将一个SPI器件对应于单元板的一条扫描线可最大限度发挥SPI器件的速度优势。对应于一个扫描线不多而每扫描线又很长的情况下(超长LED条屏)使用一个SPI器件对应于单元板的一条扫描线可输出速度高达系统时钟的四分之一(Fosc/4)或更高。而SPI接口的FLASH存储器件工作速度更可达50MHz/ Bit以上,如只以SPI接口的 FLASH存储器件工作速度来计算:设一场扫描时间为16MS,在扫描模式为16时(1/16扫描),输出一行的时间为1MS,则LED屏水平方向点数=1000S/(1/50MHz)=50000点。可以说是一个“超超”长的LED条屏。但这是不可能的,因为单元板中74HC595的工作频率一般为16MHz以下,也就是说50000点至少要除3。有关超长LED条屏的详细介绍见下一章。 在上一节中我们将RAM的显示数据输出不经CPU处理直接送LED显示屏显示,数据流和控制如图4(a)所示。CPU此时只做地址加一和读操作,这时的读(虚读)是为了单元板串行移位时钟。这种理念同样可用于SPI接口的 FLASH存储器件。其数据流和控制框图如图4(b)所示。 从图4(b)中可以看出:当CPU从串行FLASH中读数据时,串行FLASH的So端的数据在CPU的SCK作用下输出的同时移入74HC164,当两个字节共16位从串行FLASH输出并移入74HC164后由CPU给单元板发串行移位时钟。这是一个经典的串并转换,其特点是数据不经CPU处理旁路直接输出。VRS51L3074单片机有两个特殊功能正好为图4(b)所示的电路使用。一是一次SPI启动后可输出多个字节(1至32位),二是输出多个字节后自动在特定引脚上输出一个负脉冲。特别重要的是VRS51L3074单片机SPI时钟为系统时钟的二分之一(Fosc/2)。多个字节特性可保证数据连续输出的速度,而输出负脉冲特性进一步提高了整体程序处理的速度。 图4(b)中串行移位寄存器使用的是74HC164而不是74HC595做串并转换,是因为74HC595多了一级输出锁存器时序上需要额外的控制信号。也可以选用其它带SPI接口的单片机作为控制芯片,但需要软件实现单元板串行移位时钟。不论控制电路为图4(a)或图4(b)中的哪一种,其前提是一行显示数据在存储器中连续排列。众所周知计算机中为加速数据传送一般采用DMA方式,而图4(a)、(b)正是基于这样的理念设计的,让显示数据从存储器直接“DMA”到LED显示屏输入口。简单地说一切影响速度的环节我们都应该想办法用硬件或软件的手段“DMA”,软件手段“DMA”只有一个基本点就是在硬件允许的前提下,尽最大努力减少完成同一功能模块的指令执行时间。下面通过图5所示的SPI方式LED显示屏控制电路加以说明。 图5 图5(a)为74HC164内部结构图。图 5(b)为基于SPI串行FLASH存储器旁路输出的LED显示屏控制系统。CPU可选用SST89E516或VRS51L3074均可。SST89E516在倍频使用18MHZ晶振时SPI的SCK移位脉冲可达9MHz。而VRS51L3074在使用内部40晶振时SPI的SCK移位脉冲可高达20MHz。对于VRS51L3074来说P1.0和P1.1为SPI的片选信号,P1.3在传送8位后可自动产生一个负脉冲。所以使用VRS51L3074时只需对SPI接口配置后直接连续启动SPI输出即可。如果使用的是SST89E516只能以手动方式片选FLASH存储器,输出一个字节后用软件产生SCK移位信号,由于此时CPU端SPI输出只是用于启动SPI传送,如果我们固定启动SPI传送的数据使用0x80,在MOSI端将每间隔8位输出一位高电平,这个信号可用于产生SCK移位脉冲。从图1可以看出启动数据0x80产生的脉冲发生在SPI传送的开始,故最后要启动一次SPI传送以保证最后一个字节被移入LED显示屏。有关VRS51L3074和SST89E516的SPI配置请查阅相关器件数据手册。图6是VRS51L3074连续传送一块单元板长度数据的程序模块。 程序(a)中SPI的输出为标准循环查询模式。由于VRS51L3074的SPI输出速度设定为20MHz,在使用内部晶振40MHz时一位的传送时间为2个振荡周期。8位共需用16个振荡周期。程序(a)中第12行启动SPI传送后14行开始读SPI传送是否完成的状态。此时SPI传送显然没有完成,经14、15、16后再回到14行读SPI完成状态时最多经过了12个振荡周期,此时SPI传送还没有完成。只有第3次到14行读SPI状态时SPI传送肯定完成了。这时一个字节的传送时间=3+3+3(3+2+4)+5=38个振荡周期,而38个振荡周期在程序(b)中可以传送2个字节。程序(b)的DA A指令为延时指令,4个DA A指令用时16个振荡周期,我们没有必要检测SPI状态,只是保证正确的SPI时序。程序(b)比程序(a)速度快一倍。图6(b)中CPU采用内部晶振40MHz的VRS51L3074水平方向的LED单元板点数为2048(一场16MS),垂直方向的单色128双色64点。如果用2片74HC164级连垂直方向单色256双色128点,但水平方向的点数减为1024。 如果图6(b)中CPU采用外部晶振20MHz倍频的SST89E516其SPI输出速度只能到10MHz,再加上SST89E516为6T单片机而VRS51L3074为1T单片机,其综合输出性能最多到VRS51L3074综合输出性能的40%。 3 单片机直接驱动LED显示屏应用实例 本文以一例单片机直接驱动LED显示屏的实例,对前面章节中所提到的数据组织、程序优化作小结。 如图7所示,硬件电路部分采用最简单的“单片机最小系统08接口LED显示屏”组成。其中单片机采用SST89C58,工作频率为12MHz,LED显示屏为一块通用室内双基色单元板。该电路为最简LED显示屏工作系统,适用于小型LED显示系统,具有显示效果丰富、成本低廉、易于控制等有点,并且该系统已在实际应用项目中通过测试。 如图7所示,设定显示区域4倍于显示屏,即Dw2Lw,Dh2Lh,其余参数定义见程序(LED屏和显示区域参数与第4章中符号定义相同)。例1中给出的程序可以完成LED显示屏(图8中灰色区域)在显示区域ACIG中垂直、水平、对角移动这些功能,已在Keil uVision3 的3.03版本中编译通过。其中最重要的函数是void display( ),它包括了对存储器的访问、数据输出、显示控制这3大功能。对于存储器的方法完全根据第五章数据组织中的公式而来,因此数据查找详细分析见第五章。该函数的执行效率直接关系到显示屏的显示效果,所以必须对它进行最大程度的优化。整个LED显示屏组成仅用一块双基色单元板,所以如图7所示,数据口P0仅用P0.0P0.3四条I/O线对应输出D0D3,因此实际生成数据只有低4位有效。为便于读者理解和修改、测试数据,故设置显示区域所有文字为黄色,例如当上半屏某象素点点亮为黄色时,该点绿色和黄色LED必然同时点亮才能混合显示黄色,所以R1和G1数据线上对应的数据必须同时置1,存储器中数据为“0xF3”。如果读者希望验证某点或整个数据显示区域显示内容是否正确,只需要按照第五章中数据组织方法找出对应字节,修改对应红、绿扫描线的数据位即可实现所希望显示的效果。 由于显示区域数据较多,因此对例1中数组Dispaly_Font进行压缩。如图7所示,该系统只使用D0D3,4条数据线,所以显示区域数据高4位为无效数据,可以用任意数据替换,按照一般编程习惯,可以采用“F”替换高四位。数据扩展方法为:每个16进制数对应扩展为原数据低4位,例如“5”,扩展后应该为“0xF5,”。注意编译前必须去掉最后一个数据后面的逗号。建议使用UltraEdit软件的列操作功能进行修改。 例1: /* 以下为工程主文件和数据文件,注意测试时请包含数据文件 */ /* 主文件 */ #include /8051特殊功能寄存器说明头文件 #include /标准库文件 #define Dw 128 /显示区域长度 #define Dh 64 /显示区域高度 #define Lw 64 /LED显示屏宽度 #define Lh 32 /LED显示屏长度 #define Sw 16 /LED显示屏的扫描宽度 #define EN_ON 1 #define EN_OFF 0 sfr CTRL_PORT=0xa0; /定义扫描线A、B、C、D分别对应P2.0、P2.1、P2.2、P2.3 sfr DATA_PORT0=0x80; /定义并行数据输出端口为P0口 sbit E=P25; /定义显示允许控制信号 sbit RCK=P26; /定义74HC595锁存信号 sbit SCK=P27; /定义74HC595移位信号 /* 显示核心程序 功能: 根据指定显示数据起始地址,在对应显示区域中查找数据,并完成一屏数据输出显示 参数说明: XL:数据起始地址的x坐标 YL:数据起始地址的y坐标 display_count:每屏显示次数,可以控制移动速度,数值越大单屏显示时间越长,移动速度越慢 */ void display( unsigned int XL,unsigned int YL,unsigned int display_count) unsigned char line; /扫描线循环选择变量 unsigned char col; /控制横向移动长度变量 unsigned char code *ram_point; /显示数据访问指针 unsigned int k,ram_begin_addr; /数据起始地址 for(k=0;kdisplay_count;k+) /单屏循环次数控制 for( line=0;line0;col- ) /每次循环完毕即送出完整一行数据到74HC595 /移位寄存器 DATA_PORT0=*ram_point; ram_point+; SCK=0;SCK=1; /74HC595移位寄存器信号 E=EN_OFF; RCK=0;RCK=1; /74HC595锁存信号 CTRL_PORT=CTRL_PORT&0xe0; CTRL_PORT=CTRL_PORT|line; /选择扫描行线 void main(void) unsigned int XL,y,count=80; display(0,0,3000); while(1) for (XL=0;XL0;XL-)/水平左移,从BCFE区域,向ABED区域移动 display(XL,0,count); for (YL=0;YL0;YL-)/垂直移动,从DEHG区域,向ABED区域移动 display(0,y,count); for (XL=0;x0;XL-)/对角线移动,从EFIH区域,向ABED区域移动 display(XL*2,XL,count); for (XL=Lh;XL0;XL-)/对角线移动,从BCFE区域,向DEHG区域移动 display(XL*2,Lh-XL,count); for (XL=0;XL32;XL+)/对角线移动,从DEHG区域,向BCFE区域移动 display(XL*2,Lh-XL,count); /* 数据文件 */ /* 显示区域数据,共计6144个16进制数据 数据替换方法: 将“F”、“A”、“5”、“0”,分别依次替换为“0xFF,”、“0xFA,”、“0xF5,”、“0xF0,”,去掉最后一个数据后面的逗号即可编译 */ unsigned char code Dispaly_Font12848= FFF5FFFAFFF5FAFFFFFFFFFF5FFFAFFFFFF5FFFFFFFFFFFFFFFFFFFFFF555FFF FFF5FFFF5FAAAFFFFFFFFFF0FFFFFAFFFFF0AAAA0AAAFFFFFFFF5FFAFFFFF5FF FFFF5AAAAF5FFAFFFF0AAAAA0AAAAAFFFFF5FFFFFFF5FFFFF555555555FFFFFF FAA0AAAAA0FFFFFFFAAAAAA0AFFF5AFFFFF0FFFFF5FA5FFF555555F05555555F FAAAA0FFF5FF5AFFFF0FFFFA5FFFAFFFFAA0AAF555000FFFAAAAA0AFFFFAAFFF FF5FFAFFF5FF5FFFF5505555550550FFFFF0A000000055FFFFFF5FF0FFFFFFFF FF555055550550FFFF0FFFFA5FFFAFFFAAF5FAA5FAA5AAFFAAFFF5FFFFA0AFFF FF5FF055555055FFFFFAFFF5FFAFFAFFFFF0FFFFFFFAFFFFF5FF5FF0F5FFF5FF FF5FFAF5FFAF5AFFFF0FFFFA5FFFA5FF005550A5AAF5FAAFAAFF5FFFFA0AAFFF F5FF0FFF5FAFFFFFFFFAAAA0FFA5FAFF555000A0AAA0FFFFF5FF5FF0F5FFF5FF FF5FFAF0FFAF5AFFFF0000000000055FAAF5FAA5AAF5FAAFAA55555555FAAFFF 55000AA0AAF5FFFFFFA5555055055AFFFFF5FFFF5F5FFAFFF5FF5AF0FA5F5FFF AA00000005055AFFFF0FFFFAFFFFAFFFFA00AAF5AAF0FAAFAAAAAAF5FFFAAFFF FFF5FF5AFFFF5FFFFFA5FFFAFFA5FAFFAAA0A000000000AFF5FF5AF0FF0F5FFF FF5FAAF5FFAF5AFFFF0FFFFAFFFFAFFFAA555AA5AAF0FAAFFFFFFA0FFF5AAFFF FF5FF505550555FFFAF055055505FAFFFFA55FAF5FFFFFFFF5FF0FF0FFF0FFFF FF5FAAA5FFAF5AFFFF05555055FFAFFFA0F5F0A5AAF5FAAFFFFFF0AFFFF0AFFF F5FFFAF5FF5AF5FFAFF5AFAFFFA5FAFFFF00AAAA0AAAA0FFF55505F0FFF5AFFF FF50505005055AFFFF0AAAAAA0AAAFFFA0F5FAA5AAF5FAAFFF55500555500FFF 55000AA0AA0AAFFFFFF550555505FAFF55A555050555505FFFFAF5F0FF5F5AFF FF5AFAF5AFAFFAFFFF0FFFFAF5FFAFFF0AF5FAA5FAA5AAFFAAFFFAA5FFFA0FFF F5FFFFF0FF5FAFFFFFF5FAFFFFA5FAFFFFA0AAAF0FF5AFFFFFAFF5F0FF5F5AFF FFAFFAF5FFAFF0FFFF0FFFFAF5FFAFFFFAA0AAF5FFA0AFFFFAAA0AF5FA0AAAAF FFFFAFF0FF0FFFFFFFF505555505FAFFFFA5FFA5FAF0FFFFFAF555F0F5FFF5FF 505550555555505FFF0FFFFAF5FFAFFFFFF5FFF5FFF5FF5FFFFF5FF5FFF5FFFF FFF50F5AFF5AFF5FFFF0FFFFFFF5FAFFFFA0AAAF5F0FFFFF555FF5F05FFFF5FF FFFFFAF5FFFFFAFFFA5FFFFAF5FFAFFFFFF5FF5FFFF5FF5FFFF5FFF5FFFF5FFF 555AFF5AFF5FAF5FFFA5FFFFFFF5F0FFAAA5FFAFF05AAFFFF5FFF5F0FFFFFFFF FFFFFAF5FFFAFAFFF0FFFFFAF5AFAFFFFFF5F5FFFFFF555FFF5FF5F5FFFF5FFF F5AFF0FAFFF5055F505555555550505FF5F5FFAF0FF50AAFFFF5F0F05555555F FFFFFAF5FFFFAFFF0FFFFFFFF5FAFFFFFFF55FFFFFFFFFFFFFFFFF5FFFFFFFFF FFFF5FAFFFFFFFFFFFFFFFFFFFFFAFFFFF5FFF00FFFF5AFFFFFF5FAFFFFFFFFF FFFAFFFFF5FAFFFFFFFFFFFFAFFFFFFFFFFAFFFFFFFFFFFFFFF5FFFFFFAAAFFF FFF0FFFFAFFFFFFFFFFF5FFAFFFFFFFFFFFA5FFFAFFFFFF5FFFFAFFFFFFFFAFF FFFF0FFFF5AFFFFFFFAFFFFFAFFFFFFFFFFAFFFFFFF0555550000AAAAA555555 55505FFFFA555555555555FAF5550555555055FFFAF5AFF5AA0AAAFAAAAAAAAF F55550FFF0FFAFFF5505FFFF0555555F55505FFAAAA0AFFFFFF5FAFFFFFFFFFF FFAFFFFFFA5FAFFFFAAA0AAAAAAA0AFFFF5AFAAAAAA0AAF5FFF5AFFAFFFFFFFF FFAAAAAAA0AAA0FFF50FFFFFA55FF55FF55A55FAFFF0FFFFFFF5FAFFFFFAFFFF FFAFFAAAAA0AAAFFFFFF5FFAFFFF5FFFFF5AFFFFFF5FFFF5FAFFA5FAFAFFFAFF FFAFF5F05555055FF50FFFFFA55FFA5FA00AA05AFFF055555555AFFFFFAFFFFF FAFFAFFFAF55555555555FFAFFFA5FFFAA0AAAFAF55055555055055AFAFFFAFF 5505555AF5FFA5FFF50AAAAAA00A0AAFF55AF55AFFF0FFFFFFA0AAAAAAFFFFFF AAAAA5FAFF5AFF5FFF5AAAAAAAAA0FFFFF5AFFFFAFAFFF5FFAFFAFFAFFAFAFFF FFA0AAAAA0AAA5FFF50FFFFFF5555FFFF50AF55AFFF0FFFFFFF5FFFA55555555 5550550FFF5FAFF5F5FA5FFFFFFA5FFFFF5AF0AAAAAAAA5FFAFFAFFAFFAFAFFF FFA5FFFAF5FFA5FFF50FFFFFF55F5FFFF50AA55AFFF055555555FFAFFFAFFFF5 FFAFFAAAAA0A0055555000AA000055555550055FAFFFF5555055AFFAFFFAFFFF FF0FFFFAF5FFA5FFF50AAAAAA05FFFFFF05AF05AFFF0F5FFF5F5FAFFFFFAFFF5 FAFFFFFAFF0FFA5FFF5AFFFFFFFA5FFFFF0AFFFFAFFFF05FFAA0AAFAFFFAFFFF FF0AA0AAA0AAA5FFF50FFF5FF05FFF5FF05AF55AF5FAF5FFF5AAA0AAAAAA0FF5 AA0AAFFAFF0FFF5FFF5AA0AAAAAA5FFFAA5AAAAAAAAA0A0FFF5FFAFAFFAFAFFF F5AFFF5A5FFFF5FFF50FF55FF05FF55FA55A55FAFF50F5FFF5FF55FAFFF50FF5 FAF55FFAFF0555555550555FFFFA5FFFFF5AFFFFAFFA5FF5F5FFFAFAFFAFAFFF 5555555A5FFFF0FF5505555F5055555F55505FFAFFF0F5FFF5F5AFFAFF0FFFF5 FFFF55FAFF0FFF5FFF5AAAAAAAAA5FFFFF5AFFFAFFF0FFFF5FFAAAFAFAFFFAFF A0AAAAA0AAAAA0AFFFAFFFFFFAFFFFFFFFFAFFFAFFFAF5AFF5FFAFFAF5FAFFF5 FFFAA5AFFF0FFF0FFF5AFFFFFFF0FFFFFF5AFFFFAF0FFFF5A0AFFAFAAFFFFAFF FFFFFFF0FFFFF5FFFFAFFFFFFAFFFFFFFFFAFFAFFFFAF5AFF5FAF5FAFFFFAFF5 AAAFFFAFF5AFFF0FFF5AFFFFFFF0FAFFFF5AFFFFF0AFFF5FFA55FAFAFFFFFFFF FFFFFF5AFF5F5FFFFAFFFFFFFAFFFFFFFFFAFAFF555500055505505AFFFFA5F5 FAFFFAFF5FFAA0AFAA0AAAAAAA0AAAAFFA5AFFFF0FFA05FFFFFA505AAAAAAAAF FFFFF5FAFFF5FFFFAFFFFFFFFAFFFFFFFFFAAFFFFFFFFFFFFFFFFFAFFFFFFF5F FFFFAFFFFFFF5FFFFF5FFFFFF5FFFFFFFF0FFFAAFF55AFFFFFFFA5FFFFFFFFFF FFFFFFF5FAFFFFFFFFFFFFFFFFFF5FFFFFFFFF5FFFFFFFFFFFF0FFFFFFFFF5FF F5FAFFFF5FFFFFFFFFFFAFFFFFF5FFFFFFFFAFFFFFFFFFFAFFFFFFFFFFFFFFFF FFFFAFFF5AFFF5FFFF555555555555FFFFFFFFF5FFFAAAAAAAA0AFFFF5AAA0AA AA0AAFFFF5AAAAAAAA00005550000AAAAAAAAAFFFFFAFFFAFFAFFFFFFFFFFFFF FA0000555055555FAA0AFFF5AAAA0AAFA00005555550555FFFF05555555FF5FF FF5F55555505555FFFFFAFFFFFFFAFFFFFAFFFFFFFFAFFFAFFFAFFFFFFFFFFFF FF5FFFFFFAFFFAFFFA0FFFF5FAAF5AAFF0AF0AFFFFFAFF5FFF5AFF5FFFFFF5FF FFFF5FFFFFAFFF5FFFFFAFFFFFFFAFFFFFAFFFFFFFAFFFFAFFFFFAFFFFFFFFFF FF5FFAF0AAAAA0AFFA0FFFF5FAAF5FAF5AAFF00F5FFAA0AAAA0AFF5FFFF5F5FF 5FF5FFFFFFAAA0AAAAAAAFFFFFFFAFFFFF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 联想集团专利管理办法
- 聚集场所规定管理办法
- 航道设计变更管理办法
- 船舶检验权限管理办法
- 艺术机构场地管理办法
- 节能汽车管理办法规定
- 芯片无损检测管理办法
- 苏州医保医师管理办法
- 苏州禁止吸烟管理办法
- 英语集体备课管理办法
- 2025北师大版三年级数学上册 第二单元 测量(二) 单元教学设计
- 2025年江西省赣州市《综合基础知识》事业单位招聘考试国考真题(附答案)
- 沉香种植可行性研究报告
- 光纤通信施工难点措施
- 资质备案管理办法
- 设备维护保养基础知识
- GB/T 45760-2025精细陶瓷粉体堆积密度测定松装密度
- 职业技能鉴定机构备案表(空表)
- 肝血管瘤护理查房
- 补肾养血膏方联合PRP治疗肝肾亏虚型膝骨关节炎的临床疗效观察
- 医疗机构依法执业自查
评论
0/150
提交评论