第七章单片机外围电路_第1页
第七章单片机外围电路_第2页
第七章单片机外围电路_第3页
第七章单片机外围电路_第4页
第七章单片机外围电路_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章单片机的典型外围接口技术 键盘 显示器 ADC DAC7.1 键盘接口技术 键盘是十分重要的人机对话的组成部分,是人键盘是十分重要的人机对话的组成部分,是人向机器发出指令、输入信息的必需设备。向机器发出指令、输入信息的必需设备。1、键的特性 键盘是由若干独立的键组成,键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程 。按下抖动释放抖动理想波形实际波形稳定闭合5V5VAB无抖动有抖动(a) 键闭合和断开时的电压抖动键闭合和断开时的电压抖动 (b)双稳态去抖动电路)双稳态去抖动电路 按键的抖动和消除电路按键的抖动和消除电路7.1 键盘

2、接口技术硬件去抖动硬件去抖动 RS触发器触发器 并联电容法并联电容法 软件去抖动软件去抖动 采用软件去抖动的方法是在单片机检测到有键按下时执行一个1020ms的延时程序后再次检查该键电平是否仍保持闭合状态 如保持闭合状态,则确认为有键按下,否则从头检测。这样就能消除键的抖动影响。 7.1 键盘接口技术2、键盘的形式键盘的形式有以下两种:独立式键盘编码式键盘(1)独立式键盘 每一个按键的电路是独立的,占用一条数据线 。这种键盘占用硬件资源多,适合少量按键的情况。独立式键盘结构独立式键盘结构独立式键盘与单片机接口独立式键盘与单片机接口 程序框图程序框图键闭合吗?置P1口为输入方式开 始延时10ms

3、消除抖动有键闭合吗?是K1键闭合吗?20H单元加1YYYYYYNNNNNN图7.2 独立键盘程序框图流程图是K2键闭合吗?是K3键闭合吗?是K4键闭合吗?20H单元减121H单元清021H单元置FF独立式键盘与单片机接口独立式键盘与单片机接口程序清单: ORG 0030HKB:MOVP1,#0FFH;置P1口为输入口MOVA,P1;读键状态CPLAANLA,#0FH;屏蔽高4位JZKB;无键闭合则返回ACALL D10MS;延时去抖动MOVA,P1;再读键状态CPLAANLA,#0FHJZKB;无键闭合则返回CJNEA,#01H,KB01INC20H;K1键闭合,20H单元加1SJMPKB独立

4、式键盘与单片机接口独立式键盘与单片机接口KB01:CJNE A,#02H,KB02 DEC 20H ;K2键闭合,20单元减1 SJMP KBKB02:CJNE A,#04H,KB03 MOV 21H,#00H ;K3键闭合,21H单元清0 SJMP KBKB03:CJNE A,#08H,KB MOV 21H,#0FFH ;K4键闭合,21H单元置FF SJMP KB ;若有两键以上闭合则返回 END矩阵式键盘结构矩阵式键盘的工作原理 扫描原理:首先确定是否有键闭合然后逐一扫描以进一步确定是哪一键闭合 以44键盘为例: (1)使列线D0D3都输出0,检测行线D4D7的电平。如果D4D7上的电平

5、全为高,则表示没有键被按下。如果D4D7上的电平不全为高,则表示有键被按下。 (2)如果没有键闭合,就返回扫描。如果有键闭合,在进行逐列扫描,找出闭合键的键号。先使D0=0,D1D3=1,检测D4D7上的电平,如果D4=0,表示K1键被按下;同理,如果D5D7=0,分别表示K5、K9、K13键被按下;如果D4D7=1,则表示这一列没有键被按下。再使D1=0,D0、D2、D3为1,对第二列进行扫描,这样依次进行下去,直到把闭合的键找到为止。 矩阵式键盘与单片机接口矩阵式键盘与单片机接口一、程序扫描方式三个步骤: 判断有无键按下; 软件延时10ms去抖动; 求键的位置(行、列)。有键闭合吗?开 始

6、软件延时10ms有键闭合吗?键释放了吗?逐列逐行扫描确定键的位置调键值处理程序返 回YYYNNN图 程序键盘扫描程序框图矩阵式键盘与单片机接口程序清单:KSCAN:ACALL KEYS1 ;调用判键闭合子程序JNZKEY1;有键闭合则转至去抖动AJMPRETURN;无键闭合则返回KEY1:ACALL D10MS ;调用10ms延时程序ACALLKEYS1 ;再次调用判键闭合子程序JNZKEY2;确认有键闭合,开始扫描AJMPRETURN;无键闭合则返回KEY2:MOVR2,#0FEH;送首列扫描字MOVR4,#00H;送首列号KEY0:MOVA,R2MOVP1,AMOVA,P1;扫描字从P1口

7、送出JBACC.4,LINE1 ;第1行无键闭合,转第2行MOVA,#00H;第1行首键号送AAJMPKPV;转键值计算程序矩阵式键盘与单片机接口LINE1: JBACC.5,LINE2;第2行无键闭合,转第3行MOVA,#04H;第2行首键号送AAJMPKPV;转键值计算程序LINE2: JBACC.6,LINE3;第3行无键闭合,转第4行MOVA,#08H;第3行首键号送AAJMPKPV;转键值计算程序LINE3: JBACC.7,NEXT;第4行无键闭合,转下1列MOVA,#0CH;第4行首键号送AKPV:ADDA,R4;计算键值PUSHACCKEY3: ACALLKEYS1;等待键释放

8、JNZKEYS1POPACCSETBFLAG;置有键按下标志SJMPKEY4RETURN:CLRFLAG;清有键按下标志KEY4: RETNEXT: INCR4;列号加1矩阵式键盘与单片机接口MOVA,R2CJNEA,#0F7H,RETURN;判断4行是否都已扫描完,;完则返回RLA;为扫描下1行做准备MOVR2,AAJMPKEY0;开始扫描下1列KEYS1:MOV P1,#0F0H;判键闭合子程序MOVA,P1CPLAANLA,#0F0HRETD10MS:MOV R7,#14H;10ms延时子程序DLY: MOVR6,#0F8HDLY1:DJNZR6,DLY1DJNZR7,DLYRET矩阵式

9、键盘与单片机接口二、定时中断扫描方式 该方式利用定时器10ms产生一次中断,设置两个标志(FLAG1、FLAG2),FLAG1用于去抖动标志,FLAG2用于键处理标志。FLAG1=1FLAG1=0,FLAG2=0有键闭合吗?开 始FLAG1=1吗?FLAG2=1吗?逐列逐行扫描得键值,FLAG2=1返 回YYYNNN图5.9 定时键盘扫描程序框图矩阵式键盘与单片机接口程序清单:FLAG1 BIT20H.0;定义抖动标志FLAG2 BIT20H.1;定义处理标志KEYVEQU30H;定义键值单元ORG0000HAJMPMAINORG000BHAJMPINTT0MAIN:MOVTMOD,#01H;

10、T0为方式1,定时10msMOVTL0,#0F0HMOVTH0,#0D8HMOVIE,#82HSETBTR0HERE:SJMP HERE;主程序踏步矩阵式键盘与单片机接口INTT0: MOVTL0,#0F0H;中断服务,重新给定时器赋初值MOVTH0,#0D8HACALLKEYS1;判断键是否按下JNZKB1;有键按下则转至KB1CLRFLAG1;清除抖动标志CLRFLAG2;清除处理标志AJMPKB2;中断返回KB1:JBFLAG1,KB3;判抖动标志是否有效SETBFLAG1;无效则设置成有效AJMPKB2;返回KB3:JBFLAG2,KB2MOVR2,#0FEH;送首列扫描字MOVR4,

11、#00H;送首列号KEY0: MOVA,R2MOVP1,AMOVA,P1;扫描字从P1口送出JBACC.4,LINE1;第1行无键闭合,转第2行MOVA,#00H;第1行首键号送AAJMPKPV;转键值计算程序矩阵式键盘与单片机接口LINE1: JBACC.5,LINE2;第2行无键闭合,转第3行MOVA,#04H;第2行首键号送AAJMPKPV;转键值计算程序LINE2:JBACC.6,LINE3;第3行无键闭合,转第4行MOVA,#08H;第3行首键号送AAJMPKPV;转键值计算程序LINE3:JBACC.7,NEXT;第4行无键闭合,转下1列MOVA,#0CH;第4行首键号送AKPV:

12、ADDA,R4;计算键值MOVKEYV,A;存放键值SETBFLAG2;设置处理标志AJMPKB2NEXT: INCR4;列号加1MOVA,R2CJNEA,#0F7H,KB2 ;判断4行是否都已扫描完,完则返回RLA;为扫描下1行做准备MOVR2,AAJMPKEY0;开始扫描下1列KB2:RETIEND7.2 显示器接口abcdefgdpcoma bfgcomc dpdecomabfgcdpdecomabfgcdpde共阴极共阴极 (b) 共阳极共阳极 (c) 1个个LED块块 的管脚配的管脚配置置 图图 LED显示块显示块一、七段一、七段LED显示器的原理显示器的原理显示字显示字符符共阴极段

13、选共阴极段选码码共阳极段选共阳极段选码码显示字显示字符符共阴极段选共阴极段选码码共阳极段选共阳极段选码码0 03FH3FHC0HC0HB B7CH7CH83H83H1 106H06HF9HF9HC C39H39HC6HC6H2 25BH5BHA4HA4HD D5EH5EHA1HA1H3 34FH4FHB0HB0HE E79H79H86H86H4 466H66H99H99HF F71H71H8EH8EH5 56DH6DH92H92HP P73H73H8CH8CH6 67DH7DH82H82HU U3EH3EHC1HC1H7 707H07HF8HF8Hr r31H31HCEHCEH8 87FH7F

14、H80H80Hy y6EH6EH91H91H9 96FH6FH90H90H8 8FFHFFH00H00HA A77H77H88H88H“灭灭”00H00HFFHFFH表 七段LED的段选码共阳极与共阴极的段选码互为补码。共阳极与共阴极的段选码互为补码。二、二、LED显示器的显示方式显示器的显示方式1LED静态显示方式静态显示方式 LED显示器工作在静态显示方式下,共阴极点或共阳极点连接在一起接地或+5V; 每位LED显示块的段选线(adp)与一个8位并行口相连。 静态显示有并行输出和串行输出两种方式。 AT89S51P0WRP2.7 P2.6 P2.574HC3731GQ1Q2Q3Q4Q5Q6

15、Q7Q8D1D2D3D4D5D6D7D8+5Vabcdefgdp74HC373GQ1Q2Q3Q4Q5Q6Q7Q8D1D2D3D4D5D6D7D8abcdefgdp74HC373GQ1Q2Q3Q4Q5Q6Q7Q8D1D2D3D4D5D6D7D8abcdefgdp1174HC138C B AY0Y1Y20#1#2#111111图图 并行输出的静态显示电路并行输出的静态显示电路2022-3-126简单I/O设备的并口直接驱动示例【例】数据端与【例】数据端与P0P0口口正序正序连接。编写程序,分别实现功能:连接。编写程序,分别实现功能:上电后数码管显示上电后数码管显示“P P”,按下任何键后,显示从,

16、按下任何键后,显示从“0 0”开始开始每隔每隔1 1秒加秒加1 1,加至,加至“F F”后,数码管显示后,数码管显示“P P”,进入等待按,进入等待按键状态。键状态。 2022-3-127 TEMP EQU 30H TEMP EQU 30HORG 0000HORG 0000HJMP STARTJMP START ORG 0100H ORG 0100HSTART:MOV SP,#5FHSTART:MOV SP,#5FH MOV P0,#8CH ; MOV P0,#8CH ;显示显示PPMOV P3,#0FFHMOV P3,#0FFHNOKEY:MOV A,P3NOKEY:MOV A,P3CPL

17、ACPL AJZ NOKEY ;JZ NOKEY ;无键按下无键按下MOV TEMP,P3 ;MOV TEMP,P3 ;有键按下有键按下CALL D10msCALL D10msMOV A,P3MOV A,P3CJNE A,TEMP,NOKEY;CJNE A,TEMP,NOKEY;去抖去抖MOV R7,#16MOV R7,#16MOV R2,#0MOV R2,#0LOOP:MOV A,R2LOOP:MOV A,R2 MOV DPTR,#CODE_P0 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOVC A,A+DPTR MOV P0,A MOV P0,A INC R2 IN

18、C R2 SETB RS0 ; SETB RS0 ;切换组切换组 CALL D_1SCALL D_1S CLR RS0 CLR RS0 DJNZ R7,LOOP DJNZ R7,LOOP JMP START JMP START D_1S D_1S:(子程序):(子程序)D10msD10ms:(子程序):(子程序) CODE_P0:DB 0C0H,0F9H,0A4H,0B0HCODE_P0:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H, DB 80H,90H,88H,83H, D

19、B 0C6H,0A1H,86H,8EH DB 0C6H,0A1H,86H,8EH 2LED数码管动态显示方式数码管动态显示方式 将多个数码管所有位的段选码并联在一起,由一个8位I/O口控制, 而共阴极点或共阳极点分别由相应的I/O口线控制。 例: 显示器由6个共阴极LED数码管构成。单片机的P0口输出显示段码,由一片74LS245输出给LED管;由P1口输出位码,经74LS04输出给LED显示。dbuf equ 30h ;置存储区首址temp equ 40h ;置缓冲区首址 org 00h mov 30h,#2 ;存入数据 mov 31h,#0 mov 32h,#1 mov 33h,#0 mo

20、v 34h,#7 mov 35h,#1 mov r0,#dbuf mov r1,#temp mov r2,#6 ;六位显示器 mov dptr,#segtab ;段码表首地址dp00: mov a,r0 ;取要显示的数据 movc a,a+dptr ;查表取段码 mov r1,a ;段码暂存 inc r1 inc r0 djnz r2,dp00disp0: mov r0,#temp ;显示子程序 mov r1,#6 ;扫描6次 mov r2,#01h ;从第一位开始dp01: mov a,r0 mov p0,a ;段码输出 mov a,r2 ;取位码 mov p1,a ;位码输出 acall

21、delay ;调用延时 mov a,r2 rl a mov r2,a inc r0 djnz r1,dp01 sjmp disp0segtab: db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fhdelay: mov r4,#03h ;延时子程序aa1: mov r5,0ffhaa: djnz r5,aa djnz r4,aa1 ret end7.3 A/D转换器与单片机的接口技术一、A/D转换器的性能参数与选型主要参数:量化误差与分辨率转换精度转换时间与转换速度电源抑制比A/D转换器的选取原则:A/D转换器用于什么系统?输出数据的位数是多少?系统应该达

22、到多高的精度和线性度?提供给A/D转换器的输入信号范围多大?是单极性的还是双极性的?信号的驱动能力怎样?是否要经过缓冲滤波和采样/保持?对A/D转换器输出的数字代码及逻辑电平的要求如何?是二进制码还是BCD码,是串行还是并行?系统是在静态下工作还是在动态下工作?带宽多少?采样速率为多少?参考电压是内部的还是外部的?是固定的还是变化的?A/D转换器的工作环境如何?噪声、温度、振动等条件如何?电源电压、功耗、几何尺寸等其它因素。二、ADC0809与单片机接口1.ADC0809的内部结构与引脚8 路 模 量拟选通开关通道地址锁存与译码逻辑控制与定时电路逐次逼近寄存器SAR树状模拟开关阵译码器256R

23、电阻分压器三态输出数据锁存器A电压比较器8位A/D转换器Vcc GND VREF(+) VREF(-) IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7ADDAADDBADDC ALEEOCD0D1D2D3D4D5D6D7OESTART CLKD0D7:8位数字量输出引脚。IN0IN7:8路模拟量输入引脚。Vcc:+5V工作电源。GND:地。VREF(+):参考电压正端。VREF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。EOC:转换结束输出引脚。OE:输出允许控制端。CLK:转换时钟信号。500kHz左右。ADDA、ADDB、AD

24、DC:地址输入线。 VCC 11VREF(+) 12D1 14GND 13IN3 1EOC 7IN4 2START 6IN6 4IN7 5IN5 3CLK 10OE 9D3 828 IN222 ALE27 IN123 ADDC25 ADDA24 ADDB26 IN019 D520 D621 D718 D417 D015 D216 VREF(-)ADC0809ADC0809的通道选择:被选通的通道ADDC ADDB ADDA被选通的通道ADDC ADDB ADDAIN00 0 0IN41 0 0IN10 0 1IN51 0 1IN20 1 0IN61 1 0IN30 1 1IN71 1 1ADC

25、0809的工作时序:ALE地址模拟量STARTEOCOED7D0START信号后约10us,EOC信号才变低!ADC0809的主要性能指标: 分辨率:8位 不可调误差:1LSB 转换时间:100s 温度范围:4085 功耗:15mW 单电源:5V供电 转换的模拟电压范围:05V2.ADC0809与单片机接口通道地址:78H7FH实现模拟信号的采集有程序控制和中断两种方式。 程序控制查询方式程序清单:ORG0030HSTART: MOVR0,#40H;采样数据存放首址MOVR1,#78H;IN0通道地址MOVR2,#08H;模拟量通道数CLREX0LOOP: MOVXR1 ,A;启动A/D转换M

26、OVR3,#20HDELY:DJNZR3,DELY;等待EOC信号变低SETBP3.2POLL:JBP3.2,POLL;查询转换是否结束MOVXA,R1;读取转换结果MOVR0,A;存放结果INCR0INCR1DJNZR2,LOOP;8通道未完,则采集下一通道HERE: SJMPHEREEND 中断方式程序清单:ORG0000HSTART:AJMP MAINORG0003HAJMPEXINT0MAIN:MOVR0,#40H;采样数据存放首址MOVR1,#78H;IN0通道地址MOVR2,#08H;模拟量通道数MOVX R1 ,A;启动A/D转换SETBIT0;外部中断0为边沿触发方式SETBE

27、X0;允许外部中断0中断SETBEA;开放CPU中断HERE:SJMP HEREEXINT0:PUSH PSW;保护现场CLRRS0CLRRS1MOVX A,R1;读取转换结果MOVR0,A;存放结果INCR0INCR1DJNZR2,NEXT;8通道未完,则采集下一通道CLREX0;采集完毕,则停止中断SJMPDONENEXT:MOVX R1 ,A;启动下一通道A/D转换DONE:POPPSWRETIEND三、AD574A与单片机接口 1.AD574A的结构及引脚特性 控制逻辑 A段 B段 C段12位三态输出缓冲器逐次逼近寄存器(SAR)时钟A模拟输出参考输入 D/A转换器(AD656A)模拟

28、公共点10V参考电压+_输出控制数字芯片转换结束启 / 停复位保持/切断比较器模拟芯片12位12位12/8 CS A0 R/C CE D11 D020VIN10VINAGNDBIPOFFREFINREFOUTSTSVCCVEEVLDGND引脚特性:D0D11:12位数字量输出。CE:片选信号,高电平有效。CS:片选信号,低电平有效。R/C:数据读/启动信号。R/C=1时, 读取转换结果;R/C=0时,启动A/D转换。12/8:输出数据长度选择信号。A0:字节选择信号。在=0状态下, A0=0启动12位A/D转换,A0=1 动8位A/D转换。在=1且=0状态下, A0=0读高8位数据,A0=1读

29、低4位数据。STS:AD574A的工作状态信号。 STS=1表示正处于转换状态;STS=0表示转换完毕。CSCR/VEE 11BIPOFF 1220VIN 1410VIN 13VL 1VCC 712/8 2CE 6A0 4R/C 5CS 3REFIN 10AGND 9REFOUT 828 STS22 D627 D1123 D725 D924 D826 D1019 D320 D421 D518 D217 D116 D0AD574A15 DGND10VIN:10V模拟电压输入。单极性时为010V,双极性时为5V5V。20VIN:20V模拟电压输入。单极性时为020V,双极性时为10V10V。REF

30、IN:参考输入,用于满量程调节。REFOUT:内部10V参考电压输出。BIPOFF:偏置输入,用于零点调节。VCC、VEE、VL:15V、15V、5V供电电源。AGND:模拟地。DGND:数字地。CS 8/12CER/C#A0工作状态0禁止1禁止1000启动12位转换1001启动8位转换101112位数据输出10100高8位数据输出10101低4位数据输出AD574A的工作时序:CECSR/CA0STSD11D0CECSR/CA0STSD11D0高阻数据(a) 启动和转换(b) 读取数据AD574A的主要性能指标: 分辨率12位。 非线性误差1/2LSB。 模拟输入:单极性5V;10V。 供电

31、电源:VL4.5V5.5V;VCC13.5V16.5V;VEE13.5V16.5V。 功耗450mW 温度范围070 转换时间35s单极性和双极性电路 :(a) 单极性电路(b) 双极性电路010V020V-5V+5V-10V+10VW1W2W1W22. AD574A与MCS-51系列单片机接口 启动A/D地址:00H读高8位地址:01H读低4位地址:03H 对模拟量电压采集一次,将结果放在单片机内部的30H和31H单元的参考程序如下:ORG0030HMOVR0,#00H;A7、A1、A0为低电平MOVR1,#30H;结果单元地址MOVXR0,A;启动A/D转换TEST:JBP3.2,TEST

32、 ;查询转换是否完成MOVR0,#01H;A7和A1=0、A0=1MOVXA,R0;读转换结果高8位MOVR1,A;存入30H单元MOVR0,#03H;A7=0、A1和A0=1MOVXA,R0;读转换结果低4位XCHDA,R1;把结果的D7D4位移至低4位SWAPA;调整、拼装成低8位INCR1MOVR1,A;存放低8位DECR1MOVA,R1SWAPA;结果的D11D8位移至字节低4位MOVR1,A;存放高4位HERE:SJMPHEREEND四、串行A/D转换器与MCS-51系列单片机接口1.串行A/D转换器的使用特点 串行A/D具有封装小,接口简单等优点,在现代电子产品设计中,越来越广泛地

33、被采用 TLC2543 是常用的串行A/D转换器 TLC2543的读写操作是通过SPI实现的 TLC2543的工作时序是关键 1.I/O周期 2.转换周期 两个工作周期交替进行以实现信号转换和数据读取。2. TLC2543与MCS-51系列单片机接口 对0通道进行采集、结果为16位、MSB前导、单极性,将采集的数据放入40H和41H单元的程序如下:ORG0030HSTART:MOVSP,#50HMOVR0,#40HMOVP1,#04H;初始化P1口CLRP1.0;置I/O CLOCK为低SETBP1.3;置为高MOVA,30HLOOP0: MOVR2,#02H;结果为高低两字节MOVR5,#0

34、8H;输入寄存器和结果的8位数据LOOP:MOVC,P1.2;读一位数据到C中RLCA;输出数据到A的最低位,输入数据到CMOVP1.1,C;写输入数据SETBP1.0;产生I/O CLOCK脉冲CLRP1.0DJNZR5,LOOP;8位数据未完则继续MOVR0,A;存放结果DJNZR2,LOOP0;一次未完则继续AJMPSTART;开始新一次转换END 7.4 D/A转换器与单片机的接口技术一、D/A转换器的性能参数与选型 主要性能参数:分辨率转换精度失调误差增益误差温度系数线性误差 选取原则:考虑性能指标的要求考虑结构特性与应用特性 二、DAC0832与单片机接口 1.DAC0832介绍内部结构: 8位输入寄存器8位D/A寄存器8位D/A

温馨提示

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

评论

0/150

提交评论