版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1 引言(或绪论) . 12 系统的主要功能 . 13 硬件电路设计及描述 . 23.1 S3C2410与串口通信概述 . 23.1.1 S3C2410处理器概述 . 23.2 方案设计 . 63.3 电路设计 . 73.3.1 电源设计 . 73.3.2晶振电路 . 83.3.3 复位电路 . 83.3.4 JTAG接口 . 93.3.5 存储器设计 . 93.3.6串口电路 . 114 软件设计流程及描述 . 125 实验步骤 . 146 源程序代码 . 157 课程设计体会 . 368 参考文献 . 36一 引言(或绪论)本课题以嵌入式系统设计原理和实际应用为核心,从理论上和技术方法
2、上开展了一系列研究。主要工作有:1、全面系统地概述了嵌入式系统的发展过程和分类,及其在各个领域内的应用,以及嵌入式系统的发展方向;2、基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案,从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性的论证;3、嵌入式系统硬件平台的设计与调试,着重叙述了硬件平台的整体设计方案,包括模块的选型与接口电路的设计;总之,本文完成了嵌入式系统的硬件平台构架、实时嵌入式操作系统的移植,为今后嵌入式系统的后继开发提供了一个嵌入式平台。基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案,从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性
3、的论证。嵌入式系统硬件平台的设计与调试,着重叙述了硬件平台的整体设计方案,包括各个设计模块的选型与接口电路的设计。随着世界科技水平的发展,嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。随着嵌入式系统软硬件技术的飞速发展,其应用领域必将更为广阔,嵌入式系统的研究将会有非常广泛的前景。本课题既可以使电子专业学生对ARM920T的嵌入式串口通信系统的实际应用有深入的了解,更重要的是培养了学生的软硬件动手能力,是对学生所学专业知识、理论、技能和培养学生独立完成基本科研任务能力的一个综合检验,具有一定的效果和意义。二 系统的
4、主要功能2.1串行数据的输入和输出、显示、存储;2.2显示当前时间日期、输入和输出数据的显示和存储、串行传输;2.3参数设置:传输字符长度、存储位置;2.4菜单功能:如开始、结束、暂停、设置环境参数等;2.5 文件操作:读文件、写文件等1实验周说明书三 硬件电路设计及描述3.1 S3C2410与串口通信概述3.1.1 S3C2410处理器概述ARM微处理器结构1)RISC体系结构RISC结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。到目前为止,RISC体系结构也还没有严格的定义,一般认为,R
5、ISC体系结构应具采用固定长度的指令格式,指令归整、简单、基本寻址方式有23种; 使用单周期指令,便于流水线操作执行;大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率等特点。2)ARM微处理器的寄存器结构ARM处理器共有37个寄存器,被分为若干个组(BANK), 同时,ARM处理器又有7种不同的处理器模式,如下表22在每一种处理器模式下均有一组相应的寄存器与之对应。表1 ARM处理器的7种处理器模式3)ARM微处理器的指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,T
6、humb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存储空间,同时具备32位代码的所2实验周说明书有优点。S3C2410是Samsung公司基于A RM 920T内核的嵌入式微处理器.本文以S3C2410为核心,配置了最基本外围电路构成了最小的嵌入式系统,并在ADS上开发了启动程序,完成硬件初始化,配置运行环境,串日调试功能。Samsung 公司推出的16/32位RISC处理器S3C2410A,为手持设备和一般类型应用提 供了低价格、低功耗、高性能小型微控制器的解决方案。为了降低整个系统的成本, S3C2410A提供了以下丰富的内
7、部设备:分开的16KB的指令Cache和16KB数据Cache, MMU虚拟存储器管理,LCD控制器(支持STN&TFT),支持NAND Flash系统引导,系统 管理器(片选逻辑和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定时器,I/O 端口,RTC,8通道10位ADC和触摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主机,USB 设备,SD主卡&MMC卡接口,2通道的SPI以及内部PLL时钟倍频器。S3C2410A采用了ARM920T内核,0.18um工艺的CMOS标准宏单元和存储器单元。 它的低功耗、精简和出色的全静态设计特别适用于对成本和功
8、耗敏感的应用。同样它还采用 一种叫做Advanced Microcontroller Bus Architecture(AMBA)新型总线结构。S3C2410A的显著特性是它的CPU核心,是一个由Advanced RISC Machines(ARM) 有限公司设计的16/32位ARM920T RISC处理器。ARM920T实现了MMU,AMBA BUS和 Harvard高速缓冲体系结构。这一结构具有独立的16KB指令Cache和16KB数据Cache,每 个都是由8字长的行(line)构成。3.1.2串口通信串口通信的概念,即串口按位(bit)发送和接收字节通信协议是指通信双方按照约定的数据格
9、式、同步方式、传送速度、传送步骤等规程来进行数据传输本次采用异步通信 ,其特点是通信双方以一个字符(包括特定附加位)作为数据传输单位,且发送方传送字符的间隔时间是不定的。在传输一个字符时总是从起始位开始,以停止位结束。如图1所示:3实验周说明书图1.1 串行数据帧格式S3C2410的UART提供3个独立的异步串行通信端口,每个端口可以基于中断或者DMA进行操作。换句话说,UART控制器可以在CPU和UART之间产生一个中断或者DMA请求来传输数据。UART在系统时钟下运行可支持高达230.4K的波特率,如果使用外部设备提供的UEXTCLK,UART的速度还可以更高。每个UART通道各含有两个1
10、6位的接收和发送FIFO。S3C2410的UART包括可编程的波特率,红外 接收/发送,一个或两个停止位插入,5-8位数据宽度和奇偶校验。每个UART包括一个波特率发生器、一个发送器、一个接收器和一个控制单元,如图11-1所示。波特率发生器的输入可以是PCLK或者UEXTCLK。发送器和接收器包含16位的FIFO和移位寄存器,数据被送入FIFO,然后被复制到发送移位寄存器准备发送,然后数据按位从发送数据引脚TxDn输出。同时,接收数据从接收数据引脚RxDn按位移入接收移位寄存器,并复制到FIFO。特性 RxD0, TxD0, RxD1, TxD1, RxD2, 和TxD2基于中断或者DMA操作
11、 UART Ch 0, 1, 和 2 具有 IrDA 1.0 & 16 字节 FIFO UART Ch 0 和 1 具有 nRTS0, nCTS0, nRTS1, 和 nCTS1 支持发生/接收握手2串行接口的物理层标准4实验周说明书1)EIA RS232C它在一种25针插件(DB25)上定义了串行通信的有关信号。在实际异步串行通信中,并不要求用全部的RS-232C信号,许多PC/XT兼容机仅用15针接插件(DB-15)来引出其异步串行I/O信号,而PC中更是大量采用9针接插件(DB-9)来担当此任。图1.3 DB-25和DB-9引脚定义表2 引脚说明2)信号电平规定RS-232C规定
12、了双极性的信号逻辑电平,它是一套负逻辑定义:-3V到-25V之间的电平表示逻辑“1”。+3V到+25V之间的电平表示逻辑“0”。以上标准称为EIA电平。PC/XT系列使用的信号电平是-12V和+12V,符合EIA标准,但在计算机内部流动的信号都是TTL电平,因此这中间需要用电平转换电路。常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和EIA电平之间实现相互转换。PC/XT系列以这种方式进行串行通信时,在波特率5实验周说明书不高于9600bps的情况下,理论上通信线的长度限制为15米。3S3C2410串行口控制器S3C2410自带3个异步串行口控制器,每个控制器有1
13、6字节的FIFO(先入先出寄存器),最大波特率115.2Kbps。每个UART有7种状态:溢出错误,校验错误,帧错误,暂停态,接收缓冲区准备好,发送缓冲区空,发送移位缓冲器空,这些状态可以由相应的UTRSTATn或UERSTATn寄存器表示,并且与发送接收缓冲区相对应的有错误缓冲区。串行接口:波特率的大小由一个专用的UART波特率分频寄存器(UBRDIVn)控制,计算公式如下:UBRDIVn =(int)MCLK/(bps×16)-1其中:MCLK是系统时钟,UBRDIVn的值必须在1(216-1)之间.例如:在40MHz的情况下,当波特率取115200时,UBRDIVn = (in
14、t)40000000/(115200×16) -1= (int)(21.7)-1= 21 -1 = 203.2 方案设计本系统是以嵌入式芯片S3C2410为核心的最小嵌入式系统构建方法,给出了S3C2410的复位电路、调试接口、电源电路、存储器电路和串口电路等硬件组成。6实验周说明书图1.5 通信系统的组成框图3.3 电路设计3.3.1 电源设计S3C2410工作时内核需要1. 8 V电压,I/ O端口和外设需要3. 3 V电压. VDDi/VDDiarm引脚口是供S3C2410内核的1. 8 V电压;VDDalive引脚是功能复位和端口状态寄存器电压. M12引脚RTCVDD是RT
15、 C模块的1. 8 V电压,用电池供电保证系统的掉电后保持实时时钟.VDDOP引脚是I/ O端口3. 3V电压;V DDM OP引脚是存储器I/ O端口电压;还有一系列VSS引脚需要接到电源地上.3. 3 V电压从SV用A M S 1117- 3. 3转换;1.8V从3. 3 V通过MIC5207-1. 8转换得到。7实验周说明书图1.6 电源电路3.3.2晶振电路S3C2410内部有时钟管理模块,有2个锁相环,其中M PLL能够产生CPU卞频FCLK,AHB总线外设时钟HCLK和APB总线外设时钟PCLK; UPLL产生USB模块的时钟。OM3,OM2都接地时,主时钟源和U SB模块时钟源都
16、由外接晶振产生。在XTIpll和XTOpll之间连接主晶振,可以选择12 MHz品振,通过内部寄存器的设置产生不同频率的FOLK, H CLK和PCLK;在XT Irtc和XTOrtc上需要接32.768 kHz的晶振供RTC模块使用.同时在MPLLCAP和UPLLCAP上也要外接5pF的环路滤波电容。图 1.7 晶振电路8实验周说明书3.3.3 复位电路S3C2410的J12引脚为nRESET复位引脚,nRESET上给4个FOLK时间的低电平后就可以复位.可以设计如图5所小的复位电路,其中上电复位是靠RC电路特性完成,开关二极管1N4148在手动复位时对电容起快速放电的作用,因此可以把复位电
17、平快速拉到OV。反响门74H C 14可以起到延时作用,保证有足够的复位时间。图1.8 复位电路3.3.4 JTAG接口S3C2410有标准的JTAG接口,TCI(H6)为测试时钟输入;TDI(J1)为测试数据输入;TDO(JS)为测试数据输出;TMS(J3)为测试模式选择,TMS用来设置JTA G接日处于某种特定的测试式;nTRST ( H 5)为测试复位,输入引脚,低电平有效。其nTRST,TMS,TCK,TDI需要接10K的上拉电阻。通过,JTAG日可以完成芯片测试或在线编程。3.3.5 存储器设计S3C2410有32根数据线和27根地址线,因此地址线的寻址范围为128 M;但是S3C2
18、4109实验周说明书还有8根存储器芯片片选信号线nGCSO- nGCS7,因此总的寻址空间为128M * 8= 1G。Nand Flash启动模式下复位时S3C2410的存储器映射。如当访问物理地址Ox08000000- 0x10000000内的地址则nGCSl自动为低电平,以此类推。可知SDRAM只能连接在nGCS6和nGCS7片选引脚上。S3C2410提供了SDRAM的接口,其中包括nSRAS:行信号锁存;nSCAS:列信号锁存;nSCS(就是nGCS 6 ):片选信号;表 3DQM3:0:数据屏蔽 ; SCLI 1: 0;时钟;SCKE:时钟有效;nBE 3: 0:高/低字节有效;nWB
19、E 3:0:写有效。MT48LC16M16A2P是4块16位32M的SDRAM存储器。MT48LC16M16A2P的行地址13位为A 0-A 12,列地址9位为CAO- CA8,行和列地址是复用的。MT48LC16M16A2P包括4个块,通过BA0,BA1的组合选择块。MT48LC16M16A2P是16位存储器,因此数据线为 DQO-DQ15,还有CS片选,CLK时钟,CKE时钟使能,RAS行锁存,CAS列锁存,WE写使能等引脚.MT48LC16M16A2P和S3C2410的连接方法,其中BA0, BA1需要连接ADD24和 A DDR25,通过S3C2410的说明可知,因为内存总大小是64M
20、因此块选择信号必须使用A DDR24和ADDR25。S3C2410内部有NAND Flash控制器,支持从NADN Flash启动.K9F1208 64M Flash芯片和S3C2410的连接方式.S3C2410采用一组内部寄存器来完成NAND Flash的操作.10实验周说明书图 1.9 存储器连接电路3.3.6串口电路S3C2410的DART提供了二个同步串行IO日,COMO的连接方式。串口数据的收发有查询方式、中断方式和DMA方式等,这些可以在UCONO寄存器中设置。UTXH0把要发送的数据写入此寄存器。URXH0读此寄存器获得串日接收的数据。串日一般可以用程序运行信息的输出和程序调试。
21、图 1.10 串口连接电路11实验周说明书四 软件设计流程及描述串口在嵌入式系统中是一个重要的资源,常用来做输入输出设备,在后续的实验中也将使用串口的功能。串口的基本操作有三个:串口初始化、发送数据和接收数据,这些操作都是通过访问上节中描述的串口控制寄存器进行,下面将分别说明:1)串口初始化程序MMU_Init(); /初始化内存管理单元/设置系统时钟ChangeClockDivider(1,1); / 1:2:4ChangeMPllValue(0xa1,0x3,0x1); / FCLK=202.8MHzPort_Init(); /初始化I/O口Uart_Init(0,115200); /初始
22、化串口Uart_Select(0); /选择串口02)发送数据while(!(rUTRSTAT0&0x2); /等待发送缓冲空rUTXH0=data; /将数据写到数据端口3)接收数据while(rUTRSTAT0&0x1=0x0); /等待数据data=rURXH0; /读取数据(三)设计步骤硬件连接;2 新建工程UART.mcp,编辑并添加以下三类文件:1).s文件:2410init . s,2410slib . s;2).h文件:def. h,option.h,2410addr.h,2410lib.h,2410slib.h, mmu.h;3).c(C)文件:2410lib
23、.c,Main.C, mmu.c;* 文件说明:2410init.s初始化cpu、内存等状态,完成后跳转到C语言入口;2410swis.s软中断处理相关;2410slib.s库中内存管理等函数的调用;def.h宏定义;option.h定义时钟、地址、总线宽度等;2410addr.h寄存器地址状态定义;12实验周说明书2410lib.h , 2410lib.c(C语言)前者声明函数库变量,后者定义库中常用函数(如串口函数);2410slib.h , 2410slib.s(汇编语言) 前者声明函数库变量,后者定义库中常用函数(如内存管理等);mmu.h , mmu.c内存管理单元的声明和函数定义;
24、test.c , Main.c , *.c定义系统运行方式(*.c表示以工程名命名的c文件以及其他可能用到的c文件);*3修改工程设置,如图1.11、1.12所示:图1.1113实验周说明书图1.124.编译UART;5运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)6运行程序,在超级终端中输入的数据将回显到超级终端上。五 实验步骤1. 本实验使用实验教学系统的CPU板,串口。在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。2在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆。使用串口线连接PC
25、机串口1和实验箱CPU板的串口,使用直连线连接底板串口2和PC机上的串口2之间的电缆。3打开超级终端,配置串口的属性(如COM1),配置波特率为115200,校验位无,数据位为8,停止位为1,数据控制流为无;检查连接是否可靠,可靠后,接入电源线,系统上电,同时按住“空格”键,进入VIVI状态。4打开ADS1.2开发环境,从里面打开实验程序HARDWAREADS实验八uart.mcp项目文件,进行编译。5编译通过后,进入ADS1.2调试界面,加载实验程序HARDWAREADS实验八UART_DataDebug中的映象文件程序映像UART.axf。14实验周说明书6再打开一个超级终端1,进行设置(
26、115200,8位数据,1位停止位,无奇偶校验);7在ADS调试环境下,全速运行映象文件。激活超级终端0,敲键盘,观察超级终端0,超级终端1的内容显示!所敲键盘的字符应该在两个超级终端上显示出来。实验的原理就是把键盘敲击的字符通过PC机的串口发送给实验箱上的ARM的CPU板的串口0,ARM的CPU板上的串口得到字符后,通过ARM把它送给CPU板上的串口0输出给PC,以及通过底板上的串口1,送给PC机。这样,就完成了串口间的收发数据。六 源程序代码#include <string.h>#include <math.h>#include <stdarg.h>#i
27、nclude <stdlib.h>#include <stdio.h>#include <ctype.h>/*- 函数名称 : void MMU_Init(void)- 函数说明 : MMU的初始化- 输入参数 : 无- 输出参数 : 无*/void MMU_Init(void)int i,j;MMU_DisableDCache();MMU_DisableICache();/如果使用回写,则应该清除DCache。for(i=0;i<64;i+)for(j=0;j<8;j+)MMU_CleanInvalidateDCacheIndex(i<&
28、lt;26)|(j<<5);MMU_InvalidateICache();#if 0MMU_EnableICache();#endifMMU_DisableMMU();MMU_InvalidateTLB();MMU_SetMTT(0x00000000,0x07f00000,0x00000000,RW_CNB); / bank0MMU_SetMTT(0x08000000,0x0ff00000,0x08000000,RW_CNB); / bank1MMU_SetMTT(0x10000000,0x17f00000,0x10000000,RW_NCNB); / bank2MMU_SetMT
29、T(0x18000000,0x1ff00000,0x18000000,RW_NCNB); / bank3MMU_SetMTT(0x20000000,0x27f00000,0x20000000,RW_NCNB); / bank4MMU_SetMTT(0x28000000,0x2ff00000,0x28000000,RW_NCNB); / bank515实验周说明书MMU_SetMTT(0x30000000,0x30f00000,0x30000000,RW_CB); / bank6-1MMU_SetMTT(0x31000000,0x33e00000,0x31000000,RW_NCNB); / b
30、ank6-2MMU_SetMTT(0x33f00000,0x33f00000,0x33f00000,RW_CB); / bank6-3MMU_SetMTT(0x38000000,0x3ff00000,0x38000000,RW_NCNB); / bank7MMU_SetMTT(0x40000000,0x5af00000,0x40000000,RW_NCNB); / SFR+StepSram MMU_SetMTT(0x5b000000,0xfff00000,0x5b000000,RW_FAULT); / not usedMMU_SetTTBase(_MMUTT_STARTADDRESS);MMU
31、_SetDomain(0x55555550|DOMAIN1_ATTR|DOMAIN0_ATTR);MMU_SetProcessId(0x0);MMU_EnableAlignFault();MMU_EnableMMU();MMU_EnableICache();MMU_EnableDCache(); /DCache should be turned on after MMU is turned on. /*- 函数名称 : void ChangeRomCacheStatus(int attr)- 函数说明 : 改变cache内访问存储器的属性状态, attr = RW_CB,RW_CNB,RW_N
32、CNB,RW_FAULT- 输入参数 : int attr- 输出参数 : 无*/void ChangeRomCacheStatus(int attr)int i,j;MMU_DisableDCache();MMU_DisableICache();/如果使用回写,则应该清除DCache。for(i=0;i<64;i+)for(j=0;j<8;j+)MMU_CleanInvalidateDCacheIndex(i<<26)|(j<<5);MMU_InvalidateICache();MMU_DisableMMU();MMU_InvalidateTLB();MM
33、U_SetMTT(0x00000000,0x07f00000,0x00000000,attr); /bank0MMU_SetMTT(0x08000000,0x0ff00000,0x08000000,attr); /bank1MMU_EnableMMU();MMU_EnableICache();MMU_EnableDCache();/* - 函数名称 : void MMU_SetMTT(int vaddrStart,int vaddrEnd,int paddrStart,int attr)- 函数说明 : 设定转换表内虚拟,物理地址,访问属性16实验周说明书- 输入参数 : int vaddrS
34、tart,int vaddrEnd,int paddrStart,int attr- 输出参数 : 无*/ void MMU_SetMTT(int vaddrStart,int vaddrEnd,int paddrStart,int attr)U32 *pTT;int i,nSec;pTT = (U32 *)_MMUTT_STARTADDRESS+(vaddrStart>>20);nSec = (vaddrEnd>>20)-(vaddrStart>>20);for(i=0;i<=nSec;i+)*pTT+=attr |(paddrStart>&g
35、t;20)+i)<<20);/*- 程序段说明 : 以下函数为各异常模式服务子程序。设成死循环是为调试用,一旦发生此类异常,程序便跳入异常模式服务 子程序,终止程序运行。*/void HaltUndef(void)Uart_Printf("Undefined instruction exception.n");while(1);void HaltSwi(void)Uart_Printf("SWI exception.n");while(1);void HaltPabort(void)Uart_Printf("Pabort excep
36、tion.n");while(1);void HaltDabort(void)Uart_Printf("Dabort exception.n");while(1);/*- 程序段说明 : 以下函数均为初始化函数 */static int delayLoopCount = FCLK/10000/10;17实验周说明书void Delay(int time)/ time=0: adjust the Delay function by WatchDog timer./ time>0: the number of loop time/ resolution of t
37、ime is 100 i,adjust=0;if(time=0)time = 200;adjust = 1;delayLoopCount = 400;/PCLK/1M,Watch-dog disable,1/64,interrupt disable,reset disable rWTCON = (PCLK/1000000-1)<<8)|(2<<3);rWTDAT = 0xffff; /for first updaterWTCNT = 0xffff; /resolution=64us any PCLKrWTCON = (PCLK/1000000-1)<&
38、lt;8)|(2<<3)|(1<<5); /Watch-dog timer start for(;time>0;time-)for(i=0;i<delayLoopCount;i+);if(adjust=1)rWTCON = (PCLK/1000000-1)<<8)|(2<<3); /Watch-dog timer stopi = 0xffff - rWTCNT; /1count->64us, 200*400 cycle runtime = 64*i usdelayLoopCount = 8000000/(i*64); /200*400:64*i=1*x:100 -> x=80000*100/(64*i)/*- 函数名称 : Port_Init(void)- 函数说明 : 端口初始化- 输入参数 : 无- 输出参数 : 无*/void Port_Init(void)rGPACO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GH/T 1440-2023黑蒜
- 中考文言文复习资料大全课外文言文冲刺课件
- 不等式证明复习课课件
- 单位管理制度合并选集职员管理篇十篇
- 单位管理制度分享合集【职员管理篇】
- 《诗歌鉴赏表达技巧》课件
- 《企力管理咨询》课件
- 单位管理制度呈现大全【职员管理篇】
- 《转基因生物安全性》课件
- 4S店维修安全管理制度
- 人工开挖土方施工方案
- 佛山市顺德区2023-2024学年四上数学期末质量检测模拟试题含答案
- 昆明市公交集团车载视频监控平台升级方案20191025
- 一流课程申报
- 高中体育特长生名校报考路径分析课件
- 主要建筑材料碳排放因子查询表
- 建筑施工室内装饰设计施工图讲解
- 冠寓运营管理手册
- 耳部铜砭刮痧技术评分标准
- 玻璃幕墙施工方案幕墙
- 抗精神疾病药物与麻醉课件
评论
0/150
提交评论