《单片机功能部件》PPT课件

上传人:xt****7 文档编号:187421751 上传时间:2023-02-14 格式:PPT 页数:141 大小:1.64MB
收藏 版权申诉 举报 下载
《单片机功能部件》PPT课件_第1页
第1页 / 共141页
《单片机功能部件》PPT课件_第2页
第2页 / 共141页
《单片机功能部件》PPT课件_第3页
第3页 / 共141页
资源描述:

《《单片机功能部件》PPT课件》由会员分享,可在线阅读,更多相关《《单片机功能部件》PPT课件(141页珍藏版)》请在装配图网上搜索。

1、MCS-51单片机内部功能部件MCS-51系统扩展MCS-51功能扩展MCS-51单片机内部功能部件第6章 中断系统第7章 定时/计数器第8章 串行通信接口中断的概念中断的概念 现代的计算机都具有实时处理功能,能对外部发现代的计算机都具有实时处理功能,能对外部发生的事件如人工干预、外部事件及意外故障做出及时生的事件如人工干预、外部事件及意外故障做出及时的响应或处理,这是依靠计算机的中断系统来实现的。的响应或处理,这是依靠计算机的中断系统来实现的。在在MCS51应用系统中,经常需要处理如下问题:应用系统中,经常需要处理如下问题:1定时器问题定时器问题 在温度控制系统中,需对受控对象的温度进行定在

2、温度控制系统中,需对受控对象的温度进行定时采样,两次采样之间的时间间隔是固定的,如每秒时采样,两次采样之间的时间间隔是固定的,如每秒一次。在电机恒速控制系统中,需对受控电机的转速一次。在电机恒速控制系统中,需对受控电机的转速进行定时采样,两次采样之间的时间间隔也是固定的,进行定时采样,两次采样之间的时间间隔也是固定的,如每秒两次。为了定时采样,就必须使用定时器。当如每秒两次。为了定时采样,就必须使用定时器。当CPU启动定时器后,就要等待定时器的定时超时标志,启动定时器后,就要等待定时器的定时超时标志,然后就进行采样,周而复始,循环不止。然后就进行采样,周而复始,循环不止。2键盘按键问题键盘按键

3、问题 键盘是计算机系统操作者对系统进行参数设置和状态键盘是计算机系统操作者对系统进行参数设置和状态控制的常用设备,操作者何时对键盘进行操作是无法事先确控制的常用设备,操作者何时对键盘进行操作是无法事先确定的。单片机应快速响应键盘操作。定的。单片机应快速响应键盘操作。3串行通信问题串行通信问题 一个单片机控制系统可能与另一个计算机系统有联系,它一个单片机控制系统可能与另一个计算机系统有联系,它们之间的数据交换是通过异步串行通信接口们之间的数据交换是通过异步串行通信接口RS-232C进行的。进行的。MCS51单片机有一个串行通信控制器,当单片机有一个串行通信控制器,当CPU将要发送的将要发送的一个

4、字节数据提交给串行通信控制器后,需要等串行通信控一个字节数据提交给串行通信控制器后,需要等串行通信控制器把这个字节数据发送完毕,才能发送下一个字节数据。制器把这个字节数据发送完毕,才能发送下一个字节数据。这时,这时,CPU要等待串行通信控制器的一个标志,表明串行通要等待串行通信控制器的一个标志,表明串行通信控制器的发送缓冲器空闲,才能把下一个要发送字节数据信控制器的发送缓冲器空闲,才能把下一个要发送字节数据提交给串行通信控制器。提交给串行通信控制器。CPU除了发送数据之外,还要接收除了发送数据之外,还要接收对方发送来的数据,而对方什么时候要发送数据是无法确定对方发送来的数据,而对方什么时候要发

5、送数据是无法确定的。的。MCS51单片机的串行通信控制器会自动处理数据接收,单片机的串行通信控制器会自动处理数据接收,一旦接收到一个字节的数据,串行通信控制器会设置数据接一旦接收到一个字节的数据,串行通信控制器会设置数据接收完成标志,收完成标志,CPU检测到该标志后,就从串行通信控制器中检测到该标志后,就从串行通信控制器中将数据读出。将数据读出。上述三个问题中,一个共性的问题是:上述三个问题中,一个共性的问题是:CPU需要对需要对一个标志进行检测判断,以决定是否进行一项预定的工一个标志进行检测判断,以决定是否进行一项预定的工作(即执行一个特定的程序段)。对一个可能作(即执行一个特定的程序段)。

6、对一个可能随机出现随机出现的标志的标志进行检测判断,可以采用两种方法:查询进行检测判断,可以采用两种方法:查询/中断。中断。查询是指查询是指CPU在程序流程中循环判断标志的改变。在程序流程中循环判断标志的改变。如:启动定时器时,定时器的定时超时标志如:启动定时器时,定时器的定时超时标志TF为为0,定,定时间隔到时,定时器将定时超时标志时间隔到时,定时器将定时超时标志TF置为置为1,程序中,程序中CPU用循环结构判断该标志是否为用循环结构判断该标志是否为1等待定时结束:等待定时结束:while(TF=0););TF=1;调用采样函数,调用采样函数,(TF定时到标志)定时到标志)或者在主函数的流程

7、中按顺序判断各个标志或者在主函数的流程中按顺序判断各个标志的状态,以确定要做的工作。的状态,以确定要做的工作。while(1)if(TI)调用发送函数;调用发送函数;if(RI)调用接受函数;调用接受函数;if(keypress)调用按键处理函数;)调用按键处理函数;这里,这里,TI、RI、keypress分别为定时到标分别为定时到标志、发送缓冲器空标志、接收缓冲器满标志和有志、发送缓冲器空标志、接收缓冲器满标志和有键按下标志。键按下标志。所谓中断是指,单片机内部有一个所谓中断是指,单片机内部有一个中断管理系统中断管理系统,它对内部的定时器事件、串行通信的发送和接收事它对内部的定时器事件、串行

8、通信的发送和接收事件及外部事件(如键盘按键动作)等件及外部事件(如键盘按键动作)等进行自动的检进行自动的检测测判断,判断,当有某个事件产生时,中断管理系统会置当有某个事件产生时,中断管理系统会置位相应标志位相应标志通知通知CPU,请求,请求CPU迅速去处理。迅速去处理。CPU检测到某个标志时,会停止当前正在处理的程序流检测到某个标志时,会停止当前正在处理的程序流程,转去处理所发生的事件(针对发生的事件,调程,转去处理所发生的事件(针对发生的事件,调用某一特定的函数,称为该事件的用某一特定的函数,称为该事件的中断服务函数中断服务函数),),处理完以后,再回到原来被中断的地方,继续执行处理完以后,

9、再回到原来被中断的地方,继续执行原来的程序。这个过程称为原来的程序。这个过程称为中断中断。(。(CPU对中断标对中断标志的检测是在程序指令执行的周期中顺带进行的,志的检测是在程序指令执行的周期中顺带进行的,不影响指令的连续执行。不影响指令的连续执行。)注:程序中的一般函数是由主函数或其它函数调用注:程序中的一般函数是由主函数或其它函数调用的,而中断服务函数不能被其它函数调用,它的执的,而中断服务函数不能被其它函数调用,它的执行完全是随机的。行完全是随机的。中断管理系统可以处理的事件称为中断管理系统可以处理的事件称为中断源中断源。一。一般计算机系统允许有多个中断源,当几个中断源同般计算机系统允许

10、有多个中断源,当几个中断源同时向时向CPU请求中断,要求为它们服务的时候,就存请求中断,要求为它们服务的时候,就存在在CPU优先响应哪一个中断请求源的问题,一般根优先响应哪一个中断请求源的问题,一般根据中断源(所发生的实时事件)的轻重缓急排队,据中断源(所发生的实时事件)的轻重缓急排队,优先处理最紧急事件的中断请求,于是规定每一个优先处理最紧急事件的中断请求,于是规定每一个中断源都有自己的中断源都有自己的中断优先级别中断优先级别。当当CPU正在处理一个中断源请求时,又发生了正在处理一个中断源请求时,又发生了另一个优先级比它高的中断请求,如果另一个优先级比它高的中断请求,如果CPU能够暂能够暂时

11、中止执行当前的中断服务程序,转而去处理优先时中止执行当前的中断服务程序,转而去处理优先级更高的中断请求,待处理完以后,再继续执行原级更高的中断请求,待处理完以后,再继续执行原来的低级中断处理程序,这样的过程称为来的低级中断处理程序,这样的过程称为中断嵌套中断嵌套,这样的中断系统称为多级中断系统。没有中断嵌套这样的中断系统称为多级中断系统。没有中断嵌套功能的中断系统称为单级中断系统。功能的中断系统称为单级中断系统。中断系统要解决的问题CPU在不断的执行指令中,是如何检测到随机发生的中断请求中断能够人为控制吗(允许中断或禁止中断)中断是随机产生的,不能用一般的子程序调用,那么如何处理中断处理子程序

12、呢当有多个中断时怎么处理中断服务完毕,如何正确回到原断点处MCS51中断系统中断系统 MCS51系列中不同型号单片机的中断源数量系列中不同型号单片机的中断源数量是不同的(是不同的(511个),最典型的个),最典型的8051单片机有单片机有5个中断源(外部中断个中断源(外部中断0、1,内部定时器中断,内部定时器中断0、1,串口中断),具有两个中断优先级串口中断),具有两个中断优先级。与中断系统有。与中断系统有关的特殊功能寄存器有中断允许寄存器关的特殊功能寄存器有中断允许寄存器IE、中断优、中断优先级控制寄存器先级控制寄存器IP、中断控制寄存器、中断控制寄存器TCON和和SCON中有关位。中有关位

13、。MCS51单片机基本的中断系统结构如单片机基本的中断系统结构如图图41所示。所示。外部中断请求0内部定时器0外部中断请求1内部定时器1 内部 T串行口 R中断请求标志寄存器源允许总允许允许中断寄存器中断优先级寄存器中断源标识符中断源标识符高优先级中断请求中断矢量低优先级中断请求中断矢量T发送R接收INT0INT1查询硬件图41 MCS51的中断系统1中断源与中断标志中断源与中断标志 MCS51中典型的中典型的8051单片机有单片机有5个个中断源:中断源:两个外部两个外部中断:(中断:(P3.2 INT0、P3.3 INT1)上上输入输入的外部中断源,低电平或负跳变有效,置位的外部中断源,低电

14、平或负跳变有效,置位TCON中的中的IE0和和IE1中断请求标志位;中断请求标志位;三个内部三个内部中断源:定时器计数器中断源:定时器计数器T0、T1的溢出中断的溢出中断源和串行口的发送源和串行口的发送/接收中断。对接收中断。对T0和和T1中断,当定中断,当定时计数回时计数回0溢出时,由硬件自动置位溢出时,由硬件自动置位TCON中的中的TF0或或TF1中断请求标志位;对串行接收发送中断,当中断请求标志位;对串行接收发送中断,当完成一串行完成一串行帧帧的接收发送时,由硬件自动置的接收发送时,由硬件自动置SCON中的中断请求标志位中的中断请求标志位TI(发送)或(发送)或RI(接收),必须(接收)

15、,必须由用户在中断服务程序中复位由用户在中断服务程序中复位TI或或RI。中断控制寄存器中断控制寄存器TCON的各位(可位寻址):的各位(可位寻址):IE0:外部中断:外部中断0请求源(请求源(INT0)标志。)标志。IE01,外部中断,外部中断0正在向正在向CPU请求中断,当请求中断,当 CPU响应该中断时由硬件清零响应该中断时由硬件清零IE0(边沿触发方式)。(边沿触发方式)。IT0:外部中断源:外部中断源 INT0 触发方式控制位。触发方式控制位。IT0 0,外部中断,外部中断0程控为程控为电平触发方式电平触发方式,当输入,当输入低电平时,置位低电平时,置位IE0。IT0 1,外部中断,外

16、部中断0程控为程控为边沿触发方式边沿触发方式,相继的两次采样,一个周期中采样,相继的两次采样,一个周期中采样到为高电平,接着的下个周期中采样到为低电平,到为高电平,接着的下个周期中采样到为低电平,则置则置1 IE0。IE1:外部中断:外部中断1请求(请求(INT1,P3.3)标志。)标志。IE1 1外部中断外部中断1向向 CPU请求中断,当请求中断,当 CPU响应响应外部中断时,由硬件清外部中断时,由硬件清0 IE1(边沿触发方式)。(边沿触发方式)。IT1:外部中断:外部中断1触发方式控制位。触发方式控制位。IT1 0,外部中断,外部中断1程控为电平触发方式,程控为电平触发方式,IT1 1,

17、外部中断,外部中断1为边沿触发方式。其功能和为边沿触发方式。其功能和IT0类似。类似。TR0:定时计数器:定时计数器T0运行控制位。运行控制位。(启动(启动/停止)停止)TF0:定时计数器:定时计数器T0溢出中断标志位,溢出中断标志位,CPU执行中执行中断服务程序时由硬件复位。断服务程序时由硬件复位。TR1:定时计数器:定时计数器T1运行控制位。运行控制位。TF1:定时计数器:定时计数器T1溢出中断标志位,溢出中断标志位,CPU执行中执行中断服务程序时由硬件复位。断服务程序时由硬件复位。串行口中断:串行口的接收中断标志串行口中断:串行口的接收中断标志RI(SCON.0)和发送中断标志和发送中断

18、标志TI(SCON.1)逻辑或以后作为内)逻辑或以后作为内部的一个中断源。当串行口发送完一个字符由内部部的一个中断源。当串行口发送完一个字符由内部硬件置位发送中断标志硬件置位发送中断标志TI,接收到一个字符后也由,接收到一个字符后也由内部硬件置位接收中断标志内部硬件置位接收中断标志RI。应该注意,。应该注意,CPU响响应串行口的中断时,并不清应串行口的中断时,并不清0 TI和和RI中断标志,中断标志,TI和和RI必须由软件清必须由软件清0(中断服务程序中必须有清(中断服务程序中必须有清 TI、RI的指令)。的指令)。SCON:串行通信控制寄存器:串行通信控制寄存器2中断控制中断控制(1)中断允

19、许寄存器)中断允许寄存器IEMCS51的的CPU对中断源的开放或屏蔽,即每一个对中断源的开放或屏蔽,即每一个中断源是否被允许中断,是由内部的中断允许寄存中断源是否被允许中断,是由内部的中断允许寄存器器IE(IE为特殊功能寄存器,它的字节地址为特殊功能寄存器,它的字节地址A8H,可位寻址)控制的,其格式如下:可位寻址)控制的,其格式如下:EA:CPU的中断开放标志。的中断开放标志。EA 1,CPU开放中断;开放中断;EA 0,CPU屏蔽所有的中断申请。屏蔽所有的中断申请。EX0:外部中断:外部中断0中断允许位。中断允许位。EX0 1,允许中断;,允许中断;EX0 0,禁止中断。,禁止中断。ET0

20、:T0的溢出中断允许位。的溢出中断允许位。ET0 1,允许,允许T0中断;中断;ET0 0,禁止,禁止T0中断。中断。EX1:外部中断:外部中断1中断允许位。中断允许位。EX1 1,允许外部中断,允许外部中断1中断;中断;EX1 0,禁止外部中断,禁止外部中断1中断。中断。ET1:定时器计数器:定时器计数器 T1的溢出中断允许位。的溢出中断允许位。ET1 1,允许,允许T1中断;中断;ET1 0禁止禁止T1中断。中断。ES:串行口中断允许位。串行口中断允许位。ES 1,允许串行口中断;,允许串行口中断;ES 0禁止串行口中断。禁止串行口中断。(2)中断优先级控制)中断优先级控制MCS51有两个

21、中断优先级,每一中断请求源可编程为有两个中断优先级,每一中断请求源可编程为高优先级中断或低优先级中断,实现二级中断嵌套。一高优先级中断或低优先级中断,实现二级中断嵌套。一个正在被执行的低优先级中断服务程序能被高优先级中个正在被执行的低优先级中断服务程序能被高优先级中断所中断,断所中断,但不能被另一个同级的或低优先级中断源所但不能被另一个同级的或低优先级中断源所中断。中断。若若CPU正在执行高优先级的中断服务程序,则不正在执行高优先级的中断服务程序,则不能被任何中断源所中断,一直执行到结束,遇到返回指能被任何中断源所中断,一直执行到结束,遇到返回指令令RETI,返回主程序后再执行一条指令才能响应

22、新的中,返回主程序后再执行一条指令才能响应新的中断源申请。断源申请。*为了实现上述功能,为了实现上述功能,MCS51的中断系统有两个不可寻的中断系统有两个不可寻址的优先级状态触发器,一个指出址的优先级状态触发器,一个指出CPU是否正在执行高是否正在执行高优先级中断服务程序,另一个指出优先级中断服务程序,另一个指出CPU是否正在执行低是否正在执行低级中断服务程序。这两个触发器的级中断服务程序。这两个触发器的1状态分别屏蔽所有状态分别屏蔽所有的中断申请和同一优先级的其他中断源申请。的中断申请和同一优先级的其他中断源申请。另外,另外,MCS51的片内有一个中断优先级寄存器的片内有一个中断优先级寄存器

23、IP(IP为特殊功能寄存器,它的字节地址为为特殊功能寄存器,它的字节地址为B8H,可位寻址),可位寻址),其格式如下:其格式如下:PX0:外部中断:外部中断0中断优先级控制位。中断优先级控制位。PX0 1,外部中断,外部中断0中断定义为高优先级中断;中断定义为高优先级中断;PX0 0,外部中断,外部中断0中断定义为低优先级中断。中断定义为低优先级中断。PT0:定时器:定时器T0中断优先级控制位。中断优先级控制位。PT0 1,定时器,定时器T0中断定义为高优先级中断;中断定义为高优先级中断;PT0 0,定时器,定时器T0中断定义为低优先级中断。中断定义为低优先级中断。PX1:外部中断:外部中断1

24、中断优先级控制位。中断优先级控制位。PX1=1,外部中断,外部中断1中断定义为高优先级中断;中断定义为高优先级中断;PX1 0,外部中断,外部中断1中断定义为低优先级中断。中断定义为低优先级中断。PT1:定时器:定时器T1中断优先级控制位。中断优先级控制位。PT1 1,定时器,定时器T1中断定义为高优先级中断;中断定义为高优先级中断;PT1 0,定时器,定时器T1中断定义为低优先级中断。中断定义为低优先级中断。PS:串行口中断优先级控制位。:串行口中断优先级控制位。PS 1,串行口中断定义为高优先级中断;,串行口中断定义为高优先级中断;PS 0,行口中断定义为低优先级中断。,行口中断定义为低优

25、先级中断。在在 CPU接收到接收到同样优先级同样优先级的几个中断请求源时,的几个中断请求源时,一个内部的硬件查询序列确定优先服务于哪一个中一个内部的硬件查询序列确定优先服务于哪一个中断申请,这样在同一个优先级里,由查询序列确定断申请,这样在同一个优先级里,由查询序列确定了优先级结构,其优先级别排列如下:了优先级结构,其优先级别排列如下:外部中断外部中断0 最高最高 定时器定时器T0中断中断 外部中断外部中断1 定时器定时器T1中断中断 串行口中断串行口中断 最低最低#MCS51复位以后,特殊功能寄存器复位以后,特殊功能寄存器IE、IP的内容均为的内容均为0,由初始化程序对,由初始化程序对IE、

26、IP编程,以开编程,以开放中央处理器放中央处理器CPU中断、允许某些中断源中断和改中断、允许某些中断源中断和改变中断的优先级。变中断的优先级。*3中断响应过程中断响应过程 MCS51的的CPU在每一个机器周期顺序检查每一在每一个机器周期顺序检查每一个中断源。在个中断源。在机器周期的机器周期的S6采样采样并按优先级处理所并按优先级处理所有被激活的中断请求,如果没有被下述条件所阻止,有被激活的中断请求,如果没有被下述条件所阻止,将在下一个机器周期的状态将在下一个机器周期的状态S1响应激活了的最高级响应激活了的最高级中断请求。中断请求。CPU正在处理相同的或更高优先级的中断;正在处理相同的或更高优先

27、级的中断;现行的机器周期不是所执行指令的最后一个机器周现行的机器周期不是所执行指令的最后一个机器周期;期;正在执行的指令是中断返回指令(RETI)或者是对IE、IP的写操作指令(执行这些指令后至少再执行一条指令后才会响应中断)。*如果上述条件中有一个存在,CPU将丢弃中断查询的结果;若一个条件也不存在,将在紧接着的下一个机器周期执行中断查询的结果。处理器响应中断时,先置位相应的优先级状态触发器(该触发器指出CPU开始处理的中断优先级别),然后执行一条硬件子程序调用,清0中断请求源申请标志(TI和RI除外)。接着把程序计数部PC的内容压入堆栈(但不保护PSW),将被响应的中断服务程序的入口地址送

28、程序计数器PC,各中断源服务程序的入口地址为:外部中断00003H定时器T0000BH外部中断10013H定时器T1001BH串行口中断0023H通常在中断入口,安排一条跳转指令,以转移到用户设计的中断处理程序入口。CPU执行中断处理程序一直到RETI指令为止。RETI指令是表示中断服务程序的结束,CPU执行完这条指令后,清0响应中断时所置位的优先级状态触发器,然后从堆栈中弹出顶上的两个字节到程序计数器 PC,CPU从原来打断处重新执行被中断的程序。由此可见,用户的中断服务程序末尾必须安排一条返回指令RETI,CPU现场的保护和恢复必须由用户的中断服务程序实现。*一、中断处理过程一、中断处理过

29、程 中断处理过程分为四个阶段:中断请求,中断处理过程分为四个阶段:中断请求,中断响应,中断处理、中断返回。中断响应,中断处理、中断返回。MCSMCS5151系列单系列单 片机的中断过程流程如图所示。片机的中断过程流程如图所示。NNYYYN执执 行行 指指 令令中断标志中断标志1?(中断请求中断请求?)指令指令最后一个最后一个T周期周期?EA=1?允允 许许 位位=1?CPU 判判 别优别优 先权先权,响响 应优应优 先权高先权高 的中断的中断断点的断点的PC进栈进栈,中断服务入口地址送中断服务入口地址送PC撤撤 除除 中中 断断 标标 志志中中 断断 服服 务务中中 断断 返返 回回,断断 点

30、点 出出 栈栈 送送 PC 中断请求中断请求.中断响应中断响应中断服务中断服务中断返回中断返回中断请求、中断响应过程由硬件完成。中断请求、中断响应过程由硬件完成。中断服务程序应根据需要进行编写。程序中要注意保护中断服务程序应根据需要进行编写。程序中要注意保护现场和恢复现场。现场和恢复现场。中断返回是通过执行一条中断返回是通过执行一条RETIRETI中断返回指令,使堆栈中中断返回指令,使堆栈中被压入的断被压入的断 点地址送点地址送PCPC,从而返回主程序的断点继续执,从而返回主程序的断点继续执行主程序。另外行主程序。另外RETIRETI还有恢复优先级状态触发器还有恢复优先级状态触发器 的作用,的

31、作用,因此不能以因此不能以RETRET指令代替指令代替“RETIRETI”指令。指令。*二、中断请求的撤除二、中断请求的撤除 CPUCPU响应中断后,应撤除该中断请求标志,否则响应中断后,应撤除该中断请求标志,否则会再次中断。会再次中断。u对定时计数器对定时计数器T0、T1的溢出中断,的溢出中断,CPU响应中断后,硬件响应中断后,硬件自动清除中断请求标志自动清除中断请求标志TF0 TF1。u 对边沿触发的外部中断对边沿触发的外部中断INT1和和INT0,CPU响应中断后硬件响应中断后硬件自动清除中断请求标志自动清除中断请求标志IE0和和IE1。u 对于串行口中断,对于串行口中断,CPU响应中断

32、后,没有用硬件清除中断请响应中断后,没有用硬件清除中断请求标志求标志TI、RI,即这些中断标志,即这些中断标志 不会自动清除,必须用软件清不会自动清除,必须用软件清除,这是在编串行通信中断服务中应该注意的。除,这是在编串行通信中断服务中应该注意的。u 对电平触发的外部中断,对电平触发的外部中断,CPU在响应中断时也不会自动清除在响应中断时也不会自动清除中断标志,因此,在中断标志,因此,在CPU响应中断后应立即撤除响应中断后应立即撤除INT1或或INT0的的低电平信号。低电平信号。*4外部中断响应时间INT0和INT1电平在每一个机器周期的S5P2被采样并锁存到IE0、IE2中,这个新置入的IE

33、0、IEI状态等到下一个机器周期才被查询电路查询到。如果中断被激活,并且满足响应条件,CPU接着执行一条硬件子程序调用指令以转到相应的服务程序入口,该调用指令本身需两个机器周期。这样,在产生外部中断请求到开始执行中断服务程序的第一条指令之间,最少需要三个完整的机器周期。如果中断请求被前面列出的三个条件之一所阻止,则需要更长的响应时间。如果已经在处理同级或更高级中断,额外的等待时间明显地取决于别的中断服务程序的处理过程。当没有处理同级或更高级中断时,如果正在处理的指令没有执行到最后的机器周期,所需的额外等待时间不会多于3个机器周期,因为最长的指令(乘法指令MUL和除法指令 DIV)也只有 4个机

34、器周期,如果正在执行的指令为IE、IP的指令,额外的等待时间不会多于 5个机器周期(最多需一个周期完成正在处理的指令,完成下一条指令(设MUL或DIV)4个机器周期)。这样,在一个单一中断优先级的系统里,外部中断响应时间总是在38个机器周期之间。*外部中断触发方式选择1电平触发方式 若外部中断定为电平触发方式,外部引脚中断输入必须有效(保持低电平),直到CPU实际响应该中断时为止,同时在中断服务程序返回之前,外部中断输入必须无效(高电平),否则CPU返回后会再次引起中断。所以电平触发方式适合于外部中断输入以低电平输入的、而且中断服务程序能清除外部中断输入请求信号的情况。在用户系统中,可将中断输

35、入信号经一个D触发器接入,并使D触发器的D端接地,当外部中断请求的正脉冲信号出现在D触发器的CLK端时,D触发器的Q端产生负电平,INTx有效,发出中断请求,CPU执行中断服务程序时,利用一根口线,如,输出一负电平脉冲使D触发器置位,撤消中断请求。2边沿触发方式外部中断若定义为边沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变,即使CPU暂时不能响应,中断申请标志也不会丢失。在这种方式里,如果相继连续两次采样,一个周期采样到外部中断输入为高电平,下个周期采样到低电平,则置位中断申请触发器,直到CPU响应此中断时才清0。这样不会丢失中断,但输入的脉冲宽度至少保持12个时钟周期(若晶振

36、频率为6MHz,即 2S)才能被CPU采样到。外部中断的边沿触发方式适合于以脉冲形式输入的外部输入请求,如ADC0809的AD转换结果的标志信号EOC为正脉冲,取反后连到8031的INTx,就可以中断方式读取AD的转换结果。中断服务程序及例程使用MCS51的中断,要为使用到的中断源编写中断服务程序。C51为中断服务程序的编写提供了方便的方法。C51的中断服务程序是一种特殊的函数,它的说明形式为:void 函数名(void)interrupt n using m 函数体语句 这里,interrupt和using是为编写C51中断服务程序而引入的关键字,interrupt表示该函数是一个中断服务函

37、数,interrupt后的整数n表示该中断服务函数是对应哪一个中断源。每个中断源都有系统指定的中断编号:中 断 源 中 断 编 号外部中断00定时器T01外部中断12定时器T13串行口中断4using指定该中断服务程序要使用的工作寄存器组号,m为03。关键字interrupt和using只能用于中断服务函数的说明而不能用于其它函数。程序中的任何函数都不能调用中断服务函数,中断服务函数是由系统调用的。例:例:INT0端口接一开关,接一发光二极管。端口接一开关,接一发光二极管。开关闭合(接地)时,发光二极管改变一次状态。开关闭合(接地)时,发光二极管改变一次状态。#include “reg51.h

38、”#include “”Sbit P10=P10void delay(void)int a=5000;while(a)_nop_();中说明的内部函数中说明的内部函数*/INT0void int0_srv(void)interrupt 0 using 1 delay()();if(INT0=0)P10=!P10;while(INT0=0);void main()()P10=0;初始化初始化TCON、IE、IP EA=1;IT0=0;EX0=1;while(1);&+5V+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51EA&INT011111K 41K 2300

39、4图6.、例6-1例如,对本节的例例如,对本节的例1用用C语言编程语言编程#includeint0()interrupt 0 /*INT0中断函数中断函数*/P1=0 x0f;/*输入端先置输入端先置1,灯灭,灯灭*/P1=4;/*读入开关状态,并左移四位,读入开关状态,并左移四位,使开关反映在发光二极管上使开关反映在发光二极管上*/main()EA=1;/*开中断总开关开中断总开关*/EX0=1;/*允许允许INT0中断中断*/IT0=1;/*下降沿产生中断下降沿产生中断*/while(1);/*等待中断等待中断*/P1.189C51P1.0P1.2P1.4P1.3P1.5P1.6&1K 2

40、INT1驱动器+5Vag图6.EA*法法1:在主程序中控制中断次数:在主程序中控制中断次数#includechar i;code char tab16=0 x3f,0 x06,0 x5b,0 x4F,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;int()interrupt 2i+;/*计中断次数计中断次数*/P1=tabi;/*查表,次数送显示查表,次数送显示*/main()EA=1;EX1=1;IT1=1;ap5:P1=0 x3f;/*显示显示“0”*/for(i=0;i16;);/*当当I1

41、6等待中断等待中断*/goto ap5;/*当当i=16重复下重复下 一轮一轮16次中次中*/法二:在中断服务程序中控制中断次数法二:在中断服务程序中控制中断次数#includechar i;code char tab16=0 x3f,0 x06,0 x5b,0 x4F0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;int()interrupt 2 i+if(i16)P1=tabi;elsei=0;P1=0 x3f;main()EA=1;EX1=1;IT1=1;P1=0 x3f;while(1);/

42、*等待中断等待中断*/89C51P1.0P1.7INT1+5V作业:中断控制流水灯定时定时/计数器计数器定时定时/计数器控制寄存器计数器控制寄存器定时定时/计数器运行控制计数器运行控制定时定时/计数器工作方式计数器工作方式通常实现定时通常实现定时/计数有计数有3种主要方法种主要方法:软件定时,软件定时,即让机器执行一个程序段,这段程序本身没即让机器执行一个程序段,这段程序本身没有具体的执行目的,只是为了磨时间。执行这段程序所有具体的执行目的,只是为了磨时间。执行这段程序所需要的时间就是延时时间。这种程序前面已设计过。这需要的时间就是延时时间。这种程序前面已设计过。这种方法定时占用种方法定时占用

43、CPU执行时间,降低了执行时间,降低了CPU利用率。利用率。数字电路硬件定时:数字电路硬件定时:采用小规模集成电路器件如采用小规模集成电路器件如555,外接定时部件外接定时部件(电阻和电容电阻和电容)构成。这样的定时电路简单,构成。这样的定时电路简单,但要改变定时范围,必须改变电阻和电容,这种定时电但要改变定时范围,必须改变电阻和电容,这种定时电路在硬件连接好以后,修改不方便。路在硬件连接好以后,修改不方便。可编程定时可编程定时/计数器计数器是为方便微型计算机系统的设计和是为方便微型计算机系统的设计和应用而研制的,它是硬件定时,又很容易地通过软件来应用而研制的,它是硬件定时,又很容易地通过软件

44、来确定和改变它的定时值,通过初始化编程,能够满足各确定和改变它的定时值,通过初始化编程,能够满足各种不同的定时和计数要求,因而在嵌入式系统的设计和种不同的定时和计数要求,因而在嵌入式系统的设计和应用中得到广泛的应用。(基本原理)应用中得到广泛的应用。(基本原理)8051型有两个型有两个十六位十六位定时定时/计数器计数器T0、T1,有四种工,有四种工作方式。作方式。MCS51系列单片机的定时系列单片机的定时/计数器有几计数器有几个相关的特殊功能寄存器:个相关的特殊功能寄存器:方式控制寄存器方式控制寄存器TMOD;加法计数寄存器加法计数寄存器TH0、TH1(高八位)(高八位)TL0、TL1(低八位

45、);(低八位);定时定时/计数到标志计数到标志TF0、TF1(中断控制寄存器(中断控制寄存器TCON)定时定时/计数器启停控制位计数器启停控制位TR0、TR1(TCON)定时定时/计数器中断允许位计数器中断允许位ET0、ET1(中断允许寄存(中断允许寄存IE)定时定时/计数器中断优先级控制位计数器中断优先级控制位PT0、PT1(中断优(中断优IP)1.定时工作方式定时工作方式 设置为定时工作方式时,定时器计数的脉冲是由设置为定时工作方式时,定时器计数的脉冲是由51单片机片内单片机片内振荡器经振荡器经12分频后产生的。分频后产生的。每经过一个机器周期定时器每经过一个机器周期定时器(T0或或T1)

46、的数值加的数值加1直至计数满产生直至计数满产生溢出。溢出。如:当如:当8051采用采用12MHz晶体时,每个机器周期为晶体时,每个机器周期为1s,计,计5 个机器个机器周期即为周期即为5 s,即定时,即定时5 s。2.计数工作方式计数工作方式 设置为计数工作方式时,定时设置为计数工作方式时,定时/计数器对引脚计数器对引脚 P3.4(T0)和和P3.5(T1)输入的外部脉冲信号计数。输入的外部脉冲信号计数。当输入脉冲信号产生由当输入脉冲信号产生由1至至0的下降沿时,定时器的值的下降沿时,定时器的值 加加 1。测。测量过程是:量过程是:CPU前一个机器周期采样脉冲值为高,下一个机器周前一个机器周期

47、采样脉冲值为高,下一个机器周期采样脉冲值为低,则计数器加期采样脉冲值为低,则计数器加 1。由于检测一个由于检测一个1 1至至0 0的跳变需要二个机器周期,故最高计数的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一。频率为振荡频率的二十四分之一。虽然对输入信号的占空比无特殊要求,但为了确保某个电平虽然对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。的机器周期。无论是定时还是计数,当软件设定了定时无论是定时还是计数,当软件设定了定时/计数器的工作方式,计数器的工

48、作方式,启动以后,定时启动以后,定时/计数器就按规定的方式工作,不占用计数器就按规定的方式工作,不占用CPU的操作的操作时间,此时时间,此时CPU可执行其他程序,到了计满规定的时间或规定的可执行其他程序,到了计满规定的时间或规定的个数(定时个数(定时/计数器溢出),定时计数器溢出),定时/计数器会给出溢出标志,你可以计数器会给出溢出标志,你可以通过查询或中断方式通过查询或中断方式了解是否溢出。这种工作的方式如同人带的了解是否溢出。这种工作的方式如同人带的手表,人在工作或睡觉,而手表依然滴滴答答行走,你可以通过手表,人在工作或睡觉,而手表依然滴滴答答行走,你可以通过看表或设闹钟方式,到了规定的时

49、间,干你想干的事。看表或设闹钟方式,到了规定的时间,干你想干的事。定时计数器定时计数器方式控制方式控制寄存器寄存器TMOD 定时计数器的工作方式由定时计数器的工作方式由TMOD的各位控制,的各位控制,TMOD的格式为:的格式为:TMOD的低四位为的低四位为T0的方式字,高四位为的方式字,高四位为T1的方的方式字。式字。TMOD不能位寻址,必须整体赋值不能位寻址,必须整体赋值。TMOD各各位的含义如下位的含义如下:1.工作方式选择位工作方式选择位M1、M0 M1、M0的状态决定定时器的工作方式:的状态决定定时器的工作方式:2.定时和外部事件计数方式选择位定时和外部事件计数方式选择位C/T C/T

50、0为定时器方式。在该方式中,以振荡器输出时为定时器方式。在该方式中,以振荡器输出时钟脉冲钟脉冲(fosc)的十二分频信号(即机器周期)作为计数信号,的十二分频信号(即机器周期)作为计数信号,也就是每一个机器周期也就是每一个机器周期,定时器加定时器加1,若晶振为,若晶振为12MHz,则定时器计数频率为则定时器计数频率为1MHz,计数的脉冲周期为,计数的脉冲周期为1S。定。定时器从初值开始加时器从初值开始加1计数直至定时器溢出。计数直至定时器溢出。C/T1为外部事件计数器方式,这种方式为外部事件计数器方式,这种方式将外部引脚(将外部引脚(T0为为P3.4、T1为为P3.5)上的输)上的输入脉冲作为

51、计数脉冲。(下降沿进行计数)入脉冲作为计数脉冲。(下降沿进行计数)外部事件计数时最高计数频率为晶振频外部事件计数时最高计数频率为晶振频率的二十四分之一,外部输入脉冲高电平和率的二十四分之一,外部输入脉冲高电平和低电平时间必须在一个机器周期以上。低电平时间必须在一个机器周期以上。对外部输入脉冲计数的目的通常是为了对外部输入脉冲计数的目的通常是为了测试脉冲的周期、频率或对输入的脉冲数进测试脉冲的周期、频率或对输入的脉冲数进行累加。行累加。3.门控位门控位GATE GATE与与TR0、TR1配合决定定时配合决定定时/计数器的启停。计数器的启停。GATE=0时,定时器时,定时器/计数器的启停只受定时器

52、计数器的启停只受定时器运行控制位(运行控制位(TR0、TR1)的控制。)的控制。(软件启动)GATE=1时,定时器时,定时器/计数器的启停除受计数器的启停除受TR0、TR1控制外,还受外部引脚(控制外,还受外部引脚(INT0、INT1)输入电)输入电平的控制(平的控制(为高为高)。即)。即TR0和和INT0控制控制T0的运行,的运行,TR1和和INT1控制控制T1的运行的运行(软硬启动)定时器运行控制位定时器运行控制位在特殊功能寄存器在特殊功能寄存器 TCON中存放着定时器的运行控制位中存放着定时器的运行控制位和溢出标志位。和溢出标志位。1定时器定时器T0运行控制位运行控制位TR0TR0()由

53、软件置位和清零。()由软件置位和清零。当当GATE=0时,时,T0的计数仅由的计数仅由TR0控制,控制,TR0=1时允许时允许T0计计数,数,TR0=0时禁止时禁止T0计数,这时,定时器仅由软件控制。计数,这时,定时器仅由软件控制。当当GATE=1时,仅当时,仅当TR0=1且的输入信号为且的输入信号为高电平高电平时时T0才计数,当才计数,当TR0为为0或或的输入为低电平时都禁止的输入为低电平时都禁止T0计数,这计数,这时,若置时,若置TR0为为1,则定时器仅由引脚信号的状态控制启停,因,则定时器仅由引脚信号的状态控制启停,因而是硬件控制的。用而是硬件控制的。用TR0和和INT0一起控制定时器的

54、启停,则为一起控制定时器的启停,则为软、硬件配合控制。软、硬件配合控制。2定时器定时器 T1运行控制位运行控制位TR1 定时定时/计数器的工作方式计数器的工作方式MCS51的定时器有方式的定时器有方式0、方式、方式1、方式、方式2和和方式方式3这这4种工作方式。种工作方式。当当M1M0=00时,定时器工作于方式时,定时器工作于方式0。12振荡器T0端TR0GATEINT0端C/T=0C/T=1TL0(5位)TH0(8位)TF0中断控制 定时计数器0工作方式0与 方式方式 0为为13位的计数器,由位的计数器,由TL0的低的低5位和位和TH0的的8位位组成,组成,TL0低低5位计数溢出时向位计数溢

55、出时向TH0进位,进位,TH0计数溢出时计数溢出时置位溢出标志置位溢出标志TF0。若。若T0工作于定时方式,设计数初值为工作于定时方式,设计数初值为a,晶振频率为,晶振频率为12MHz,则,则T0从初值开始计数到溢出的定从初值开始计数到溢出的定时时间为时时间为 t(213a)1S。2.方式方式1当当M1M0=01时,定时器工作于方式时,定时器工作于方式1。12振荡器T1端TR1GATEINT1端C/T=0C/T=1TL1(8位)TH1(8位)TF1中断控制 定时计数器工作方式1T1工作于方式工作于方式1时,由时,由TH1作为高作为高8位,位,TL1作为低作为低8位,构成一个十六位的计数器。若位

56、,构成一个十六位的计数器。若T1工作于定时方式工作于定时方式1,计数初值为计数初值为 a,晶振频率为,晶振频率为12MHz,则,则T1从计数初值计从计数初值计数到溢出的定时时间为数到溢出的定时时间为t=(216a)S。3.方式方式2M1M0=10时,定时器计数器工作于方式时,定时器计数器工作于方式2,方式,方式2为自动恢复初值的为自动恢复初值的 8位计数器。位计数器。TL1作为作为8位计数器,位计数器,TH1作为计数初值寄存器。作为计数初值寄存器。t=(28a)S。12振荡器T1端TR1GATEINT1端C/T=0C/T=1TL1(8位)TH1(8位)TF1中断控制 定时/计数器工作方式2重新

57、装入*M1M0=11时,被设置为方式时,被设置为方式3。12foscT0端TR0GATEINT0端C/T=0C/T=1TL0(8位)TF0中断控制定时/计数器工作方式31/12 fosc1/12 foscTR1TF1中断1/12 foscTH0(8位)控制 若若T1设置为工作方式设置为工作方式3时,则使时,则使T1停止计数。停止计数。若若T0被设置为方式被设置为方式3,则,则T0分为两个独立的分为两个独立的8位计数位计数器器TL0和和TH0。TL0可作为八位定时可作为八位定时/计数器,可使用计数器,可使用T0的所有的所有状态控制位(状态控制位(GATE、TR0、INT0(P3.2)、)、T0(

58、P3.4)、)、TF0等),等),TL0计数溢出时置位溢出标计数溢出时置位溢出标志志TF0,TL0计数初值必须由软件每次设定。计数初值必须由软件每次设定。TH0只能作为一个只能作为一个8位定时器,并使用位定时器,并使用T1的状态控的状态控制位制位TR1、TF1。TRl为为1时,允许时,允许TH0计数,当计数,当TH0计数溢出时,置计数溢出时,置1溢出标志溢出标志TF1。一般只有当一般只有当T1用于串行口的波特率发生器时,用于串行口的波特率发生器时,T0才在需要时用于方式才在需要时用于方式3,以增加一个计数器。这,以增加一个计数器。这时时T1的启停也受的启停也受TR1控制,当控制,当T1计数溢出

59、时不置计数溢出时不置位位TF1。定时定时/计数器应用举例计数器应用举例使用使用MCS51单片机的定时单片机的定时/计数器的步骤是:计数器的步骤是:1设定设定TMOD,确定:,确定:工作状态工作状态(用作定时器用作定时器/计数器计数器);工作方式;工作方式;控制方式。控制方式。如:如:T1用于定时器、方式用于定时器、方式1,T0用于计数器、方式用于计数器、方式2,均用软件控制。则均用软件控制。则TMOD的值应为:的值应为:0001 0110,即即0 x16。2设置合适的计数初值,以产生期望的定时间隔。设置合适的计数初值,以产生期望的定时间隔。由于定时由于定时/计数器在方式计数器在方式0、方式、方

60、式1和方式和方式2时的最大时的最大计数间隔取决于使用的晶振频率计数间隔取决于使用的晶振频率fosc,如下表所示,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。将定时间隔分段处理。计数初值的计算方法如下,设晶振频率为计数初值的计算方法如下,设晶振频率为fosc,则定时则定时/计数器计数频率为计数器计数频率为fosc/12,定时,定时/计数器计数器的计数总次数的计数总次数T_all在方式在方式0、方式、方式1和方式和方式2时分别时分别为为213=8192、216=65536和和28=256,定时间,定时间隔为隔为T,计数初值

61、为,计数初值为a,则有,则有 T=12(T_all a)/fosc a=T_all Tfosc/12 a=Tfosc/12(注意单位)(注意单位)THx=a/256;TLx=a%256;3确定定时确定定时/计数器工作于查询方式还是中断方式,计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时若工作于中断方式,则在初始化时开放定时/计数器计数器的中断及总中断:的中断及总中断:ET0=1;EA=1;还需要编写中断服务函数:还需要编写中断服务函数:void T0_srv(void)interrupt 1 using 1 TL0=a%256;TH0=a/256;中断服务程序段中断服

62、务程序段 4启动定时器:启动定时器:TR0(TR1)=1。如图所示,如图所示,P1中接有八个发光二极中接有八个发光二极管,编程使八个管轮流管,编程使八个管轮流点亮,每个管亮点亮,每个管亮100ms,设晶振为设晶振为6MHz。7.4.3 7.4.3 应用编程举例应用编程举例例例1:从输出方波信号,周期为从输出方波信号,周期为50ms。采用定时采用定时/计数器计数器T0用于定时器,定时间隔为用于定时器,定时间隔为25ms,软件控制,方式软件控制,方式1,中断方式。设,中断方式。设fosc=6MHz。定时计数初值为:定时计数初值为:a=-0.025*6000000/12=-12500#include

63、 “reg51.h”void main()()TMOD=0 x01;TH0=-12500/256;TL0=-12500%256;ET0=1;EA=1;TR0=1;While(1););void T0_srv(void)interrupt 1 using 1TL0=-12500%256;TH0=-12500/256;P10=!P10;例例2:从输出方波信号,周期为从输出方波信号,周期为2s。(同。(同72)实现一:实现一:硬件定时硬件定时+软件计数软件计数 采用采用T0s,中断方,中断方式。另设一全局变量式。另设一全局变量ah1ah1加加1。定时计数初值为:定时计数初值为:(设设fosc=6MH

64、z)a=-0.1*6000000/12=-50000#include “reg51.h”char ah1;void main()()TMOD=0 x01;TH0=-50000/256;TL0=-50000%256;ET0=1;EA=1;TR0=1;While(1););void T0_srv(void)interrupt 1 using 1TL0=-50000%256;TH0=-50000/256;ah1+;if(ah1=10)ah1=0;P10=!P10;*实现二:实现二:(1)T1做计数器,初值为做计数器,初值为-10,方式,方式2,中断方式。,中断方式。与与T1()相连()相连。(2)T

65、0s,方式,方式1,中断,中断输出一个方波:输出一个方波:P11=1;P11=0;#include “reg51.h”char ah1;void main()()TMOD=0 x61;TH0=-5000/256;TL0=-5000%256;TH1=-10;TL1=-10;ET0=1;ET1=1;EA=1;TR0=1;TR1=1;While(1););void T0_srv(void)interrupt 1 using 1TL0=-50000%256;TH0=-50000/256;P11=1;P11=0;void T1_srv(void)interrupt 3 using 2P10=!P10;*

66、例例3:设输入低频的窄脉冲信号,要求在输入发设输入低频的窄脉冲信号,要求在输入发生负跳变时,输出一个生负跳变时,输出一个500S的同步脉冲。的同步脉冲。设设fosc=6MHz,的初态为高电平,的初态为高电平(1)平时)平时T0选为方式选为方式2做计数器用,做计数器用,初值为初值为-1(0FFH););(2)一旦输入发生负跳变时,程序查询到)一旦输入发生负跳变时,程序查询到TF0变为变为1,则,则T0改为做定时器(改为做定时器(500S),并使),并使输出低电平,输出低电平,T0溢出后恢复高电平,溢出后恢复高电平,T0又工又工作于计数器方式。作于计数器方式。#include “reg51.h”void main()()TMOD=0 x06;/*T0计数器,方式计数器,方式2,软件控制,软件控制*/TH0=-250;TL0=-1;/*或或TL0=255*/TR0=1;while(1)while(TF0=0););TF0=0;/非中断方式非中断方式 TMOD=0 x02;/*T0定时器,方式定时器,方式2*/P10=0;while(!TF0););TF0=0;P10=1;TMOD=0 x06

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!