欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    10 C51单片机(第十章MCS 51与键盘、显示器、打印机的接口设计)ppt课件.ppt

    • 资源ID:2069603       资源大小:2.99MB        全文页数:92页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    10 C51单片机(第十章MCS 51与键盘、显示器、打印机的接口设计)ppt课件.ppt

    C51单片机技术-入门与提高,键盘、显示器的接口设计,第十章,新疆师范大学物理与电子工程学院刘楚湘主讲,10.1 键盘接口原理,1键盘输入的特点,2.按键的确认,键的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开低电平则声示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键有效,必须消除抖动期t1和t3的影响。下面将介绍消除抖动的措施。3如何消除按键的抖动 常采用软件来消除按键抖动。采用软件来消除按键抖动的基本思想是:在第一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时10 ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10 ms的子程序后,检测该行线为高电平,说明按键确实已经松开。采取以上措施,躲开了两个抖动期t1和t3,从而消除了按键抖动的影响。,10.2.1 键盘接口的工作原理,1独立式键盘接口,图10-9程序如下:,KEYIN:MOV DPTR,BFFFH;键盘地址BFFFH MOVX A,DPTR;读键盘状态 ANL A,01FH;屏蔽高 3位 0001 1111 MOV R3,A;保存键盘状态值 LCALL DELAY10;调用延时10ms子程序,软件去键盘抖动 MOVX A,DPTR;再读键盘状态 ANL A,01FH;屏蔽高3位 CJNE A,R3,RETURN;2次结果不一样,说明是抖动引起的,转RETURN,地址译码关系图,键盘地址BFFFH,CJNE A,1EH,KEY2;2次结果一样,有键按下。再判是否S1键按下?S1键未按下,转KEY2 0001 1110 LJMP PKEY1;是S1键按下,转S1键处理 子程序PKEY1 KEY2:CJNE A,1DH,KEY3;S2键未按下,转 KEY3 0001 1101 LJMP PKEY2;S2键按下,转PKEY2处理KEY3:CJNE A,1BH,KEY4;S3未按下,转 KEY4 0001 1011 LJMP PKEY3;S3按下,转PKEY3处理,KEY4:CJNE A,17H,KEY5;S4键未按下,转KEY5 0001 0111 LJMP PKEY4;S4按下,转PKEY4处理KEYS:CJNE A,0FH,PASS;S5未按下,转RETURN 0000 1111 LJMP PKEY5;S5按下,转PKEY5处理RETURN:RET;重键或无键按下,从子程序返回 PKEY1:;S1键处理子程序 PKEY2:;S2键处理子程序 PKEY3:;S3键处理子程序 PKEY4:;S4键处理子程序,2行列式键盘接口,行列式键盘工作原理,(1)行列式键盘的结构,扫描法,第1步,识别键盘有无键被按下;第2步,如有键被按下,识别出具体的按键。首先把所有的列线均置为低电平,检查各行线电平是否有变化,如果有变化,则说明有键被接下,如果没有变化,则说明无键被按下。其次,先把某一列置低电平,其余各列置为高电平,检查各行线电平的变化,如果某行线电平为低电平,则可确定此行此列交叉点处的按键被按下。,(2)按键的识别方法,以图1010(b)中3号键被按下为例,来说明此键是如何被识别出来的。,第1步,让行线编程为输入线,列线编程为输出线,并使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。第2步,再把行线编程为输出线,列线编程为输入线,并使输出线输出为全低电平,则列线中电平由高变低所在列为按键所在列。结合上述2步的结果,可确定按键所在行和列,从而识别出所按的健。,线反转法,【例】假设3号键被按下,那么第1步即在D0D3输出全为0,然后读入D4D7位,结果D40,而D5、D6和D7均为1,因此,第1行出现电平的变化,说明第1行有键按下;,第2步让D4D7输出全为0,然后读入D0D3位,结果D0=0而D1、D2和D3均为1,因此第4列出现电平的变化,说明第4列有键按下。综合上述分析,即第1行第4列按键被按下,此按键即是3号键。,对于独立式键盘,由于按键的数目比较少,可根据实际需要灵活编码。对于行列式键盘,按键的位置由行号和列号惟一确定、所以常常采用依次排列键号的方式对键盘进行编码。以44键盘为例,键号可以编码为01H,02H,03H,0EH,0FH,10H共16个。,(3)键盘的编码,10.2.2 键盘的工作方式,1.编程扫描方式,这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。,编程扫描方式的具体步骤(1)设置PA口工作于方式0输出,PC口低4位工作于方式0输入。(2)判断键盘上有无键按下(PA口8位输出全0,读PC口低4位状态)(3)延时10 ms来消除按键抖动(4)求按下键的键号(扫描法或线反转法)。(5)等待按键释放后,再进行按键功能的处理操作。,单片机对键盘的扫描也可采用定时扫描方式,即每隔一定的时间对键盘扫描一次。”在这种扫描方式中,通常利用单片机内的定时器,产生10 ms的定时中断,CPU响应定时器溢出中断请求,对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理功能程序。,2定时扫描工作方式,为进一步提高单片机扫描键盘的工作效率,可采用中断扫描方式,即只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。,3中断工作方式,第1层:单片机如何来监视键盘的输入。体现在键盘的工作方式上就是:编程扫描工作方式;定时扫描工作方式;中断扫描工作方式。第2层:确定具体按键的键号。体现在按键的识别方法上就是:扫描法;线反转法。第3层:实现按键的功能,执行键处理程序。,键盘所做的工作分为3个层次,键盘扫描应用举例(例题10_110_3),10.3 键盘显示器接口设计实例,10.3.1 利用并行IO芯片8155H实现键盘/显示器接口,8155H的IO口地址为7F00H7F05H,RAM地址为7E00H7EFFH。8155H的PA口为输出口,控制键盘列线的扫描,PA口同时又是6位共阴极显示器的位扫描口。PB为输出口作为显示器的段码(字型码)口,8155H的PC口作为键盘的行线状态的输入口,故称为键输入口。75452为反相驱动器,7407为同相驱动器。,8155芯片使用介绍,图1014中的6位显示器采用动态显示的方式。在8051内部RAM中设置6个显示缓冲单元79H7EH,分别存放显示器要显示的6位数据。8155H的PA口扫描输出总是只有1位高电平,经75452反相后,即显示器的6位中仅有1位公共阴极为低电平,其他位为高电平。8155H的PB口输出相应位的显示数据的段码,使某一位显示某一字符,其它位为暗。依次的改变PA口输出为高的位,PB口输出对应的段码,显示器的6位就动态地显示出由缓冲区中显示数据所确定的字符。显示程序的流程如图1015所示。,0000 0001 位选码R3,1动态显示程序设计,参考程序如下:DIR:MOV R0,79H;置缓冲器指针初值 MOV R3,01H;位选码的初值送 R3 MOV A,R3 0000 0001LD0:MOV DPTR,#7F01H;DPTR指向8155H PA口 MOV DPTR,A;位选码8155H PA口(PA0位)最左边LED亮 INC DPTR;数据指针指向 PB口 MOV A,R0;缓冲区中取出显示数据A ADD A,0DH;加偏移量(下条指令到表首间 所有指令占的单元数)MOVC A,APC;根据显示数据来查表取段码,在8031内部RAM中设置6个显示缓冲单元79H7EH,分别存放显示器要显示的6位数据。,8155H的IO口地址为7F00H7F05H,DIR1:MOVX DPTR,A;段码8155H的 PB口 ACALL DL1ms;延时1ms,即该位显示1ms INC R0;显示数据缓冲区指针指向下一个数据单元 MOV A,R3;位选码送入 A中(初值R3=01H)JB ACC.5,LD1;判断是否扫描到最右边的LED,如到最右边,则返回 RL A;位选码向左移一位,准备让右边的下一位 LED亮 MOV R3,A;位选码送R3中保存 AJMP LD0LD1:RET,初始的位选码0000 0001,DSEG:;共阴极LED段码表 DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40H,03H DB 38H,00DL1ms:MOV R7,#02H;延时1ms子程序 DL:MOV R6,#0FFH DL6:DJNZ R6,DL6 DJNZ R7,DL RET 程序中的 ADD A,0DH指令中的“0DH”为偏移量(即为查表指令下一条指令到表首地址标号DESG之间所有指令所占单元之和),在显示数据的基础上加上偏移量,可查到该显示数据所对应的段码。,2键盘程序设计,键盘程序的功能有以下4个方面:(1)判别键盘上有无键闭合:其方法为:首先把所有的列线(PA口)均置为低电平,检查各行线(PC口)电平是否有变化(2)去除键的机械抖动:其方法为延迟一段时间再判别键盘的状态。(3)判别闭合键的键号:方法为对键盘的列线进行逐列扫描,扫描口PA0PA7依次输出下列编码,即只有1列为低电平,其余各列为高电平:(行列扫描法)PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1,相应地依次读PC口的状态,若PC3PC0全为1,则列线为0的这1列上没有键闭合。闭合键的键号等于为低电平的列号加上行线为低电平的行的首键号。例如:PA口输出为11111101时,读出PC3PC0为1101,则第1行第1列相交的键处于闭合状态,第1行的首键号为8,列号为1。因此,闭合键的键号N为:N=行首键号十列号=81=9(4)使CPU对键的1次闭合仅作1次处理,采用的方法为等待闭合键释放以后再作处,键盘程序的流程图,KEY1:ACALL KS1;调用判有无键闭合于程序 JNZ LK1;(A)0有键闭合,跳LK1NI:ACALL DIR;无键闭合,调用显示子程序(调用 上页的显示程序),延迟6ms后,跳KEY1 AJMP KEY1;LK1:ACALL DIR;可能有键闭合,延迟12ms,软件去抖动 ACALL DIR ACALL KS1;延迟后再次调用判有无键闭合子程序,键盘子程序如下:,JNZ LK2;经去抖动,判键确实闭合,跳LK2去处理 ACALL DIR;调用显示子程序延迟6ms AJMP KEY1;抖动引起,跳KEY1LK2:MOV R2,0FEH;列选码R2 MOV R4,00H;R4为列号计数器LK4:MOV DPTR,7F01H;列选码8155H 的PA口 MOV A,R2;列选码A MOVX DPTR,A;从PA口送出列选码 INC DPTR;数据指针增2,指向PC口,8155H的IO口地址为7F00H7F05H,INC DPTR;数据指针增2,指向PC口 MOVX A,DPTR;读8155H PC口 JB ACC.0,LONE;判定第0行有无键按下 MOV A,#00H;(ACC.0)=0第 0行有键闭合,首键号0A AJMP LKP;跳LKP,计算键号LONE:JB ACC.1,LTW0;1行线为高,无键闭合,跳LTW0,转判2行有无键闭合 MOV A,#08H;1行有键闭合,首键号 8A AJMP LKP;跳LKP,计算键号,LTWO:JB ACC.2,LTHR;2行线为高,无键闭合,跳LTHR,转判3行 MOV A,#10H;2行有键闭合,首键号10HA AJMP LKP;跳 LKP,计算键号LTHR:JB ACC.3,NEXT;3行线为高,无键闭合,跳NEXT,准备下一列扫描 MOV A,#18H;3行有键闭合,首键号 18HALKP:ADD A,R4;计算键号,即:行首键号列号=键号 PUSH A;键号进栈保护LK3:ACALL DIR;调用显示子程序,延时 6 ms ACALL KS1;调用判有无键闭合子程序,延时6 ms JNZ LK3;判键释放否,未释放,则循环 POP A;键已释放,键号出栈A RET,NEXT:INC R4;列计数器加 1,为下一列 扫描作准备 MOV A,R2;判是否已扫到最后一列(最右一列)JNB ACC.7,KND;键扫描已扫到最后一列,跳KND,重新进 行整 个键盘扫描 RL A;键扫描未扫到最后一列,位选码左移一位 MOV R2,A;位选码R2 AJMP LK4KND:AJMP KEY1,KS1:;判有无键闭合子程序 MOV DPTR,#7F01H;DPTR指向PA口 MOV A,#00H;即列线全为低电平,全0扫描口 MOVX DPTR,A INC DPTR;DPTR增2,指向PC口 INC DPTR MOVX A,DPTR;从PC口读行线的状态 CPL A;行线状态取反,如无键 按下,则A中内容为零 ANL A,#0FH;屏蔽无用高4位(见下一页图)RET,8155H的IO口地址为7F00H7F05H,103.2 利用8031的串行口实现键盘显示器接口,10.3.3 利用通用键盘/显示器接口芯片8279实现键盘/显示器接口,18279的引脚及内部结构,1 LCD1602的工作原理2 LCD1602的控制字3 LCD1602的实际应用举例,【本节主要内容】,10.4 LCD的原理及应用,10.4.1 LCD1602的工作原理,LCD(Liquid Crystal Display)是液晶显示器英文名称的缩写,液晶显示器是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,达到白底黑字或黑底白字显示的目的。液晶显示器具有功耗低、抗干扰能力强等优点,因此被广泛地应用在仪器仪表和控制系统中。,LCD显示器的分类,当前市场上液晶显示器种类繁多,按排列形状可分为字段型、点阵字符型和点阵图形型。(1)字段型。字段型是以长条状组成的字符显示。该类显示器主要用于数字显示,也可用于显示西文字母或某些字符,已广泛用于电子表、数字仪表、计算器中。(2)点阵字符型。点阵字符型液晶显示模块是专门用来显示字母、数字、符号等点阵型液晶显示模块。它是由若干个 5 X 7或 5 X 10点阵组成,每一个点阵显示1个字符。此类显示模块广泛应用在各类单片机应用系统中。(3)点阵图形型。点阵图形型是在平板上排列多行或多列,形成矩阵式的晶格点,点的大小可根据显示的清晰度来设计。这类液晶显示器可广泛应用于图形显示如游戏机、笔记本电脑和彩色电视等设备中。,点阵字符型液晶显示模块介绍,在单片机应用系统中,常使用点阵字符型LCD显示器。要使用点阵字符型LCD显示器,必须有相应的LCD控制器、驱动器,来对LCD显示器进行扫描。驱动,以及一定空间的RAM和ROM来存储写入的命令和显示字符的点阵。现在人们已将LCD控制器、驱动器、RAM、ROM和LCD显示器用PCB连接到一起,称为液晶显示模块LCM(LCd Module)。使用者只要向LCM送入相应的命令和数据就可实现所需要的显示内容,这种模块与单片机接口简单,使用灵活方便。产品分为字符和图形两种。,1基本结构,(1)液晶板 在液晶板上排列着若干 5 7或 5 10点阵的字符显示位,从规格上分为每行8、16、20、24、32、40位,有1行、2行及4行3类,用户可根据需要来选择购买。,(2)模块电路框图,它由控制器HD44780、驱动器HD44100及几个电阻电容组成。HD44100是扩展显示字符位用的(例如:16字符 XI行模块就可不用 HD44100,16字符 X 2行模块就要用 1片HD44100)。,模块上有14个引脚(见图中左侧),其中有8条数据线,3条控制线,3条电源线,,LCD1602液晶显示器外形结构,LCD1602液晶显示器外形尺寸,LCD1602 介绍,1.引脚功能,1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15:空脚(或:背光源正极)16脚:空脚(或:背光源负极)。,LCD1602引脚介绍,2.1602的操作时序介绍,E RS R/W联合操作所决定的功能,(1)LCD1602的读操作时序,(2)LCD1602的写操作时序,分析时序图可知操作1602液晶的流程如下:,通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需要/不需要移屏、在液晶的什么位置显示,等等。写数据是指要显示什么内容。(RS=1写数据,RS=0写命令。)读/写控制端设置为写模式,即低电平。(R/W=0)将数据或命令送达数据线上。给E一个高脉冲将数据送入液晶控制器,完成写操作。,3.状态字,4.RAM地址,当向000F、404F地址中的任一处写入显示数据时,液晶都可以立即显示出来,当写入到1027或5067地址处时,必需通过移屏指令将它们移入可显示区域方可正常显示。1602显示位置的确定方法规定为“80H+地址码(000FH,404FH)”,5.1602液晶模块内部的字符发生存储器,1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示。这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等。每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”,6.控制指令,1602液晶模块内部的控制器共有11条控制指令,如下表所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平),对控制指令表中D7D0位所使用字符的说明:I/D=1/0:增量/减量S=1:全显示屏移动S/C=1/0:显示屏移动/光标移动R/L=1/0:右移/左移DL=1/0:8位/4位N=1/0:2行/1行F=1/0:5X10点阵/5X7点阵BF=1/0:内部操作正进行/允许指令操作*:无关项,LCD1602控制指令说明,指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标,指令6:功能设置命令 DL:高电平时为8位总线,低电平时为4位总线 N:低电平时为单行显示,高电平时双行显示 F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据 指令11:读数据,7.单片机ST89C51的接口,DM-162液晶显示模块可以和ST89C51单片机直接接口,电路如下图所示。,8.1602操作时的注意事项,液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,下表是DM-162的内部显示地址,比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H),9.1602的初始化过程,1602型LCD驱动程序的流程图,【例程】下面是在液晶模块的第二行第一个字符的位置显示字母“A”的程序:,程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY,然后输入显示位置的地址0C0H,最后输入要显示的字符A的代码41H。,【例】本程序实现的功能是:在1602屏上显示二行字符,#include#define uchar unsigned char#define uint unsigned intuchar code table=I LIKE YOU XIN;uchar code table1=JIANG SHIFANDAXU;sbit lcden=P34;/1602的使能端(E)sbit lcdrs=P35;/1602的数据命令选择端(RS端)(高(H)数据,低(L)命令)/sbit dula=P26;/数码管段选端/sbit wela=P27;/数码管位选端uchar num;,void delay(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)/写命令程序lcdrs=0;/1602写命令有效P0=com;/命令通过P0口送出delay(5);/延时lcden=1;/1602使能有效delay(5);/延时lcden=0;/1602使能无效,void write_data(uchar date)/写数据程序lcdrs=1;/1602写数据有效P0=date;/数据通过P0口送出delay(5);/延时lcden=1;/1602使能有效delay(5);/延时lcden=0;/1602使能无效,void init()/初始化程序/dula=0;/数码管段选端无效/wela=0;/数码管位选端无效lcden=0;/1602使能无效write_com(0 x38);/写1602的显示模式(16x2显示方式 5x7点阵 8位数据)write_com(0 x0f);/写1602的显示开关(开显示,显示光标,光标闪烁)write_com(0 x06);/写1602的光标设置(读写一个字符后地址指针加一且光标也加一)write_com(0 x01);/写1602的清显示屏(显示清屏)write_com(0 x80);/写1602的数据指针设置(即光标在第一行的第一个位置上),void main()init();/调用初始化程序for(num=0;num14;num+)/第一行要写11个字符write_data(tablenum);/写字符delay(20);write_com(0 x80+0 x40);/光标在第二行第一个位置上for(num=0;num16;num+)/第二行要写16个字符write_data(table1num);/写字符delay(20);while(1);/,

    注意事项

    本文(10 C51单片机(第十章MCS 51与键盘、显示器、打印机的接口设计)ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开