




已阅读5页,还剩105页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LCD控制器概述,2. 键盘和鼠标接口,1,3,2,4,常用的两种LCD,LCD接口编程,控制流程,控制流程,TFT控制器操作 LCD控制器的寄存器 LCD接口电路,TFT控制器操作,由上图可看出,S3C2410中的LCD控制器由REGBANK、LCDCDMA、VIDPRCS、TIMEGEN和LPC3600组成。其中,REGBANK有17个可编程寄存器组和25646的调色板存储器,可用来设定LCD控制器;LCDCDMA是一个专用DMA,可自动从帧存储器传输视频数据到LCD控制器,通过这个特殊的DMA,视频数据可不经过CPU处理就在屏幕上显示;VIDPRCS可接收从LCDCDMA来的视频数据并将其修改到合适数据格式,然后经VD23:0送到LCD驱动器,如4/8单扫描或4双扫描显示模式;TIMEGEN则由可编程逻辑组成,可支持不同LCD驱动器接口时序和不同的速率,用于产生VFRAME、VLNE、VCLK、VM等信号。,通常的数据流如下:FIFO存储器通常位于LCDCDMA。当FIFO为空或部分为空时,LCDCDMA要求从基于突发传输模式的帧存储器中取出数据并存入要显示的图像数据,而这帧存储器是LCD控制器在RAM中开辟的一片缓冲区。当这个传输请求被存储器中的总线仲裁器接收后,系统存储器就给内部FIFO成功传输4个字。FIFO的总大小是28个字,其中,低位FIFOL是12个字,高位FIFOH是16个字。S3C2410有两个FIFO,可支持双扫描显示模式,但在单扫描模式下只使用一个FIFO(FIFOH)。,S3C2410可支持STN-LCD和TFT-LCD,这里只介绍对TFT-LCD的控制。TIMEGEN可产生LCD驱动器的控制信号(如VSYNC、HSYNC、VCLK、VDEN和LEND等),这些控制信号与REGBANK寄存器组中的LCDCON1/2/3/4/5寄存器的配置关系相当密切。基于LCD控制寄存器中的这些可编程配置,TIMEGEN便可产生可编程控制信号来支持不同类型的LCD驱动器。而VSYNC和HSYNC脉冲的产生则依赖与LCD-CON2/3寄存器的HOZVAL域和LINEVAL域的配置。HOZVAL和LINEVAL的值由LCD屏的尺寸决定: HOZVAL=水平显示尺寸-1 LINEVAL=垂直显示尺寸-1,VCLK信号的频率取决于LCDCON1寄存器中的CLKVAL域。VCLK(单位是Hz)和CLKVAL的关系如下(其中CLKVAL的最小值是0): VCLK=HCLK/(CLKVAL+1)2 一般情况下,帧频率就是VSYNC信号的频率,与LCDCON1和LCDCON2/3/4寄存器的VSYNC、VB2PD、VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL和CLKVAL都有关系。大多数LCD驱动器都需要与显示器相匹配的帧频率。,LCD控制器的寄存器,启动一个与S3C2410A连接的LCD的显示,需要正确的配置与S3C2410A LCD控制器的相关寄存器。需要配置的相关寄存器如下: (1)LCDCON1(LCD控制寄存器1) LCDCON1(LCD控制寄存器1)是一个可读写的寄存器,地址为0x4D 000000,复位后的初始值为0x0000 0000。位功能描述如下表:,LCDCON1位功能描述,LCDCON2(LCD控制寄存器2)是一个可读写的寄存器,地址为0x4D00 0004,复位后的初始值为0x0000 0000。位功能描述如下:,LCDCON2位功能描述,LCDCON3(LCD控制寄存器3)是一个可读写的寄存器,地址为0x4D00 0008,复位后的初始值为0x0000 0000。位功能描述如下表:,LCDCON3位功能描述,LCDCON4(LCD控制寄存器4)是一个可读写的寄存器,地址为0x4D00 000C,复位后的初始值为0x0000 0000。位功能描述如下表:,LCDCON5(LCD控制寄存器5)是一个可读写的寄存器,地址为0x4D00 0010,复位后的初始值为0x0000 0000。位功能描述如下表:,LCDCON5位功能描述,LCDSADDR1(STN型LCD/TFT型LCD帧缓冲起始地址寄存器1)是一个可读写的寄存器,地址为0x4D00 0014,复位后的初始值为0x0000 0000。位功能描述如下:,LCDSADDR1位功能描述,LCDSADDR2(STN型LCD/TFT型LCD帧缓冲起始地址寄存器2)是一个可读写的寄存器,地址为0x4D00 0018,复位后的初始值为0x0000 0000。位功能描述如下:,LCDSADDR2位功能描述,需要注意的是,用户可以在LCD控制器打开的状态下通过改变LCDBASEU和LCD-BASEL的值来滚动屏幕。但是,在帧结束时,用户不能根据LCDCON1寄存器中LINEGNT字段的值来改变LCDBASEU和LCDBASEL寄存器,因为LCD FIFO预取下一帧数据的操作先于改变帧数据。如果这时改变帧数据,预取的FIFO数据将无效,并且将出现显示错误。为了检查LINECNT,必须将中断屏蔽;否则如果在读LINECNT之后,刚好某个中断被执行,那么读取的LINECNT值可能是过期的。,LCDSADDR3(STN型LCD/TFT型LCD帧缓冲起始地址寄存器3)是一个可读写的寄存器,地址为0x4D00 00lC,复位后的初始值为0x0000 0000,用于设置虚拟屏地址。位功能描述如下:,LCDSADDR3位功能描述,RGB查找表寄存器包括REDLUT(红色查找表寄存器)、GREENLUT(绿色查找表寄存器)和BLUELUT(蓝色查找表寄存器)。在这3个寄存器中,可以分别设定使用的8种红色,8种绿色和4种蓝色。 REDLUT(STN型LCD红色查找表寄存器)是一个可读写的寄存器,地址为0x4D00 0020,复位后的初始值为0x0000 0000。REDLUT的位功能如下表 GREENLUT(STN型LCD绿色查找表寄存器)是一个可读写的寄存器,地址为0x4D00 0024,复位后的初始值为0x0000 0000。GREENLUT的位功能如下表 BLUELUT(STN型LCD蓝色查找表寄存器)是一个可读写的寄存器,地址为Ox4D00 0028,复位后的初始值为0x0000。BLUELUT的位功能如下表,REDLUT位功能描述,GREENLUT位功能描述,BLUELUT位功能描述,DITHMODE(STN型LCD抖动模式寄存器)是一个可读写的寄存器,地址为0x4D00 004C,复位后的初始值为0x0 0000,建议用户将其值设置为0x12210。在S3C2410A中,调节红色、绿色或蓝色的差异是通过时间抖动算法及帧率控制来实现的,因此需要设置抖动模式寄存器。位功能描述如下表:,DITHMODE位功能描述,TPAL(TFT型LCD临时调色板寄存器)是一个可读写的寄存器,地址为0x4D00 0050,复位后的初始值为0x0000 0000,寄存器的数据是下一帧的图象数据。位功能描述如下表:,TPAL位功能描述,LCD中断寄存器有LCDINTPND(LCD中断判断寄存器)、LCDSRCPND(LCD中断源判断寄存器)和LCDINTMSK (LCD中断屏蔽寄存器)。 LCDINTPND(LCD中断判断寄存器)是一个可读/写寄存器,地址为0X4D000054,复位后的初始值为0x0。LCDINTPND的位功能如下表。 LCDSRCPND(LCD中断源判断寄存器)是一个可读/写寄存器,地址为0X4D000058,复位后的初始值为0x0。LCDSRCPND的位功能如下表。 LCDINTMSK(LCD中断屏蔽寄存器)是一个可读/写寄存器,地址为0X4D00005C,复位后的初始值为0x3。LCDINTMSK的位功能如下表。,LCDPIND位功能描述,LCDSRCPND位功能描述,LCDINTMSK位功能描述,LPCSEL(LPC3600模式控制寄存器)是一个可读/写寄存器,地址是0X4D000060,初始化值是0x4。位功能描述如下表:,LPCSEL位功能描述,LCD接口电路,从CPU的LCD控制器出来的信号包括24根数据线和若干根控制线。对于256色LCD,只需要其中低8位数据线即可。这些信号线是经过74HC245隔离后接到LCD模块,接256色屏时也由74HC245芯片完成电平转换。8位LCD模块除了需要控制信号和数据信号外,还需要一个22V左右的工作电压和上千伏的背光电压。前者由MAX629升压后得到,后者由一个逆变器模块提供。另外,LCD信号线驱动芯片74HC245的电源是可选的,2410S可以安装5#的伪彩屏和8#的真彩屏。当使用5V电平的256色彩屏时,该芯片的电源使用5V;当使用3.3V的16位真彩屏时,选择3.3V。,LCD控制器概述,2. 键盘和鼠标接口,1,3,2,4,常用的两种LCD,LCD接口编程,控制流程,LCD接口编程,1、宏定义及屏幕数据缓冲区 #define LCDWIDTH 640 /*LCD的宽度*/ #define LCDHEIGHT 480 /*LCD的高度*/ unsigned short * pLCDBuffer=(unsigned short *)0x32000000 /*屏幕数据缓冲区*/,2、LCD控制器初始化函数 void LCD_init() unsigned int I; unsigned int LCDBASEU,LCDBASEL,LCDBANK; rGPCCON=0xAAAAAAAA; /*端口C为特殊功能,10*/ rGPCUP=0xFFFFFFFF; /*禁止所有引脚上拉*/ rLCDCON1=(0xC1)|(0x35)|(18); /*rLCDCON1控制寄存器中的4:1为BPPMODE用来设置显示器的模式,这里使用的是16bpp的TFT,故其值为1100;6:5位为PNRMODE,用来设置显示模式,这里使用TFT类的LCD控制,故其值为11;17:8位为CLKVAL,用来决定VCLK与CLKVAL的速率*/,rLCDCON2=(0x2024)|(47914)|(0x96)|0x1; /*rLCDCON2的31:24位为VBPD,用来设置TFT的帧课时范围前肩;23:14位为LINEVAL,用来设置垂直显示的尺寸(要减1);13:6位为VFPD,用来设置帧可视范围后肩;5:0位为VSPW,用来设置场同步脉冲宽度,这里设置为1*/ rLCDCON3=(4719)|(6398)|15; /*rLCDCON3的25:19位为HBPD,用来设置TFT的行可视范围前肩;18:8位为HOZVAL,用来设置水平显示的尺寸(要减1);7:0位为HFPD(TFT),用来设置帧可视范围后肩*/,rLCDCON4=95|(138); /*rLCDCON4控制寄存器的7:0位为HSPW/WLH位,在TFT-LCD中用来确定HSYNC水平同步脉冲宽度;15:8为MVAL,这里设置为0*/ rLCDCON5=(111)|(19)|(18)|(13)|1; /*11位为FRM565,用来确定TFT-LCD的16bpp输出视频数据格式,这里设置为1表示使用5:6:5格式;10位为INVVCLK,用来设置VCLK信号的有效边沿,设置为1表示视频数据在VCLK信号的上升沿读取;9位为INVVLINE,用来设置VLINE/HSYNC脉冲的极性,设置为1表示反向;8位为INVVFRAME,用来设置VFRAME/VSYNC脉冲的极性,设置为0表示正常;5位为INVPWREN,用来设置LCD_PWREN信号的极性,设置为1表示反向;,0位为HWSWP位,用来设置半字交换使能,设置为1表示使能。 LCDBANK=0X320000022; /*设置帧缓冲区*/ LCDBASEU=0X0; LCDBASEL=LCDBASEU+(480)*640; rLCDSADDR1=(LCDBANK21)|LCDBASEU;/*TFT帧缓冲区开始地址1*/ rLCDSADDR2=LCDBASEL;/*TFT帧缓冲区开始地址2*/ rLCDSADDR3=(640)|(011);/*TFT帧缓冲区开始地址3*/,rLCDINTMSK=(11)|1;/*屏蔽LCD帧同步中断,屏蔽LCD的FIFO中断*/ rLPCSEL=0;/*不使用LPC3600*/ rTPAL=(024);/*不使用临时调色板*/ for(i=0;iLCDWIDTH*LCDHEIGHT;i+) *(pLCDBuffer+i)=0x0; /*pLCDBuffer也就是TFT缓冲区*/ rLCDCON1+=1; /*使能视频输出*/ ,3、测试函数 /*变换RGB*/ unsigned short Transform(unsigned int RGB) unsigned char *pbuf=(unsigned char *) ,Void Example (void) int j=0,i=0,k=0; unsigned int color; LCD_init(); for(i=0;i8;i+) switch(i) case 0:color=0x00000000; /*RGB均为0黑色*/ break; case 1:color=0x000000F8; /*R红色*/ break; case 2:color=0x0000F0F8; /*R and G橙色*/,break; case 3:color=0x0000FCF8; /*R and G黄*/ break; case 4: color=0x0000FC00; /*G绿色*/ break; case 5:color=0x00F8FC00;/*G B青色*/ break; case 6:color=0x00F80000;/*B蓝色*/ break; case 7:color=0x00F800F8;/*R and B 紫色*/ break;, for(j=0;jLCDHEIGHT/8;j+) /*把相应的RGB数据填充到LCD的缓冲区里面*/ for(k=0;kLCDWIDTH;k+) *(pLCDBuffer+(i*LCDWIDTH*LCDHEIGHT/8)+(j*LCDWIDTH)+k)=Transform(color); while(1); ,LCD控制器概述,6. 键盘和鼠标接口,1,3,2,4,常用两种LCD,LCD接口编程,控制流程,常用的两种LCD,LCD1602 12864,LCD1602,1602简介 程序实例,程序实例,#include #include #define uchar unsigned char #define uint unsigned int #pragma data:code const uchar table=“I LIKE AVR !“;/加引号意在把字符转化为ASCII码 const uchar table1=“WWW.TXMCU.COM“;,void delay(uint ms) uint i,j; for(i=0;ims;i+) for(j=0;j1141;j+); void write_com(uchar com)/根据写指令操作时序来写 PORTD/E端变为低, ,void write_dat(uchar dat)/根据写数据操作时序来写 PORTD|=BIT(4); PORTD ,void main() uchar i; DDRB=0XFF; DDRD|=BIT(4)|BIT(5)|BIT(6);/根据管脚来写,分别为输出 PORTD,for(i=0;i12;i+) write_dat(tablei); delay(5); write_com(0X80+0X50);/设置第二行显示位置 delay(5); for(i=0;i13;i+) write_dat(table1i); delay(5); for(i=0;i16;i+) write_com(0X18);/设置滚动,在1602英文资料中 delay(500); ,LCD12864,12864简介 程序实例,程序实例,#include #include #define uchar unsigned char #define uint unsigned int void delay(uint ms);/延时函数 void write_com(uchar com);/写入指令 void write_dat(uchar dat);/写入数据 void lcd_init(void);/初始化 void set_xy(uchar xpos,uchar ypos);/设定显示位置 void print(uchar x,uchar y,uchar *str);/在指定位置显示 void clr_lcd(void);/清屏,void delay(uint ms) uint i,j; for(i=0;ims;i+) for(j=0;j1141;j+); /* 写指令 */ void write_com(uchar com) PORTA/使能端置低 ,/* 写数据 */ void write_dat(uchar dat) PORTA|=BIT(6);/RS高电平写数据 PORTC/使能端置低; ,/* 初始化 */ void lcd_init(void) DDRB=0XFF; /输出 DDRA|=BIT(5)|BIT(6)|BIT(7);/PA5,PA6,PA7设为输出 DDRC|=BIT(7);/PC7设为输出; PORTA|=BIT(7);/通讯方式为并口 write_com(0x30);/设置显示初始行为开端; delay(5); write_com(0x0c);/开显示,游标管,反白关 delay(5); write_com(0x01);/清屏 delay(5); write_com(0x06);/写入时,游标右移 delay(5); write_com(0x80);/写入第一行 ,/* 设定显示位置 xpos(116),ypos(14) */ void set_xy(uchar xpos,uchar ypos) switch(ypos) case 1: write_com(0x80|xpos);break; case 2: write_com(0x90|xpos);break; case 3: write_com(0x88|xpos);break; case 4: write_com(0x98|xpos);break; default:break; ,/* 在指定位置显示字符串 */ void print(uchar x,uchar y, uchar *str) uchar lcd_temp; set_xy(x,y); lcd_temp=*str; while(lcd_temp!=0x00) write_dat(lcd_temp); lcd_temp=*(+str); ,* 清屏 */ void clr_lcd(void) write_com(0x01); void main() lcd_init();/初始化 /print(1,1,“直流多功能测试仪“); print(4,2,“Wellcome!“); print(5,3,“Zengjie“); ,I2S总线概述,7、音频接口,1,3,2,基于I2S的软件设计,基于I2S接口的硬件设计,I2S总线概述,I2S总线 音频序列接口格式,I2S总线,目前,越来越多的消费电子产品引入了数字音频系统。这些电子产品中数字化的声音信号由一系列的超大规模集成电路处理,常用的数字声音处理需要的集成电路包括A/D和D/A转换器、数字信号处理器、数字滤波器和数字音频输入输出口等。 数字音频涉及概念很多,重要的是理解:采样和量化。采样就是每隔一定时间读一次声音信号的幅度,而量化则是将采样得到的声音信号幅度转换为数字值。从本质上讲,采样是时间上的数字化,而量化则是幅度上的数字化。 根据奈奎斯特(Nyquist)采样理论采样频率应高于输入信号的最高频率两倍。为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,要达到DVD的音质需要采用更高的采样频率。,量化是对模拟音频信号的幅度数字化,量化位数决定模拟信号数字化以后的动态范围,常用的有8位、12位和16位。量化位越高,信号的动态范围越大,数字化后的音频信号就越接近原始信号,但所需要的存储空间也越大。 声道有单声道、双声道和多声道。双声道又称立体声,在硬件中有两条线路,音质和音色都优于单声道,但数字化后占据的存储空间的大小要比单声道多一倍。多声道能提供更好的听觉感受,不过占用的存储空间也更大。 数字音频系统需要多种集成电路,所以为这些电路提供一个标准的通信协议非常重要。IIS总线是NXP提出的音频协议,全称是数字音频集成电路通信总线(Inter-IC Sound Bus),是一种串行的数字音频总线协议。 S3C2410中的I2S总线接口模块如下图所示:,BRFC是总线接口、内部寄存器及状态机的功能模块,总线接口逻辑和FIFO存取均由此控制; IPSR是两个5位的预分频器,其中,一个用于I2S总线接口的控制器时钟的产生。另一个用于外部编解码时钟的产生。 16字节的FIFO(TxFIFO、RxFIFO):在发送数据的传输过程中,数据被写入TxFIFO,在接收数据的传输过程中,数据从RxFIFO被读出; 主IISCLK发生器SCLKG是控制I2S数据传输的时钟信号产生器,数据传输的速率由该时钟信号确定。 CHNC模块是信道发生器及其状态机,SCLK信号和LRCK信号由此产生,并由信道状态机控制。,SFTR是16位的并/串转换和串/并转换寄存器,在发送时完成并行数据转换为串行数据输出,在接收时完成串行数据转换为并行数据输入。 控制器的时钟频率信号PCLK是通过抽样频率选取的,PCLK是由I2S的预分频器系列数决定的。,I2S数据传输由查询方式和DMA方式,在查询方式下,I2S总线接口的控制寄存器中由FIFO准备好标志位,该位用于数据的发送和接收。当FIFO准备好要传输的数据且传送FIFO不为空时,则FIFO准备好标志位设为1.如果传送FIFO为空,则FIFO准备好标志位设为0。当接收FIFO不满时,接收FIFO准备好标志位设为1,表示FIFO可以接收数据。否则,该位设为0,表示满。 在DMA方式下写入FIFO或读取FIFO都是通过DMA控制器完成。,音频序列接口格式,I2S总线由4种信号,包括串行音频数据输入IISDI、串行音频数据输出IISDO、左右信道选择LRCK、串行时钟SCLK。,串行数据传输 串行数据传输(SD)由时钟信号同步控制,且串行数据线上每次传输一个字节的数据。当音频数据被数字化成二进制流后,传输时先将数据分成字节,每个字节的数据传输从左边的二进制位(MSB)开始。 字段选择 音频一般由左声道和右声道组成,使用字段选择(LRCK)就是用来选择左右声道,LRCK=1,表示选择左声道;LRCK=0,表示选择右声道。如果不在外部加以控制的话,LRCK会在MSB传输前的一个时钟周期发生变化,这有助于数据接收方和发送方保持同步。此外,LRCK能让接收设备存储前一个字节,并且准备接收下一个字节。,时钟信号 I2S总线中,任何一个能够产生时钟信号(SCLK)的集成电路都可以称为主设备,从设备从外部时钟的输入得到时钟信号。,I2S控制寄存器,IISCON:I2S控制器,用来设定I2S总线的工作方式,其地址为0x55000000,复位后初始值为0x100。 IISMOD:I2S模式寄存器,用来设定I2S的主从模式等参数,其地址为0x5500004,复位后初始值为0x00; IISPSR:I2S总线的分频系数寄存器,用来设定预分频器系数的值,其地址为0x55000008,复位后的初始值为0x000; IISFCON:I2S总线FIFO的寄存器,用来设定FIFO的传输模式,其地址为0x5500000C,复位后的初始值为0x0000; IISFIFO:I2S总线FIFO的寄存器,用于I2S发送/接收数据的访问,其地址为0X55000010,复位后的初始值为0x0000。I2S总线接口中包含2个64字节的FIFO缓冲器,用于发送和接收模式。每个FIFO缓冲器中的单元是16位的,因此共有32个单元。IISFIFO寄存器是可读写的。,IISCON位功能,IISMOD位功能,IISPSR位功能,IISFCON位功能,IISFIFO位功能,I2S总线概述,7、音频接口,1,3,2,基于I2S的软件设计,基于I2S接口的硬件设计,基于I2S接口的硬件设计,S3C2410芯片中有两条串行数据线,一条是输入信号数据线,一条是输出信号线,可以同时发送和接收模式。三星的I2S接口有3种工作模式: 1)正常传输模式 正常模式下,使用IISCON寄存器对FIFO进行控制。如果传输FIFO缓存为空,IISCON的第7位设置为“0”,表示不能继续传输数据,需要CPU对缓存进行处理。如果传输FIFO缓存非空,IISCON的第7位设置为“1”,表示可以继续传输数据。同样,数据接收时,如果FIFO满,标识位为“0”,此时需要CPU对FIFO进行处理;如果FIFO没有满,那么标识位是“1”,这个时候可以继续接收数据。,DMA模式 通过设置IISFCON寄存器可以使I2S接口工作在这种模式下。在这种模式下,FIFO寄存器组的控制权掌握在DMA控制器上,当FIFO满时,由DMA控制器对FIFO中的数据进行处理。DMA模式的选择由IISCON寄存器的第4和第5位控制。 传输/接收模式 在这种模式下,I2S数据线可以同时接收和发送音频数据。,I2S总线概述,7、音频接口,1,3,2,基于I2S的软件设计,基于I2S接口的硬件设计,基于I2S接口的软件设计,UDA1314和三星的ARM处理器之间通过I2S总线进行数据交换。在ARM处理器端,使用DMA模式接收数据。三星的ARM处理器有4个DMA通道,I2S总线复用其中的两个DMA通道,用于全双工数据交换。与I2S交互的数据经过I2S控制器写入FIFO寄存器组,将FIFO填充满以后,通过DMA控制器一次性写入预先分配的内存缓存区中。 应用程序第一次使用音频设备并向设备里面传输数值的时候,驱动程序必须完成下面任务:,1)通过程序控制音频设备并且为设备设置好工作参数(包括速度、声道、采样宽度),同时设置好对应的传输总线I2S 2)根据采样参数计算出缓冲段的大小(程序也可以指定缓存区的大小),分配对应的DMA空间供设备使用。 3)向缓存区填入应用程序生成的数据 4)如果第一个缓存区填充完毕,音频设备就开始播放填入数据;对于播放要求比较高的应用,可以等两个或者更多的缓存区段被填充满以后再开始播放。 5)应用程序继续填充缓存区。如果所有的缓存区都被使用,那么应用程序将转入挂起状态,直到第一个缓存区内的数据播放完毕,音频设备发出一个中断,通知应用程序继续向缓存区输入数据。,应用程序从设备里面读取数据的操作和向设备里面写数据的操作是类似的,具体过程如下: 1)通过程序控制音频设备,并且为设备设置好工作参数; 2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装饰装修工程施工顺序安排方案
- 铅锌矿洗选建设项目技术方案
- 高效热力设备节能改造方案
- 装修墙吊顶施工方案
- 颍东区加固施工方案
- 全心守候校园安全教育
- 支部书记考试题目及答案
- 政治考试题库及答案
- 郑州工务考试题库及答案
- 雨污管网及设施改造项目技术方案
- 2025年四川省凉山州中考生物试卷真题(含答案解析)
- 产前外周血炎症指标与绒毛膜羊膜炎相关自发性早产的关联性研究
- 仓库货物运送管理制度
- 《思想道德与法治》课件-第一节 人生观是对人生的总的看法
- 颈深间隙感染诊疗与管理
- 安徽科技馆笔试题目及答案
- 厂房分割租赁协议书
- 会计中级职称《财务管理》电子书
- 足球教练员的职业素养与道德规范
- 产地证培训讲义
- 《南京理工大学化工》课件
评论
0/150
提交评论