




免费预览已结束,剩余68页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机驱动LCD1602程序设计(C语言)电子爱好者社区4M#vfm/EZ4y字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示: 字符型LCD的引脚定义HD44780内置了DDRAM、CGROM和CGRAM。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:也就是说想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的。在1602中我们用前16个就行了。第二行也一样用前16个地址。对应如下: DDRAM地址与显示位置的对应关系电子爱好者社区-l:t#Vu(T S文本文件中每一个字符都是用一个字节的代码记录的。一个汉字是用两个字节的代码记录。在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据。例如“A”字的字模: 01110 10001 10001 10001 11111 10001 10001 上图左边的数据就是字模数据,右边就是将左边数据用“”代表0,用“”代表1。看出是个“A”字了吗?在文本文件中“A”字的代码是41H,PC收到41H的代码后就去字模文件中将代表A字的这一组数据送到显卡去点亮屏幕上相应的点,你就看到“A”这个字了。 刚才说了想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码41H就行了,可41H这一个字节的代码如何才能让LCD模块在屏幕的阵点上显示“A”字呢?同样,在LCD模块上也固化了字模存储器,这就是CGROM和CGRAM。HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。下图说明了CGROM和CGRAM与字符的对应关系。电子爱好者社区5u C*M.a+gj/_+a6LI a 从上图可以看出,“A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。可见它的代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1A这样的方法。PC在编译时就把“A”先转为41H代码了。 字符代码0x000x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。后面我会详细说的。 0x200x7F为标准的ASCII码,0xA00xFF为日文字符和希腊文字符,其余字符码(0x100x1F及0x800x9F)没有定义。那么如何对DDRAM的内容和地址进行具体操作呢,下面先说说HD44780的指令集及其设置说明,请浏览该指令集,并找出对DDRAM的内容和地址进行操作的指令。共11条指令:1.清屏指令功能: 清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为0。2.光标归位指令 功能: 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为0; 保持DDRAM的内容不变。 3.进入模式设置指令功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的 情况如下所示:位名 设置I/D 0=写入新数据后光标左移 1=写入新数据后光标右移S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字符4.显示开关控制指令功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下: 位名 设置 D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0=光标闪烁 1=光标不闪烁5.设定显示屏或光标移动方向指令功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下: S/C R/L 设定情况 0 0 光标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 显示器上字符全部左移一格,但光标不动 1 1 显示器上字符全部右移一格,但光标不动6.功能设定指令功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为4位 1=数据总线为8位 N 0=显示1行 1=显示2行 F 0=57点阵/每字符 1=510点阵/每字符7.设定CGRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。8.设定DDRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。9.读取忙信号或AC地址指令功能: 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;当BF=0时,液晶显示器可以接收单片机送来的数据或指令; 读取地址计数器(AC)的内容。10.数据写入DDRAM或CGRAM指令一览功能: 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; 将使用者自己设计的图形存入CGRAM。11.从CGRAM或DDRAM读出数据的指令一览功能:读取DDRAM或CGRAM中的内容。基本操作时序:读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无显示操作的过程:电子爱好者社区Ta o首先确认显示的位置,即在第几行,第几个字符开始显示。也就是要显示的地址,如下表所示的显示地址。电子爱好者社区 A3AV4Q P电子爱好者社区+U*d3_vk/d Z;s -g6s)X u%Eg0电子爱好者社区gIXz3kgJ 第一行的显示地址是0x800x8F,第二行的显示地址是0xC00xCF。例如想要在第2行,第3个位置显示一个字符,那么地址码就是 0xC2。在编程过程中,通常编写一个函数确定在某行某个位置显示数据。函数需要 行参数(y),和 列参数(x)来确定显示位置。程序参考如下:v9r9Ish+L5k0/*设置显示位置*/3rigBZ0void LCD_set_xy( unsigned char x, unsigned char y )电子爱好者社区 q,vF|%U8A/?gZ6n Et3Q0unsigned char address;Z K/Bk;7l-0 if (0 = y) x |= 0x80; /当要显示第一行时地址码+0x80;电子爱好者社区siTizS,l else x |= 0xC0; /在第二行显示是地址码+0xC0;电子爱好者社区;| QE_2Q&I NPc Write_com(x); /发送地址码 0x80-0x8F 或者0xC00xCF7TS$ogC(f t+Z6d6O UbK0 1c/.JBD0其次设置要显示的内容,即上面提到的CGROM内的字符编码。如显示“A”,将编码41H写入到液晶屏显示即可。通常设置地址和显示内容用一个函数来完成。代码参考如下:电子爱好者社区B8UiW(-X5s/功能:按指定位置显示一个字符电子爱好者社区+kI5!x&q1Z/输入:列显示地址x(取值范围0-15) 行显示地址y(取值范围0-1), 指定字符电子爱好者社区,qZv0zqLKCJDvoid DisplayOneChar(unsigned char x, unsigned char y, unsigned char Data)21Q1.J;eZ0电子爱好者社区r&z#Q(J4jCfJ:D if (0 = y) x |= 0x80; /当要显示第一行时地址码+0x80;电子爱好者社区p;qoM9k.nj6H else x |= 0xC0; /在第二行显示是地址码+0xC0;Sm.w,*a0 Write_com(x); /发送地址码电子爱好者社区I*XP%xK Write_dat(Data); /发送要显示的字符编码电子爱好者社区MI)Y8s CTntn,h X Cu10T)y(f0显示字符“A”调用过程如下代码:pa,I!H6_WWgxP0DisplayOneChar(0,0,0x41);/功能:在第1行 第1个字符 显示一个大写字母AXTPf#Ok0在C语言操作时,还可以显示整个字符串。定义一个字符串显示函数,可以通过直接输入字符方式进行显示BlccL6xh Z0/功能:按指定位置显示一串字符电子爱好者社区- eaEpD/输入:列显示地址x(取值范围0-15) 行显示地址y(取值范围0-1), 指定字符串指针*p,要显示的字符个数count (取值范围1-16)o o;kMw0void DisplayListChar (unsigned char x,unsigned char y,unsigned char *p,unsigned char count)电子爱好者社区#Q1M4V b/CY2B V2;_0unsigned char i;电子爱好者社区9k4lq:h&Fm*W for(i=0;icount;i+)电子爱好者社区,fEaA 电子爱好者社区 |5u)yi(d:u1dkfT if (0 = y) x |= 0x80; /当要显示第一行时地址码+0x80;H(Fm96eq9 N0Mr#r0 else x |= 0xC0; /在第二行显示是地址码+0xC0;电子爱好者社区Ib4on D Write_com(x); /发送地址码/z:t RFu9-N0 Write_dat(*p); /发送要显示的字符编码#U (CIh0 x+;Q!rcs-Cy8P0 p+;J:o/_2DNW0 4Yq82W +W0J PA00调用方法如下:电子爱好者社区jnH9bu+_|kDisplayListChar(0,0,hello world,11); /液晶1602第一行显示电子爱好者社区i)K MTAqDisplayListChar(0,1,,12); /液晶1602第二行显示举个实例,就在LCD1602屏幕上第一行第一列显示个“A”字。/先定义接口# include /* P1-DB0DB7 P2.0-RS P2.1-RW P2.2-E*/# define LCD_DB P1 sbit LCD_RS=P20; sbit LCD_RW=P21; sbit LCD_E=P22;/*定义函数*/# define uchar unsigned char# define uint unsigned intvoid LCD_init(void);/初始化函数void LCD_write_command(uchar command);/写指令函数void LCD_write_data(uchar dat);/写数据函数void LCD_disp_char(uchar x,uchar y,uchar dat);/在某个屏幕位置上显示一个字符,X(0-16),y(1-2)/void LCD_check_busy(void);/检查忙函数。我没用到此函数,因为通过率极低。void delay_n40us(uint n);/延时函数/*/*初始化函数*void LCD_init(void)LCD_write_command(0x38);/设置8位格式,2行,5x7LCD_write_command(0x0c);/整体显示,关光标,不闪烁LCD_write_command(0x06);/设定输入方式,增量不移位LCD_write_command(0x01);/清除屏幕显示delay_n40us(100);/实践证明,用for循环200次就能可靠完成清屏指令。/*/*写指令函数*void LCD_write_command(uchar dat)LCD_DB=dat;LCD_RS=0;/指令LCD_RW=0;/写入LCD_E=1;/允许LCD_E=0;delay_n40us(1);/实践证明,我的LCD1602上,用for循环1次就能完成普通写指令。/*/*写数据函数*void LCD_write_data(uchar dat)LCD_DB=dat;LCD_RS=1;/数据LCD_RW=0;/写入LCD_E=1;/允许LCD_E=0;delay_n40us(1);/*/*显示一个字符函数*void LCD_disp_char(uchar x,uchar y,uchar dat)uchar address;if(y=1) address=0x80+x;else address=0xc0+x;LCD_write_command(address);LCD_write_data(dat);/*/*检查忙函数*void LCD_check_busy() /实践证明,在我的LCD1602上,检查忙指令通过率极低,以 /至于不能正常使用LCD。因此我没有再用检查忙函数。而使do /用了延时的方法,延时还是非常好用的。我试了一下,用 LCD_E=0; /for循环作延时,普通指令只要1次循就可完成。清屏指令 LCD_RS=0; /要用200次循环便能完成。 LCD_RW=1; LCD_DB=0xff; LCD_E=1; while(LCD_DB7=1);*/*延时函数*void delay_n40us(uint n) uint i; uchar j; for(i=n;i0;i-) for(j=0;j2;j+); /在这个延时循环函数中我只做了2次循环, /实践证明我的LCD1602上普通的指令只需1次循环就能可靠完成。/*/*主函数*void main(void) LCD_init(); LCD_disp_char(0,1,A); while(1);/*具体电路的制作是很简单的,就接了两个电阻,一个是10欧姆的背光限流电阻,另一个是2K的LCD极板电压调节电阻。这两个电阻的阻值怎么定呢?背光比较简单,它就相当于在后面接了几个发光二极管,任何时候你只要在15、16脚串上个100欧的电位器接上电源,调节电位器,觉得亮度合适。此时的阻值便可。LCD液晶极板驱动电压调节电阻的确定就稍微麻烦一点。在各数据线,控制线接好关通上电源的前提下在第3脚(VEE)和地之间接一个10K的电位器。调节电位器。当3脚电压高时为全亮,电压为0时为全暗(液晶全显示为黑块)。你用电位器把屏幕从全暗刚好调到变亮。这时便可调试程序。待屏幕能正确显示后再细调电位器,使对比度合适。这时的阻值便可确定,然后换成等值的固定电阻焊上便可。组装后: 具体电路图: 接口说明: 我们从CGROM表上可以看到,在表的最左边是一列可以允许用户自定义的CGRAM,从上往下看着是16个,实际只有8个字节可用。它的字符码是0000000000000111这8个地址,表的下面还有8个字节,但因为这个CGRAM的字符码规定02位为地址,3位无效,47全为零。因此CGRAM的字符码只有最后三位能用也就是8个字节了。等效为0000X111,X为无效位,最后三位为000111共8个。 如果我们要想显示这8个用户自定义的字符,操作方法和显示CGROM的一样,先设置DDRAM位置,再向DDRAM写入字符码,例如“A”就是41H。现在我们要显示CGRAM的第一个自定义字符,就向DDRAM写入00000000B(00H),如果要显示第8个就写入00000111(08H),简单吧! 现在我们来看怎么向这八个自定义字符写入字模。有个设置CGRAM地址的指令大家还记得吗?赶快再找出来看看。从这个指令可以看出指令数据的高2位已固定是01,只有后面的6位是地址数据,而这6位中的高3位就表示这八个自定义字符,最后的3位就是字模数据的八个地址了。例如第一个自定义字符的字模地址为0100000001000111八个地址。我们向这8个字节写入字模数据,让它能显示出“”地址:01000000数据:00010000 图示:0100000100000110 0100001000001001 0100001100001000 0100010000001000 0100010100001001 0100011000000110 0100011100000000 可以通过手动提取的方法。如下图所示,对应一个字符显示区域。每8个字节,组成一个点阵数组。!R%US5e W B(o Y9|(yn&B0 6|6V0J3kpawZ;_0 电子爱好者社区 S?$c.L#yC“日”的点阵数组即为 0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00 B$W+OHb4E;w 0电子爱好者社区ef-MgFh(wtg.ZD:ZN0“车”字取模数组为:0x00,0x0f,0x02,0x04,0x07,0x00,0x0f,0x00,电子爱好者社区Ri&?o5C 0x10,0x1e,0x00,0x10,0x1c,0x10,0x1e,0x10;q#XjX r&J%y0 COL AK c$x8V0 RH P4c!b8K%Vw4v0电子爱好者社区+IN/B1I#Ig7z2iP?00Y JM5Q6d6D R10 将生成的点阵数组保存到CGRAM存储器中,生成自定义字符。1602内部CGRAM用于自定义的字符点阵的存储,总共64字节。由上一步点阵提取可知,每一个字符由8个字节数据组成。所以64字节CGRAM存储器,能够存储8组自定义字符的点阵数组。按照CGRAM地址划分为 07为第一组,815为第二组,依次类推5663为第8组数据。把自定义字符的数组按8个字节一组存储到CGRAM中,程序代码参考如下。Sl/UW.?l7W0/功能:将自定义字符的编码数组 写入到CGRAM中.电子爱好者社区VM/_CnJk/输入:自定义字符的编码数组电子爱好者社区!;Dmx,Qnvoid Write_CGRAM(unsigned char *p)电子爱好者社区UiW)I5I*DVu H1Q E7|%I:jf&K/w0unsigned char i,j,kk;电子爱好者社区 8D r1ML B S;sunsigned char tmp=0x40; /操作CGRAM的命令码+Ud DgT;M0kk=0;电子爱好者社区fAE vdSj*Gfor(j=0;j8;j+) /64 字节存储空间,可以生成 8 个自定义字符点阵R#gO1KqY0电子爱好者社区X$?9M%i6a5fBG for(i=0;i8;i+) / 8 个字节生成 1 个字符点阵电子爱好者社区x Et;jL/g_5 jh*aQ,F y;Q5lU(GV?0 Write_com(tmp+i); /操作CGRAM的命令码+写入CGRAM地址.电子爱好者社区%q F)f,uwBM(s4 Yo Write_dat(pkk); /写入数据S. P)Y8BT;_?_i0 kk+;电子爱好者社区+I/m&YY AJ 电子爱好者社区o5DvwqnC2D tmp += 8;电子爱好者社区 T9Ht5A#S,Py:LC80 上一步中,自定义字符存储到CGRAM的任意一组以后,每一个组(8个字节)也有一个显示编码。按顺序依次为00H07H 。显示时,只要调用每一组的编码,即可以显示相应的字符。电子爱好者社区BeSk电子爱好者社区 E40l/M? 电子爱好者社区y7!Utp注:内部常用字符显示时,显示编码是从0x20开始的。0x000x0f是专门留给自定义字符显示的。0x000x07和0x080x0f内容是一样的。例如:调用0x01 位置和0x09位置,显示的内容是一样的。YP5sy1h4Nt0 直接按照单个字符的显示方式调用显示函数,就可以显示自定义字符了。代码参考如下:-Y A9G l02vK0 /在第1行,第7个位置显示自定义汉字 “年”电子爱好者社区 9D7wc!lUQ1q DisplayOneChar(6,0,0); /显示 年 /CGRAM 码 006I3N3H lL0说明:此时“年”的8个字节点阵数组 ,存储空间为CGRAM的 0007地址电子爱好者社区4uylsq*UG也就是CGRAM的第1组数据存储区域,编码为0。 如果存储在CGRAM的0815地址,那么编码就应该是 1了。 x S R$YM*N0很多资料中,都没有详细介绍过CGRAM和CGROM的区别和用法,在1602调试过程中经常会被搞混。这里总结一点小技巧,希望能给需要的人一点帮助。F?(R_7i0d(Q30以下是显示效果:电子爱好者社区1Oe0c qn3*AC电子爱好者社区 aI1pd#3 *p|m!O l电子爱好者社区0X2j*x9kZb#Q单个和两个点阵的汉字显示:电子爱好者社区dm ng4S电子爱好者社区4j6B5A*T0V$U :q!?X0 电子爱好者社区1Sh6_J:_lE%:y图形显示效果:电子爱好者社区Nu*cz下面一段程序让这8个自定义字符显示出一个心的图案:# include unsigned char table1=0x03,0x07,0x0f,0x1f,0x1f,0x1f,0x1f,0x1f, 0x18,0x1E,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f, 0x07,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f, 0x10,0x18,0x1c,0x1E,0x1E,0x1E,0x1E,0x1E, 0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00, 0x1f,0x1f,0x1f,0x1f,0x1f,0x0f,0x07,0x01, 0x1f,0x1f,0x1f,0x1f,0x1f,0x1c,0x18,0x00, 0x1c,0x18,0x10,0x00,0x00,0x00,0x00,0x00;/心图案unsigned char table=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00;/字符 #define CLEARSCREEN LCD_write_command(0x01)/*定义接口*/#define LCDIO P2sbit LCD1602_RS=P30;sbit LCD1602_RW=P31;sbit LCD1602_EN=P32;/*定义函数*/void LCD_write_command(unsigned char command);/写入指令函数void LCD_write_dat(unsigned char dat);/写入数据函数void LCD_set_xy( unsigned char x, unsigned char y );/设置显示位置函数void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat);/显示一个字符函数void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s);/显示字符串函数void LCD_init(void);/初始化函数void delay_nms(unsigned int n);/延时函数/*/*初始化函数*/void LCD_init(void) CLEARSCREEN;/clear screen LCD_write_command(0x38);/set 8 bit data transmission mode LCD_write_command(0x0c);/open display (enable lcd display)LCD_write_command(0x80);/set lcd first display address CLEARSCREEN;/clear screen/*/*写指令函数*/void LCD_write_command(unsigned char command) LCDIO=command; LCD1602_RS=0; LCD1602_RW=0; LCD1602_EN=0; LCD1602_EN=1; delay_nms(10);/*/*写数据函数*/void LCD_write_dat(unsigned char dat)LCDIO=dat;LCD1602_RS=1;LCD1602_RW=0;LCD1602_EN=0;delay_nms(1);LCD1602_EN=1;/*/*设置显示位置*/void LCD_set_xy( unsigned char x, unsigned char y )unsigned char address;if (y = 1) address = 0x80 + x;else address =0xc0+ x;LCD_write_command(address); /*/*显示一个字符*/void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat)LCD_set_xy( x, y ); LCD_write_dat(dat);/*/*显示字符串函数*/void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s) LCD_set_xy( X, Y ); while (*s) LCD_write_dat(*s); s +; /*/* 延时*/void delay_nms(unsigned int n) unsigned int i=0,j=0; for (i=n;i0;i-) for (j=0;j10;j+);/*/*主函数*/void main(void)unsigned char i,j,k,tmp;LCD_init();delay_nms(100);tmp=0x40;/设置CGRAM地址的格式字k=0;for(j=0;j8;j+) for(i=0;i8;i+) LCD_write_command(tmp+i); / 设置自定义字符的 CGRAM 地址 delay_nms(2); LCD_write_dat(table1k); / 向CGRAM写入自定义字符表的数据 k+; delay_nms(2); tmp=tmp+8; LCD_dsp_string(1,1,LCD TEST );/在第一行第一列显示“LCD TEST” LCD_dsp_string(1,2,SUCCESSFUL );/在第二行第一列显示“SUCCESSFUL” for (i=0;i4;i+) LCD_dsp_char( 12+i,1,i);/在第一行第12列位置显示心图案的上半部 delay_nms(1); for (i=4;i8;i+) LCD_dsp_char( 12+i-4,2,i);在第二行第12列位置显示心图案的下半部 delay_nms(1); while (1);/*/实际效果如图: LCD1602编程实例/* 标题: LCD1602 滚动显示 * 描述: LCD1602 滚动显示 * 显示方式: * 1、从左到右逐字显示,闪动二次,清屏。 * 2、再从右到左逐字显示,闪动二次,清屏。 * 3、周期性地重复上述显示方式。 * */#include #include typedef unsigned char BYTE;typedef bit BOOL; sbit LCD_RS = P20; sbit LCD_RW = P21;sbit LCD_EP = P22;BYTE code dis1 = WLCOME TO ;BYTE code dis2 = WWW.51C51.COM ;BYTE code dis3 = OT EMOCLW ;BYTE code dis4 = MOC.15C15.WWW ;char code SST5163 _at_ 0x003b;dela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷人教版八年级上册物理物态变化《熔化和凝固》章节训练试卷(含答案详解版)
- 考点攻克人教版八年级《力》同步练习试卷(含答案详解)
- 2025课标考试真题及答案历史
- 高一下政治考试题及答案
- 江苏省建筑企业a证考试真题及答案
- 大学《学前教育学》期末试卷及答案详解
- 麻醉精神药品管理制度及相关药品知识试题含答案
- 水体高级氧化工艺-洞察与解读
- 秒杀机制设计优化-洞察与解读
- 2025年事业单位招聘考试综合类职业能力倾向测验真题模拟试卷(法律)
- 人教版一年级上册数学期中试卷(共5套-可直接打印)
- CVD 碳化硅涂层产品技术要求
- 2024版以房抵债协议范本
- 马克思主义制度经济理论知到智慧树章节测试课后答案2024年秋上海财经大学
- 安全部经理竞聘汇报
- 【部编】人教版六年级上册道德与法治全册知识点总结梳理
- 社区居家养老服务设计方案范文
- JT-T-1180.2-2018交通运输企业安全生产标准化建设基本规范第2部分:道路旅客运输企业
- 中国省市县行政区划
- 光伏钻孔灌注桩安全技术交底
- 采购物品质量保证期限约定协议
评论
0/150
提交评论