第9章-串行总线接口技术.课件.ppt

上传人(卖家):三亚风情 文档编号:2878397 上传时间:2022-06-07 格式:PPT 页数:137 大小:2.34MB
下载 相关 举报
第9章-串行总线接口技术.课件.ppt_第1页
第1页 / 共137页
第9章-串行总线接口技术.课件.ppt_第2页
第2页 / 共137页
第9章-串行总线接口技术.课件.ppt_第3页
第3页 / 共137页
第9章-串行总线接口技术.课件.ppt_第4页
第4页 / 共137页
第9章-串行总线接口技术.课件.ppt_第5页
第5页 / 共137页
点击查看更多>>
资源描述

1、12022-6-62022-6-622022-6-63 2022-6-642022-6-652022-6-662022-6-67 2022-6-682022-6-692022-6-6102022-6-6112022-6-612sbit DO = P12sbit CLK = P11sbit CS = P10bdata Unsigned char addata;sbit adin0 = addata 0; unsigned char TLC549 _ad(void) /*A/D转换程序*/ unsigned char i; Clk=0; CS=0; /*令CS为低选中TLC549*/ _nop_(

2、); 2022-6-613for(i=0;i8;i+) /*循环读取8位A/D转换结果*/ CLK =1; /*令CLK引脚为高,产生时钟*/ delay( ); /*延时*/ adin0 =DO; /*读取A/D转换后数据线的一位数据*/ addata = addata 1; /*左移一位,先读取为高位,后读为低位*/ CLK=0; /*令CLK恢复为0*/ _nop_( ); _nop_( ); return addata; /*返回A/D转换值*/void delay ( ) unsigned char i; for(i=0;i20;i+) 2022-6-614 2022-6-61520

3、22-6-6162022-6-617 2022-6-6182022-6-619 2022-6-6202022-6-621 2022-6-622设要转换的数据放在R7R6中,R7为高8位,R6低8位 DIN BIT P1.2 ;引脚定义 CS BIT P1.1 SCLK BIT P1.0 TLC5615_DA:CLR C;将R7R6中数据左移2位(16位数据的最低2位添00) RLC R6 RLC R7 CLR C RLC R6 RLC R7 SETB CS ;初始化片选信号为高 CLR SCLK ;初始化时钟为低 CLR DIN;D/A数据线置低 CLR CS;选中TLC5615,开始启动D/

4、A MOV R5,#16 ;将16位数据从DIN端移进内部的16位移位寄存器2022-6-623 LOOP: RLC R6;R7R6中数据左移一位,最高位进入CY RLC R7 MOV DIN,C;将数据送到DIN引脚 SETB SCLK ; 送时钟 NOPNOPNOPCLR SCLK;NOPNOPNOP DJNZ R5,LOOPSETB CS ;D/A片选拉高,10 位有效数据锁存到DAC寄存器,开始转换 RET 2022-6-624D/A转换C语言程序:sbit DA_clk=P10; /*引脚定义*/sbit DA_ cs=P11; sbit DA_in=P12; void delay_

5、s(unsigned char n) /*延时*/ unsigned char i; for(i=0;in;i+); void TLC5615_DA_conver(unsigned int DA_data) /* D/A转换程序*/ unsigned char i; DA_data = DA_data 2; /*将数据左移2位(最低2位添00) */ DA_cs=1; /*初始化片选信号为高*/ DA_clk=0; /*初始化时钟为低*/ DA_in=0; /*D/A数据线置低*/ DA_cs=0; /*选中TLC5615,开始启动D/A*/ for(i=0;i16;i+) /*将16位数据从

6、DIN端移进内部的16位移位寄存器*/2022-6-625 DA_data = DA_data 1; /*左移一位,最高位进入CY*/ DA_in=CY;/*将数据送到DIN引脚*/ DA_clk=1;delay_s(0 x02); /*送时钟*/ DA_clk=0;delay_s(0 x02); DA_cs=1; / *片选拉高,10 位数据锁存到DAC寄存器,开始转换*/ delay_s(0 x20); 2022-6-626 2022-6-6272022-6-628 2022-6-6292022-6-6302022-6-6312022-6-632 2022-6-6332022-6-634

7、( 2022-6-635 。 2022-6-636SCL BIT P1.1;汇编语言定义端口;汇编语言定义端口SDA BIT P1.0sbit SDA=P10; /C语言定义端口语言定义端口sbit SCL=P11; bit ack; /应答标志位,有应答为应答标志位,有应答为1,无应答为,无应答为0#define DELAY5US _nop_();_nop_();_nop_();_nop_();_nop_(); 2022-6-637汇编语言程序: START:SETB SDA;发送起始条件数据信号SETBSCL;发送起始条件的时钟信号NOPNOPNOPNOPCLR SDA;发送起始信号(SC

8、L为高,SDA发生由高到低)NOPNOPNOPNOPNOPCLRSCLRET 2022-6-638C语言程序:void start( ) SDA=1; /*将SDA、SCL置为1 */ SCL=1; DELAY5US; /*延时5us*/ SDA=0; /*SCL为高时,SDA由高变低*/ DELAY5US; SCL=0; /*SCL变低,准备发送或接收数据 */2022-6-639 汇编语言程序:STOP: CLR SDA ;发送停止条件的数据信号SETB SCL ;发送停止条件的时钟信号NOPNOPNOPNOPNOP SETB SDA ;发送I2C总线停止信号(SCL为高,SDA发生由低到

9、高) NOP NOP NOP NOPCLR SCLCLR SDARET2022-6-640C语言程序:void stop( ) SDA=0; /*将SDA清0, SCL置1 */ SCL=1; DELAY5US; SDA=1; /*当SCL为高电平时,SDA由低变高 */ DELAY5US; SCL=0; 2022-6-641汇编语言程序: MACK: CLR SDA ;发送应答信号MACKSETB SCLNOPNOPNOPNOPNOPCLR SCLSETB SDARET2022-6-642C语言程序:void ack(void) /*产生应答信号*/ SDA=0; /*SDA先清0,发应答信

10、号 */ SCL=1; /*SCL由低变高,产生一个时钟*/ DELAY5US; /*延时5us */ SCL=0; /*SCL变低,以便继续接收*/ SDA=1;2022-6-643汇编语言程序: NACK: SETB SDA ;发送应答信号NACKSETB SCLNOPNOPNOP NOPNOPCLR SCLCLR SDARET2022-6-644C语言程序:void nack(void) SDA=1; /*DA先置1,发非应答信号 */ SCL=1; /*SCL由低变高,产生一个时钟*/ DELAY5US; SCL=0; /*时钟线SCL恢复到低电平*/ SDA=0; 2022-6-64

11、5汇编语言程序(F0=1通信失败): CACK: SETB SDA ;发送应答信号CACKSETB SCLCLR F0MOV C,SDAJNC CENDSETB F0 CEND: CLR SCLRET2022-6-646C语言程序:void cack(void) SDA=1; /*SDA先置1,发非应答信号 */ SCL=1; /*SCL由低变高,产生一个时钟* DELAY5US; ack=0; if(SDA=1) ack=1; SCL=0; /*时钟线SCL恢复到低电平*/2022-6-647 汇编语言程序:;从A中取一个字节数据写向I2C总线WRITE_BYTE: MOV R7,#8;写8

12、位WRITE_LOOP: RLC A ;发送A中数据 MOV SDA,C SETB SCL NOP NOP NOP NOP NOP CLR SCL DJNZ R7,WRITE_LOOP RET2022-6-648C语言程序:/*将指针P指向的一个字节数据发送*/void SendByte(uchar *p) uchar n ,temp; temp =*p; for(n=0;n8;n+) /*一字节为8位,循环8次*/ if(temp &0 x80) SDA=1; /*将数据线SDA置1或清0*/ else SDA=0; NOP SCL=1; /*置SCL为高,通知从机开始接收数据*/ DELA

13、Y5US; SCL=0; /*SCL变低,准备发送下一位数据*/ temp = temp 1; /*准备下一位要发送的数据*/ 2022-6-649;从I2C总线接收一个字节 数据放在A中RDBYTE : MOV R7,#8;写8位RD_LOOP: SETB SDA SETB SCL NOP;延时5s NOP NOP NOP NOP NOP MOV C,SDA ;采样SDA线上的数据到cy MOV A,R2 ;R2为接收数据的缓冲寄存器RLC A ;将cy中的数据左移进A中MOV R2,A ;数据送回缓冲寄存器R2CLR SCLDJNZ R7,RD_LOOPRET2022-6-650C语言程序

14、:/*接收一个字节数据放在P指向单元*/uchar RcvByte (uchar *P ) uchar n,temp; for(n=0;n8;n+) /*一字节为8位,循环8次*/ SDA=1; /*置数据线SDA为高,进入接收方式*/ SCL=1; /*SCL由低变高,产生一个时钟*/ DELAY5US; temp= temp1; if(SDA=1) temp= temp0X01 ELSE temp= temp&0 xfe; SCL=0; /*时钟线SCL清0*/ *p= temp;2022-6-6512022-6-652WNBYTE:MOV A,R3; LCALL START LCALL

15、WRITE_BYTE LCALL CACK JB F0,WRBYTE MOV A,R2LCALL WRITE_BYTE LCALL CACKJB F0,WRBYTEWRDA: MOV A,R0LCALL WRITE_BYTE LCALL CACKJB F0,WRBYTEINC R0DJNZ R7,WRDALCALL STOPRET 2022-6-6532022-6-6542022-6-655汇编语言程序:;多字节读操作子程序RNBYTE;入口参数:R7写入的字节数,R0写入数据的首地址, R2从器件地址内部地址,R3从器件写地址,R4从器件读地址RNBYTE:LCALL STARTMOV A,

16、R3 ;取从器件写地址LCALL WRITE_BYTE;写从器件地址LCALL CACK ;检测应答信号JB F0,RNBYTE;无应答重新开始MOV A,R2 ;取从器件地址内部地址LCALL WRITE_BYTELCALL CACKJB F0,RNBYTELCALL START2022-6-656MOV A,R4 ;取从器件读地址LCALL WRITE_BYTELCALL CACKJB F0,RNBYTERDN:LCALL RDBYTE ;接收一个字节数据MOV R0,ADJNZ R7,ACKLCALL MNACK ;接收完发非应答信号LCALL STOPACK:LCALL MACK ;没

17、接收完发应答信号INC R0SJMP RDN2022-6-657C语言程序:/*多字节读操作子程序RNBYTE/*入口参数:n写入的字节数,s0读数据存放的首地址,s2从器件地址内部地址,s3从器件写地址,s4从器件读地址*/viod Rcvnbyte(uchar *s3,uchar *s4, uchar *s2, uchar *s0, uchar n) loop:start( ); /*发起始信号,启动总线*/ SendByte(s3); /*发送从器件地址*/ Cack( ); /*应答检测*/ if(ack) /*如果没能应答,重新开始 */ goto loop SendByte(s2)

18、; /*发送器件子地址*/ Cack( ); /*应答检测*/ if(ack) /*如果没能应答,重新开始 */ goto loop2022-6-658 start( ); /*再次发起始信号*/ SendByte(s4); /*sla+1表示进行读操作*/ cack( ); /*应答检测*/ if(ack) /*如果没能应答,重新开始 */ goto loop for(i=0;in-1;i+) /*对前n-1个字节发应答信号*/ RcvByte(s0); /*接收数据*/ ack( ); /*发送应答信号*/ s+; RcvByte(s0); /*接收最后一个字节*/ nack( ); /*

19、发送非应答信号*/ stop( ); /*发结束信号,结束本次数据传送*/ 2022-6-659 2022-6-6602022-6-661 2022-6-6622022-6-663 2022-6-6642022-6-6652022-6-6662022-6-667) 2022-6-668引脚序号引脚名称功能描述1SC/KR2数码管c段/键盘行信号22SD/KR3数码管d段/键盘行信号33DIG3/KC3数码管位选信号3/键盘列信号34DIG2/KC2数码管位选信号2/键盘列信号25DIG1/KC1数码管位选信号1/键盘列信号16DIG0/KC0数码管位选信号0/键盘列信号07SE/KR4数码管e

20、段/键盘行信号48SF/KR5数码管f段/键盘行信号59SG/KR6数码管g段/键盘行信号610DP/KR7数码管dp段/键盘行信号711GND接地12DIG6/KC6数码管位选信号6/键盘列信号62022-6-669引脚序号引脚名称功能描述13DIG7/KC7数码管位选信号7/键盘列信号714/INT键盘中断请求信号,低电平(下降沿)有效15/RST复位信号,低电平有效16Vcc电源,+3.35.5V17OSC1晶振输入信号18OSC2晶振输出信号19SCLI2C总线时钟信号20SDAI2C总线数据信号21DIG5/KC5数码管位选信号5/键盘列信号522DIG4/KC4数码管位选信号4/键

21、盘列信号423SA/KR0数码管a段/键盘行信号024SB/KR1数码管b段/键盘行信号12022-6-6702022-6-6712022-6-6722022-6-6732022-6-6742022-6-6752022-6-6762022-6-6772022-6-678 2022-6-679 2022-6-6802022-6-681d4d3d2d1d0(二进制)d4d3d2d1d0(十进制)显示结果0100109H9010100AHA010110BHb011000CHC01101ODHd01110OEHE01111OFHF1000010HG1000111HH2022-6-6821100119H

22、t2022-6-683d4d3d2d1d0(二进制)d4d3d2d1d0(十进制)显示结果110101AHU110111BHy111001CHc111011DHh111101EHT111111FH(无显示)2022-6-684 2022-6-685在8个数码管上从左到右显示”20100725”,参考程序清单如下:SDABIT P1.0SCL BIT P1.1WSLA EQU 070H;ZLG7290器件的写地址RSLA EQU 071H;ZLG7290器件的读地址 ORG0000H LJMP 0100H ORG0100H ;主程序START: MOV30H,#02H;变量缓冲区定义显示“201

23、00725”MOV31H,#00H;MOV32H,#01H;MOV33H,#00HMOV34H,#00H2022-6-686MOV35H,#07HMOV36H,#02HMOV37H,#05HMOVDPTR,#LEDSEG ;数据指针指向字型码表首地址CLRAMOVR7,#08HMOVR0,#40HMOVR1,#30HLOOP1: MOVA,R1 ;从变量缓冲区取出要形式的数字MOVCA,A+DPTR ;查表得字型码MOVR0,A ;将字型码存储到40H开始的单元中INCR1INCR0DJNZ R7,LOOP12022-6-687LOOP:MOVR7,#08HMOVR0,#40H ;字型码首地址

24、送R0MOVR2,#10H ;ZLG7290内部显示缓冲区首地址送R2MOVR3,#WSLA ;ZLG7290器件的写地址送R3LCALL WRNBYT ;调用显示子程序LCALL DELAYSJMP LOOP LEDSEG: DB 0FCH,60H,0DAH,0F2H,66H,0B8H,0BEH,0E4H ;0-F共阴字型码表 DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH DELAY: MOV R5,#00H ;延时子程序 DELAY1: MOV R6,#00H DJNZ R6,$ DJNZ R5,DELAY1 RET END2022-6-688上述调用的相关的

25、I2C子程序(WRNBYT,WRBYT,STOP,CACK,START)参见9.2.2节的内容。采用C语言编写的参考程序#include “reg51.h”#include “intrins.h”#define DEPLAY5US _nop_( ); _nop_( ); _nop_( ); _nop_( ); _nop_( ); sbit SDA=P10;sbit SCL=P11;#define WSLA0 0 x70#define RSLA0 0 x71#define uchar unsigned charvoid STA(void);void STOP(void);void CACK(vo

26、id);2022-6-689void Sendbyte (unsigned char *p);void Sendnbyte(uchar *s3,uchar *s2,uchar *s0,uchar n);void DELAY();void main() uchar n,i,m,*c,*y,*x,wsubsla=0 x10,WSLA=WSLA0; uchar a8=2,0,1,0,0,7,2,5; /*显示字符*/ uchar b8 ; /*存放显示字符对应的字型码*/ uchar zxm16=0 xfc,0 x60,0 xda,0 xf2,0 x60,0 xda,0 xf2,0 x66,0 xb

27、e,0 xe4, 0 xfe,0 xf6,0 xee,0 x3e,0 x9c,0 x7a, 0 x9e,0 x8e; /*0-F的字型码 */ for(i=0;i8;i+) m=ai; /*取当前显示字符*/ bi=zxmm /*查得显示字符的字型码 */2022-6-690while(1) x=&WSLA; /* 取ZLG7290器件的写地址*/ c=&wsubsla; /* 取ZLG7290器件的内部显示缓冲寄存器的地址*/ y=b; /*获得显示字符的字型码地址 */ n=8; Sendnbyte (x,c,y,n); /*调用写多字节的显示子程序*/ DELAY( ); void DE

28、LAY( ) unsigned char i,j; for(i=0;i100;i+) for(j=0;j100;j+); 2022-6-691上述程序调用的相关的I2C子程序(Sendbyte ( )、Sendnbyte( )、Stare( )、stop( )、ack( )、nack( )、cack( )参见9.2.2的内容。SDA BITP1.0SCLBITP1.1WSLAEQU070H ; ZLG7290器件的写地址RSLAEQU071H ; ZLG7290器件的读地址ORG 0000HLJMP0100HORG0003H ;中断入口LJMP INT_7290 ;键盘中断服务ORG 0100

29、H2022-6-692START:MOV SP,#60HSETB EA ;开INT0中断SETB EX0SETB IT0 ;触发极性为下降沿MOV30H,#0DH ; 变量缓冲区(存放显示字符在字型码表中的偏移地址)MOV31H,#10HMOV32H,#11HMOV 33H,#10HMOV34H,#02H MOV 35H,#13H; MOV36H,#13H;MOV37H,#13H; ;通过查表建立显示缓冲区(40H-47H)2022-6-693MOV DPTR,#LEDSEG ;开始对变量查表MOVR7,#8 ;写入数据个数MOVR0,#30H;源数据块首地址MOVR1,#40H ;当前字符字

30、形码表显示缓冲区LOOP1:MOVA,R0MOVC A,A+DPTR ;查表得对应的字形码MOV R1,A ;送显示缓冲区INCR1INCR0DJNZ R7,LOOP1;向7290B写入数据,以显示“data= XX ”,最后两位为键值的十进制显示2022-6-694LOOP: MOVR7,#8 MOV R2,#10H ;ZLG7290器件的内部显示缓冲寄存器的地址 MOV R3,#WSLA ; ZLG7290器件的写地址送R2 MOV R0,#40H ;当前字符字形码表显示缓冲区地址送R0 LCALL WRNBYT ;调显示子程序 LCALL DELAY ;使显示稳定 SJMP LOOPLE

31、DSEG:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4H ;0-7的字形码 DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH ;8-F的字形码 DB 0FAH,1EH,12H,00H;a,t,=和熄灭码CF:PUSH 02H ;将A中的数据拆分为两个四位16进制数并查表2022-6-695 PUSH DPH;PUSH DPLMOVDPTR,#LEDSEGMOVR2,AANLA,#0FHMOVCA,A+DPTRMOVR3,AMOVA,R2SWAPAANLA,#0FHMOVCA,A+DPTRMOV R4,APOPDPLPOPDPHPOP0

32、2HRET2022-6-696;中断服务程序INT_7290:(读取健值、拆分并转换成字型码更新46H和47H单元内容,以便刷新显示)INT_7290:NOP PUSH 00HPUSH 02HPUSH 03HPUSH 04HPUSH 07HPUSH ACCPUSH PSWMOVR0,#20H;状态数据区首址MOVR7,#04H;取状态数据个数MOVR2,#00H;内部数据首地址2022-6-697 MOVR3,#WSLA ;取器件地址(写) MOVR4,#RSLA ;取器件地址(读) LCALL RNBYTE ;读出7290的4个寄存器(地址为00H03H)数据存于20H-23H NOP MO

33、VA,21H ;取21H单元的键值 LCALL CF;拆分、查表 MOV47H,R3 ;送显示缓冲区(最低两位数码管的字型码在46H、47H中) MOV46H,R4 POP PSW POPACC POP07H POP04H 2022-6-698 POP 03H POP 02H POP 00H RETI DELAY: MOV R6,#00H DELAY 1:MOV R5,#00H DJNZ R5,$ DJNZ R6,DELAY1 RET END相关的I2C子程序(WRNBYT、RNBYTE、WRBYT、STOP、CACK、STA),参见9.2.2的内容。2022-6-699采用C语言编写的参考程

34、序#include “reg51.h”#include “intrins.h”#define DELAY5US _nop_();_nop()_;_nop_();_nop()_;_nop_();sbit SDA=P10;sbit SCL=P11;#define unsigned char uchar#define WSLA1 0 x70; /*7290器件地址*/#define RSLA1 0 x71;void start(void); /*函数声明*/void stop(void);void mack(void);2022-6-6100void nmack(void);void cack(vo

35、id);void Sendbyte (unsigned char *p);void Rcvbyte (unsigned char *p);void Sendnbyte (unsigned char *s3, unsigned char *s2, unsigned char *s0, unsigned char n);void Rcvnbyte (unsigned char *s3, unsigned char *s4, unsigned char *s2, unsigned char *s0,unsigned char n);uchar zxm8;uchar code b20=0 xfc,0

36、x60,0 xda,0 xf2,0 x66,0 xb6,0 xde,0 xe4,0 xfe,0 xf6,0 xee,0 x3e,0 x9c,0 x7a,0 x9e,0 x8e,0 xfa,0 x1e,0 x12,0 x00;/*0-F字型码,最后4个依次为a,t,=和熄灭的字型码*/2022-6-6101void DELAY();void main() uchar n,i,*c,*y,*x,wsubsa=0 x10,WSLA=WSLA1; uchar a8= 0 x0d,0 x10, 0 x11, 0 x10,0 x12,0 x13,0 x13,0 x13;/*变量缓冲区(存放显示字符在字型码

37、表中的偏移地址)*/ for(i=0;i4; i=i&0 x0f; zxm6=bi;2022-6-6103void DELAY() unsigned char i,j; for(i=0;i100;i+) for(j=0;j0;i-) /*循环写8位(先低位,后高位)*/ DQ=0; /*产生15us的负脉冲*/ delay(1); DQ=data&0 x01; /*将当前数据位送数据线*/ data=data1; /*将下一位数据移到最低位*/ delay(5); /*延时60us*/ DQ=1; /*数据线拉高,为写入下一位做准备*/ delay(1); 2022-6-61222022-6-

38、6123汇编语言程序:DQ BIT P1.0 DELAY15US:MOV R7,#07H DJNZ R7,$ RET DELAY60US:MOV R7,#1EH DJNZ R7,$ RET READ_BYTE:MOV R7,#08H ;读DS18B20的一个字节并放在累加器A中 SETB DQ NOP NOP2022-6-6124LOOP:CLR DQ NOPNOPNOPSETB DQCALLDELAY15USMOV C,DQ ;读取数据放入CYCALLDELAY60USRRC A ;读出的数据右移进累加器A中SETB DQCALL DELAY15USDJNZ R7,LOOPCALL DELA

39、Y60USRET2022-6-6125C语言程序:Sbit DQ=P10;unsigned char bdata datSbit dat7=dat7;void delay(unsigned int i) unsigned int j;for (j=i;j0;j-);2022-6-6126unsigned char rdbyte(void) unsigned char i; dat=0; /*读出数据初值为0*/ for(i=8;i0;i-) /*循环读8位(先低位,后高位)*/ DQ=0; /*产生1us的负脉冲*/ _nop_(); DQ=1;/*数据总线拉高,延时15us*/ delay(

40、1); dat7=DQ; /*读取数据*/ delay(4); /*延时60us */ dat=dat1; /*读出数据右移一位*/ DQ =1; /* 数据线拉高,为写入下一位做准备*/ _nop_(); return(dat);2022-6-61272022-6-61282022-6-61292022-6-61302022-6-61312022-6-6132温度值(温度值()输出二进制码输出二进制码十六进制表示十六进制表示+125+1250000 0111 1101 00000000 0111 1101 000007D0H07D0H+25.75+25.750000 0001 1001 11000000 0001 1001 1100019CH019CH2022-6-6133 2022-6-61342022-6-61352022-6-61362022-6-6137

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第9章-串行总线接口技术.课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|