《单片机原理及系统设计实用教程》课件ps2与液晶设计实例_第1页
《单片机原理及系统设计实用教程》课件ps2与液晶设计实例_第2页
《单片机原理及系统设计实用教程》课件ps2与液晶设计实例_第3页
《单片机原理及系统设计实用教程》课件ps2与液晶设计实例_第4页
《单片机原理及系统设计实用教程》课件ps2与液晶设计实例_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12.4PS2键盘与液晶显示实例 本节主要讲述PS/2键盘与S52单片机连接的方法,以及单片机与12232液晶之间的接口程序的编写。实现的功能是从PS/2中读入数据,并在液晶上面显示出来。12.4.1电路原理图 硬件电路图如图12.20所示图12.20电路原理图 采用最小系统,PS/2和LCD接口都通过插座连接,系统使用4MHZ的晶振。12.4.2程序设计 程序包括两部份,PS/2处理程序和LCD处理程序。PS/2处理程序设计如图9-15中电路所示。PS/2键盘与单片机连数据传送方式为PS/2向单片机发数据,单片机接收数据,从图9-2可以看出每经过11时钟周期单片机接收到一个字节的数据。PS/2键盘的时钟线与单片机的INT0引脚相连,在单片机的中断服务程序中负着进行数据处理,只接收11个时钟周期中的键码信息,而对起始、停止和校验位不处理。LCD处理程序设计LCD与单片机的连接关系如图9-15中电路所示。程序通过模拟LCD的读写时序完成对LCD的操作,LCD的时序如图9-14。LCD在开始显示之前需要对其进行初始化设置,12232的初始化步骤如下(参考程序中的disp.c中的init函数):控制器复位关闭显示关闭静态驱动,使用动态驱动方式(省电)设置显示首行的位置(STARTLINE)设置Duty(动态驱动占空比)计数器方向设置(ADC)关闭“读-写-修改”模式设置DDRAM地址计数器的位置打开显示通过以上步骤的操作后,LCD就能够正常显示了。整个程序采用模块设计,及相应的功能存放一个c文件中,建立多个c文件。工程上的应用为了便于维护和程序的扩展,大多采用模块化设计。模块化设计的特点是建立多个文件,各模块文件中定义各自的函数,并将被其他文件函数调用函数用头文件提出来并标注“extern”保留字,这样其他文件只要包含(include)该头文件就能够引用该头文件中定义的那些函数。该原理如图9-19所示图9-19多模块开发原理整个程序如下:12.4.3LCD显示程序disp.c#include<AT89X52.H>#include"char.h"#defineucharunsignedchar#defineuintunsignedint#defineDIP2_1#defineRWP2_0#defineE1P2_6#defineE2P2_7unsignedcharcodeenter[]={0x00,0x00,0x80,0xF8,0xF0,0x80,0x00,0x00,0x00,0x38,0x3F,0x3F,0x3F,0x3F,0x38,0x00};unsignedcharcodezero[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00};unsignedcharcodeone[]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00};unsignedcharcodetwo[]={0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00};unsignedcharcodethree[]={0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00};unsignedcharcodefour[]={0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00};unsignedcharcodefive[]={0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00};unsignedcharcodesix[]={0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00};unsignedcharcodeseven[]={0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00};unsignedcharcodeeight[]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};unsignedcharcodenine[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};unsignedcharcodeqing[]={0x40,0x42,0x4C,0xC4,0x00,0x22,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xAA,0x22,0x20,0x00, 0x00,0x00,0x00,0x7F,0x20,0x10,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00};/*"请",0*/unsignedcharcodecha[]={0x08,0x08,0x08,0xFF,0x88,0x48,0x92,0x92,0x52,0x12,0xFE,0x11,0x91,0x91,0x90,0x00, 0x02,0x42,0x81,0x7F,0x00,0x00,0x7F,0x24,0x24,0x20,0x3F,0x20,0x24,0x24,0x7F,0x00};/*"插",1*/unsignedcharcodeka[]={0x00,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x44,0x44,0x44,0x44,0x44,0x44,0x40,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x02,0x04,0x0C,0x38,0x10,0x00,0x00};/*"卡",2*/unsignedcharcodehao[]={0x40,0x40,0x40,0x5F,0xD1,0x51,0x51,0x51,0x51,0x51,0x51,0x5F,0x40,0x40,0x40,0x00, 0x00,0x00,0x00,0x02,0x07,0x02,0x02,0x22,0x42,0x82,0x42,0x3E,0x00,0x00,0x00,0x00};/*"号",0*/unsignedcharcodezhuang[]={0x00,0x42,0x2C,0x24,0x10,0xFF,0x04,0x64,0xA4,0x24,0x3F,0x24,0x24,0x24,0x04,0x00, 0x20,0x21,0x11,0x11,0xF9,0x45,0x23,0x03,0x05,0x09,0x11,0x29,0x45,0xC1,0x41,0x00};/*"装",0*/unsignedcharcodepiao[]={0x00,0x01,0x3D,0xA5,0xA5,0xA5,0xBF,0xA5,0xA5,0xBF,0xA5,0xA5,0xA5,0x3D,0x01,0x00, 0x04,0x44,0x24,0x14,0x04,0x44,0x84,0x7C,0x04,0x04,0x04,0x14,0x24,0x44,0x04,0x00};/*"票",1*/unsignedcharcodezhang[]={0x00,0xF8,0x08,0xFF,0x08,0xF8,0x80,0x80,0xFF,0xA0,0x90,0x98,0x8C,0x88,0x80,0x00, 0x00,0x07,0x00,0xFF,0x04,0x07,0x00,0x40,0xFF,0x40,0x23,0x0C,0x10,0x60,0x20,0x00};/*"帐",0*/unsignedcharcodeda[]={0x10,0x10,0x10,0xFF,0x90,0x50,0x14,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00, 0x02,0x42,0x81,0x7F,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00};/*"打",0*/unsignedcharcodeyin[]={0x00,0xFC,0x44,0x44,0x42,0x42,0x42,0x00,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00, 0x08,0x1F,0x08,0x04,0x04,0x02,0x00,0x00,0xFF,0x00,0x00,0x04,0x08,0x07,0x00,0x00};/*"印",1*/unsignedcharcodezhong[]={0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00, 0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00};/*"中",0*/unsignedcharcodewan[]={0x00,0x90,0x8C,0xA4,0xA4,0xA4,0xA5,0xA6,0xA4,0xA4,0xA4,0xA4,0x94,0x8C,0x04,0x00, 0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x70,0x00,0x00};/*"完",0*/unsignedcharcodebi[]={0x00,0x00,0xFF,0x88,0x48,0x28,0x08,0x80,0x7F,0x88,0x88,0x88,0x84,0x84,0xE0,0x00, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00};/*"毕",1*/unsignedcharcodeshu[]={0x44,0xF4,0x4F,0xE4,0x44,0x64,0x90,0x98,0x94,0x93,0x14,0x98,0x08,0xD0,0x10,0x00, 0x04,0x04,0x04,0xFF,0x02,0x02,0xFF,0x4A,0x8A,0x7F,0x00,0x3F,0x80,0xFF,0x00,0x00};/*"输",0*/unsignedcharcoderu[]={0x00,0x00,0x00,0x00,0x01,0x83,0x76,0x18,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00, 0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x00,0x00,0x00,0x03,0x04,0x18,0x30,0x10,0x00};/*"入",1*/unsignedcharcodemi[]={0x00,0x58,0x24,0x04,0xF4,0x04,0x8D,0xB6,0x44,0x34,0xCC,0x94,0x24,0xCC,0x04,0x00, 0x02,0x06,0x02,0x79,0x41,0x41,0x41,0x7D,0x41,0x41,0x41,0x40,0x78,0x00,0x00,0x00};/*"密",0*/unsignedcharcodema[]={0x02,0x82,0xE2,0x5E,0x42,0xC2,0x00,0x02,0xFA,0x82,0x82,0x82,0xFE,0x80,0x00,0x00, 0x01,0x00,0x7F,0x10,0x10,0x3F,0x00,0x04,0x04,0x04,0x44,0x84,0x40,0x3F,0x00,0x00};/*"码",1*/unsignedcharcodebian[]={0x20,0x30,0xAC,0x63,0x32,0x00,0xFC,0xA4,0xA5,0xA6,0xA4,0xA4,0xA4,0xBC,0x00,0x00, 0x10,0x11,0x09,0x49,0x21,0x1C,0x03,0x7F,0x04,0x3F,0x04,0x3F,0x44,0x7F,0x00,0x00};/*"编",0*/unsignedcharcodegai[]={0x00,0x04,0x24,0x24,0x25,0x26,0x24,0xFC,0x24,0x26,0x25,0x34,0x26,0x84,0x00,0x00, 0x41,0x41,0x7D,0x45,0x45,0x7D,0x45,0x45,0x45,0x7D,0x45,0x45,0x7D,0x41,0x41,0x00};/*"盖",1*/unsignedcharcodezang[]={0x10,0x10,0x12,0xD2,0x56,0x5A,0x52,0x53,0x52,0x5A,0x56,0xD2,0x12,0x12,0x10,0x00, 0x10,0x10,0x10,0x17,0x15,0x15,0x15,0xFD,0x15,0x15,0x15,0x17,0x10,0x10,0x10,0x00};/*"章",0*/unsignedcharcodexie[]={0x00,0x08,0x06,0x82,0xFA,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x9A,0x96,0x02,0x00, 0x00,0x04,0x04,0x04,0x05,0x04,0x04,0x04,0x04,0x04,0x46,0x84,0x60,0x1F,0x00,0x00};/*"写",0*/unsignedcharcodemaohao[]={0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00};/*":",0*/unsignedcharcodeshenglvhao[]={0x00,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*"…",0*/unsignedcharcodetanhao[]={0x00,0x00,0x70,0xF8,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00};/*"!",0*/voidDelay(uchari){ while((i--)!=0);}/******************************原型:voidDisplayon_m(uchari)*****功能:显示开关*****参数:i*****说明:0关显示,1开显示*****返回值:无*************************/voidDisplay_m(uchari){ RW=0; DI=0; P0=0xae+i; E1=1; Delay(5); E1=0; RW=1; DI=1;}voidLongDelay(uintm){ while(m) { Delay(200); m--; }}/******************************原型:voidDisplay_s(uchari)*****功能:显示开关*****参数:i*****说明:0关显示,1开显示*****返回值:无*************************/voidDisplay_s(uchari){ RW=0; DI=0; P0=0xae+i; E2=1; Delay(5); E2=0; RW=1; DI=1;}/******************************原型:voidStartLine_m(uchari)*****功能:设置显示的首行位置*****参数:i*****说明:1-31行*****返回值:无*************************/voidStartLine_m(uchari){ RW=0; DI=0; P0=0xc0+i; E1=1; Delay(5); E1=0; RW=1; DI=1;}/******************************原型:voidStartLine_s(uchari)*****功能:设置显示的首行位置*****参数:i*****说明:1-31行*****返回值:无*************************/voidStartLine_s(uchari){ RW=0; DI=0; P0=0xc0+i; E2=1; Delay(5); E2=0; RW=1; DI=1;}/******************************原型:voidSetPageAdd_m(uchari)*****功能:设置显示的首行位置*****参数:i*****说明:0-3页*****返回值:无*************************/voidSetPageAdd_m(uchari){ DI=0; RW=0; P0=0xb8+i; E1=1; Delay(5); E1=0; DI=1; RW=1;}/******************************原型:voidSetPageAdd_s(uchari)*****功能:设置显示的首行位置*****参数:i*****说明:0-3页*****返回值:无*************************/voidSetPageAdd_s(uchari){ DI=0; RW=0; P0=0xb8+i; E2=1; Delay(5); E2=0; DI=1; RW=1;}/******************************原型:SetY_m(uchari)*****功能:设置显示的列位置*****参数:i*****说明:0-79列*****返回值:无*************************/voidSetY_m(uchari){ DI=0; RW=0; P0=0x00+i; E1=1; Delay(5); E1=0; DI=1; RW=1;}/******************************原型:SetY_s(uchari)*****功能:设置显示的列位置*****参数:i*****说明:0-79列*****返回值:无*************************/voidSetY_s(uchari){ DI=0; RW=0; P0=0x00+i; E2=1; Delay(5); E2=0; DI=1; RW=1;}/******************************原型:voidWriteData_m(uchari)*****功能:写显示数据*****参数:i*****说明:*****返回值:无*************************/voidWriteData_m(uchari){ DI=1; RW=0; P0=i; E1=1; Delay(5); E1=0; E1=1; DI=1; RW=1;}/******************************原型:voidWriteData_s(uchari)*****功能:写显示数据*****参数:i*****说明:*****返回值:无*************************/voidWriteData_s(uchari){ DI=1; RW=0; P0=i; E2=1; Delay(5); E2=0; DI=1; RW=1;}/******************************原型:voidAdcSelect_m(void)*****功能:*****参数:i*****说明:*****返回值:无*************************/voidAdcSelect_m(uchari){ DI=0; RW=0; P0=0xa0+i; E1=1; Delay(5); E1=0; DI=1; RW=1;}/******************************原型:voidAdcSelect_s(void)*****功能:*****参数:i*****说明:*****返回值:无*************************/voidAdcSelect_s(uchari){ DI=0; RW=0; P0=0xa0+i; E2=1; E2=0; DI=1; RW=1;}/******************************原型:voidStaticDrv_m(uchari)*****功能:*****参数:i*****说明:0;1*****返回值:无*************************/voidStaticDrv_m(uchari){ DI=0; RW=0; P0=0xa4+i; E1=1; Delay(5); E1=0; DI=1; RW=1;}/******************************原型:voidStaticDrv_s(uchari)*****功能:*****参数:i*****说明:0;1*****返回值:无*************************/voidStaticDrv_s(uchari){ DI=0; RW=0; P0=0xa4+i; E2=1; Delay(5); E2=0; DI=1; RW=1;}/******************************原型:voidDutyRatio_m(uchari)*****功能:设置驱动比*****参数:i*****说明:0-16;1-32*****返回值:无*************************/voidDutyRatio_m(uchari){ DI=0; RW=0; P0=0xa8+i; E1=1; Delay(5); E1=0; DI=1; RW=1; }/******************************原型:voidDutyRatio_s(uchari)*****功能:设置驱动比*****参数:i*****说明:0-16;1-32*****返回值:无*************************/voidDutyRatio_s(uchari){ DI=0; RW=0; P0=0xa8+i; E2=1; Delay(5); E2=0; DI=1; RW=1;}/******************************原型:voidReset_m(void)*****功能:复位*****参数:*****说明:*****返回值:无*************************/voidReset_m(void){ DI=0; RW=0; P0=0xe2; E1=1; Delay(5); E1=0; DI=1; RW=1;}/******************************原型:voidReset_s(void)*****功能:复位*****参数:*****说明:*****返回值:无*************************/voidReset_s(void){ DI=0; RW=0; P0=0xe2; E2=1; Delay(5); E2=0; DI=1; RW=1; }voidRMW_m(void){ DI=0; RW=0; P0=0xee; E1=1; Delay(5); E1=0; DI=1; RW=1;}voidRMW_s(void){ DI=0; RW=0; P0=0xee; E2=1; Delay(5); E2=0; DI=1; RW=1;}/******************************原型:voidClr()*****功能:全屏清除*****参数:无*****说明:*****返回值:无*************************/voidClr(){ uchari; ucharj; for(i=0;i<=3;i++) { SetPageAdd_m(i); SetPageAdd_s(i); SetY_m(0); SetY_s(0); for(j=0;j<61;j++) { WriteData_m(0x00); WriteData_s(0x00); } }}/******************************原型:voidClr_onech(uchari,ucharj)*****功能:清除一个字符16×16*****参数:i,j,坐标位置*****说明:*****返回值:无*************************/voidClr_onech(uchari,ucharj){ ucharcnt; if(j<=52) { SetY_m(j); SetPageAdd_m(i); for(cnt=0;cnt<16;cnt++) { if(cnt==8) { SetPageAdd_m(i+1); SetY_m(j); } WriteData_m(0x00); } } elseif((j>=53)&&(j<=60)) { SetY_m(j); SetPageAdd_m(i); for(cnt=0;cnt<=(60-j);cnt++) { WriteData_m(0x00); } SetY_s(0); SetPageAdd_s(i); for(cnt=0;cnt<(j-53);cnt++) { WriteData_s(0x00); } SetY_m(j); SetPageAdd_m(i+1); for(cnt=0;cnt<=(60-j);cnt++) { WriteData_m(0x00); } SetY_s(0); SetPageAdd_s(i+1); for(cnt=0;cnt<(j-53);cnt++) { WriteData_s(0x00); } } else { SetY_s(j-61); SetPageAdd_s(i); for(cnt=0;cnt<16;cnt++) { if(cnt==8) { SetPageAdd_s(i+1); SetY_s(j-61); } WriteData_s(0x00); } } }/******************************原型:voidinit(void)*****功能:显示初始化*****参数:*****说明:*****返回值:无*************************/voidinit(void){ Reset_m(); Reset_s(); Display_m(0); Display_s(0); StaticDrv_m(0); StaticDrv_s(0); StartLine_m(0); StartLine_s(0); DutyRatio_m(1); DutyRatio_s(1); AdcSelect_m(0); AdcSelect_s(0); RMW_m(); RMW_s(); SetY_m(0); SetY_s(0); SetPageAdd_m(0); SetPageAdd_s(0); Display_m(1); Display_s(1); Clr();}/******************************原型:voiddisp_ch(uchari,ucharj,ucharcode*ch,uchara)*****功能:显示一个字符16*816*16*****参数:坐标位置,显示数组首地址,显示大小16or32*****说明:16为16×832为16×16*****返回值:无*************************/voiddisp_ch(uchari,ucharj,ucharcode*ch,uchara){ ucharcnt; if(j<(60-a/2)) { SetY_m(j); SetPageAdd_m(i); for(cnt=0;cnt<a;cnt++) { if(cnt==(a/2)) { SetPageAdd_m(i+1); SetY_m(j); } WriteData_m(*ch); ch++; } } elseif((j>=60-a/2)&(j<=60)) { SetY_m(j); SetPageAdd_m(i); for(cnt=0;cnt<=(60-j);cnt++) { WriteData_m(*ch); ch++; } SetY_s(0); SetPageAdd_s(i); for(cnt=0;cnt<(a/2+j-61);cnt++) { WriteData_s(*ch); ch++; } SetY_m(j); SetPageAdd_m(i+1); for(cnt=0;cnt<=(60-j);cnt++) { WriteData_m(*ch); ch++; } SetY_s(0); SetPageAdd_s(i+1); for(cnt=0;cnt<(a/2+j-61);cnt++) { WriteData_s(*ch); ch++; } } else { SetY_s(j-61); SetPageAdd_s(i); for(cnt=0;cnt<a;cnt++) { if(cnt==a/2) { SetPageAdd_s(i+1); SetY_s(j-61); } WriteData_s(*ch); ch++; } }}12.4.4PS/2解码程序ps2key.c#include<AT89X52.H>#include"ps2key.h"#include"disp.h"#include"scancodes.h"#include"char.h"/****************************************函数名:charDecode(ucharScanCode)***功能:返回解码后的值***参数:接收到的ps2键值***返回值:uchar**************************************/ucharDecode(ucharScanCode){ ucharTempCyc; uchari; if(!Key_UP) { switch(ScanCode) { case0xF0: Key_UP=1; break; default: for(TempCyc=0;(UnShifted[TempCyc][0]!=ScanCode)&&(TempCyc<59);TempCyc++);//查表显示 if(UnShifted[TempCyc][0]==ScanCode) { i=UnShifted[TempCyc][1]; } } } else { Key_UP=0; } returni;}12.4.5main主程序程序main.c#include<AT89X52.H>#include"disp.h"#include"char.h"#include"ps2key.h"staticunsignedcharcode_temp[20]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};voidKeyboard_out(void)interrupt2{ if((IntNum>0)&&(IntNum<9)) { KeyV=KeyV>>1; if(Key_Data)KeyV=KeyV|0x80; } IntNum++; while(!Key_CLK); if(IntNum>10) { IntNum=0; BF=1; EA=0; }}voidinput_char(uchar*id,ucharlength)reentrant{ uchari_temp; uchari; ucharj=0; ucharm,n; BF=0; EA=1; Clr(); while(*(id+length-1)!=60) { if(BF) { i_temp=Decode(KeyV); if((i_temp!=0)&&(i_temp!='.')) { if(j==length) { Clr(); j=0; m=0; n=0; }

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论