2.1C单片机的中断与定时ppt课件_第1页
2.1C单片机的中断与定时ppt课件_第2页
2.1C单片机的中断与定时ppt课件_第3页
2.1C单片机的中断与定时ppt课件_第4页
2.1C单片机的中断与定时ppt课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、第第5 5章章 80C5180C51单片机的中断与定时单片机的中断与定时教学基本要求:教学基本要求:(1 1了解单片机系统有关中断的概念;了解单片机系统有关中断的概念;(2 2了解单片机定时器了解单片机定时器/ /计数器的功能;计数器的功能;(3 3熟悉与中断控制有关的控制寄存器的功能及用法;熟悉与中断控制有关的控制寄存器的功能及用法;(4 4熟悉与定时熟悉与定时/ /计数控制有关的控制寄存器功能及用法;计数控制有关的控制寄存器功能及用法;(5 5掌握单片机中断系统的应用方法;掌握单片机中断系统的应用方法;(6 6掌握单片机定时器掌握单片机定时器/ /计数器的应用方法;计数器的应用方法;教学重

2、点:教学重点:(1 1单片机中断系统的中断服务流程;单片机中断系统的中断服务流程;(2 2单片机定时器单片机定时器/ /计数器的工作方式计数器的工作方式0 0、2 2;教学难点:教学难点: (1 1中断采样、中断查询、中断响应、中断撤消中断采样、中断查询、中断响应、中断撤消某人看书某人看书某人正在处理一件事某人正在处理一件事A电话铃响电话铃响出现另一件须立即解决的事出现另一件须立即解决的事B暂停看书暂停看书中止中止A 书中作记号书中作记号记录断点,便于接续记录断点,便于接续 电话谈话电话谈话处理处理B继续看书继续看书继续继续A的工作的工作保护断点保护断点中断响应中断响应中断请求中断请求中断返回

3、中断返回1.中断的概念中断的概念 (1现实生活中的中断:现实生活中的中断:5.1 中断概述中断概述 中断原因:中断原因: 一个人不可能同时一个人不可能同时完成两项任务。完成两项任务。 单片机单片机只有一个只有一个CPU,一旦面临多任,一旦面临多任务,它也会中断吗?务,它也会中断吗?先接电话,然先接电话,然后再继续看书,后再继续看书,这样效率最高!这样效率最高!(2单片机中的中断单片机中的中断CPU在处理某一事件在处理某一事件A时,发生了另一事件时,发生了另一事件B请求请求CPU迅速去处理中断发生或中断请求);迅速去处理中断发生或中断请求);CPU暂时中断当前的工作,转去处理事件暂时中断当前的工

4、作,转去处理事件B中断响应中断响应和中断服务);和中断服务);待待CPU将事件将事件B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A被中断被中断的地方继续处理事件的地方继续处理事件A中断返回)。中断返回)。中断请求中断请求中断响应中断响应中断服务中断服务中断返回中断返回中断过程中断过程事件事件B的的处理过程处理过程事件事件A事件事件B 当中央处理器当中央处理器CPUCPU正在处理某件事情的时候,外界发生了紧正在处理某件事情的时候,外界发生了紧急事件请求,要求急事件请求,要求CPUCPU暂停当前的工作,转而去处理这个紧急事暂停当前的工作,转而去处理这个紧急事件。处理完毕后,再回到原来被暂

5、停的地方,继续原来的工作,件。处理完毕后,再回到原来被暂停的地方,继续原来的工作,这样的过程称为中断。这样的过程称为中断。 2.2.中断嵌套中断嵌套 即指在中断过程中又发生了新中断的现象。即指在中断过程中又发生了新中断的现象。 3.3.中断源中断源 向向CPUCPU发出中断请求的来源。发出中断请求的来源。 4.4.中断请求或中断申请中断请求或中断申请 中断源要求中断源要求CPUCPU为其服务的请求。为其服务的请求。 5. 5.中断查询中断查询 指指CPUCPU通过测试中断控制寄存器中各标志位的状态,以确定通过测试中断控制寄存器中各标志位的状态,以确定有没有中断请求发生以及是哪一个中断源提出中断

6、请求的过程。有没有中断请求发生以及是哪一个中断源提出中断请求的过程。 6.6.中断响应中断响应 即指即指CPUCPU对中断源提出的中断请求的接受,发生在中断查询对中断源提出的中断请求的接受,发生在中断查询之后。之后。 7.7.中断处理或中断服务中断处理或中断服务 中断处理就是执行中断服务程序。中断处理就是执行中断服务程序。 8. 8.中断返回中断返回 中断返回是指中断返回是指CPUCPU在执行完中断服务程序后,返回原来暂停在执行完中断服务程序后,返回原来暂停的地方断点),继续执行原来程序的过程。的地方断点),继续执行原来程序的过程。5.2.1 5.2.1 中断源与中断向量中断源与中断向量 80

7、C5180C51单片机共有单片机共有5 5个中断源,即外部中断个中断源,即外部中断2 2个、定时中断个、定时中断2 2个个和串行中断和串行中断1 1个。个。(1 1外中断外中断 (a a由外部信号引起,共有由外部信号引起,共有2 2个中断源,即外部中断个中断源,即外部中断“0 0和和外部中断外部中断“1”1”。由。由/INT0/INT0P3.2P3.2和和/INT1/INT1P3.3P3.3引入。引入。 (b b外中断的两种信号触发方式通过有关控制位定义)外中断的两种信号触发方式通过有关控制位定义) 电平方式:低电平有效电平方式:低电平有效脉冲方式:脉冲下降沿有效,高低电平状态都应至少维持一个

8、脉冲方式:脉冲下降沿有效,高低电平状态都应至少维持一个 机器周期。机器周期。5.2 80C515.2 80C51单片机的中断系统单片机的中断系统(2 2定时中断定时中断 定时中断是为满足定时或计数的需要设置的。定时中断是为满足定时或计数的需要设置的。80C5180C51单片机单片机共有共有2 2个定时器个定时器/ /计数器中断源,即计数器中断源,即T0T0和和T1T1。 定时器定时器/ /计数器内部的计数结构对脉冲信号进行计数,当计计数器内部的计数结构对脉冲信号进行计数,当计数结构发生计数溢出时,即表明定时时间到或计数值已满,此时数结构发生计数溢出时,即表明定时时间到或计数值已满,此时就以计数

9、溢出信号作为中断请求信号,向就以计数溢出信号作为中断请求信号,向CPUCPU申请中断,同时置申请中断,同时置位一个溢出标志位,作为向单片机提出中断请求的标志。位一个溢出标志位,作为向单片机提出中断请求的标志。 定时器定时器/ /计数器作为定时功能使用时,计数结构需要的计数计数器作为定时功能使用时,计数结构需要的计数脉冲信号来自单片机内部。脉冲信号来自单片机内部。 定时器定时器/ /计数器作为计数功能使用时,计数结构需要的计数计数器作为计数功能使用时,计数结构需要的计数脉冲信号来自单片机外部,由脉冲信号来自单片机外部,由T0T0P3.4P3.4)、)、T1T1P3.5P3.5引入。引入。(3 3

10、串行中断串行中断 串行中断是为串行数据传送的需要设置的。每当串行口接收串行中断是为串行数据传送的需要设置的。每当串行口接收或发送完一组串行数据时,就产生中断请求信号向或发送完一组串行数据时,就产生中断请求信号向CPUCPU申请中断。申请中断。2 2、中断向量:中断服务程序的入口地址、中断向量:中断服务程序的入口地址80C5180C51单片机的中断向量列表单片机的中断向量列表 外部中断外部中断0 0003H 0 0003H 定时定时/ /计数器计数器0 000BH0 000BH 外部中断外部中断1 0013H 1 0013H 定时定时/ /计数器计数器0 001BH0 001BH 串行发送中断串

11、行发送中断 0023H 0023H 串行接收中断串行接收中断 0023H0023H5.2.2 中断控制中断控制 所谓中断控制就是指单片机提供给用所谓中断控制就是指单片机提供给用户使用的中断控制的手段,用户可通过户使用的中断控制的手段,用户可通过设置中断控制寄存器的状态位来使用中设置中断控制寄存器的状态位来使用中断系统。断系统。 中断控制的本质就是利用指令对中中断控制的本质就是利用指令对中断控制寄存器进行操作。断控制寄存器进行操作。 80C51具有具有4个相关的控制寄存器:个相关的控制寄存器:TCON,IE,IP,SCON。 (1 1定时器控制寄存器定时器控制寄存器TCONTCON) TCONT

12、CON的功能:用于保存外部中断请求以及定时器的功能:用于保存外部中断请求以及定时器/ /计数器的计数器的计数溢出信号。计数溢出信号。TCONTCON的字节地址:的字节地址:88H88H;位地址:;位地址:8FH8FH88H88H。 TCONTCON的内容及格式如下:的内容及格式如下:位地址位地址 8FH 8EH 8DH 8CH 8BH 8AH89H88H位符号位符号 TF1 TR1TF0TR0IE1IT1IE0IT0 与中断控制有关的控制位共有与中断控制有关的控制位共有6 6位:位:(a aIE0IE0、IE1IE1:外中断请求标志位:外中断请求标志位 CPUCPU采样采样/INT0/INT0

13、,/INT1/INT1端,如出现有效中断请求信号,则由端,如出现有效中断请求信号,则由硬件电路对该位自动置硬件电路对该位自动置1 1。在中断响应后,由硬件电路对该位自。在中断响应后,由硬件电路对该位自动清动清0 0。 (b bIT0IT0、IT1IT1:外中断请求触发方式控制位:外中断请求触发方式控制位 IT0IT0IT1IT1)=1=1,脉冲方式后沿负跳有效);,脉冲方式后沿负跳有效); IT0IT0IT1IT1)=0=0,电平方式低电平有效);,电平方式低电平有效); 由软件置由软件置1 1或清或清0 0,即人工编程。,即人工编程。 例:例: SETB IT0SETB IT0;或;或CLR

14、 IT0CLR IT0;(C CTF0TF0、TF1TF1:计数溢出标志位:计数溢出标志位 当计数结构产生溢出时,由硬件电路对该位自动置当计数结构产生溢出时,由硬件电路对该位自动置1 1; 当转向中断服务时,再由硬件电路对该位自动清当转向中断服务时,再由硬件电路对该位自动清0 0。 计数溢出标志位的使用有两种情况:计数溢出标志位的使用有两种情况: 1 1采用中断方式时,作中断请求标志位使用;采用中断方式时,作中断请求标志位使用; 2 2采用查询方式时,作查询状态位来使用,必须利用软件采用查询方式时,作查询状态位来使用,必须利用软件对该位清对该位清0 0。 (2 2串行口控制寄存器串行口控制寄存

15、器SCONSCON) SCONSCON的功能:用于串行数据通信的控制。的功能:用于串行数据通信的控制。 SCONSCON的字节地址:的字节地址:98H98H;位地址:;位地址:9FH9FH98H98H。 SCONSCON的内容及格式如下:的内容及格式如下:位地址位地址9FH9EH 9DH 9CH 9BH 9AH99H98H位符号位符号 SM0 SM1 SM2 REN TB8RB8TIRI 与中断控制有关的控制位共有与中断控制有关的控制位共有2 2位:位:(a aTITI:串行口发送中断请求标志位:串行口发送中断请求标志位 发送完一帧串行数据后,由硬件电路对该位自动置发送完一帧串行数据后,由硬件

16、电路对该位自动置1 1,在转,在转向中断服务程序后,用软件对该位清向中断服务程序后,用软件对该位清0 0。(b bRIRI:串行口接收中断请求标志位:串行口接收中断请求标志位 接收完一帧数据后,由硬件电路对该位自动置接收完一帧数据后,由硬件电路对该位自动置1 1,在转向中,在转向中断服务程序后,用软件对该位清断服务程序后,用软件对该位清0 0。 TI TI、RIRI标志位的使用有两种情况:标志位的使用有两种情况: 1 1采用中断方式时,作中断请求标志位使用;采用中断方式时,作中断请求标志位使用; 2 2采用查询方式时,作查询状态位来使用;采用查询方式时,作查询状态位来使用; 无论采用何种方式,

17、都必须利用软件对该位清无论采用何种方式,都必须利用软件对该位清0 0。(3 3中断允许控制寄存器中断允许控制寄存器IEIE) IEIE的功能:中断系统的开关。的功能:中断系统的开关。 IEIE的字节地址:的字节地址:0A8H0A8H;位地址:;位地址:0AFH0AFH0A8H0A8H。 IEIE的内容及格式如下:的内容及格式如下:位地址位地址AFHAFHAEHAEHADHADHACHACHABHABHAAHAAHA9HA9HA8HA8H位符号位符号EAEA/ / /ESESET1ET1EX1EX1ET0ET0EX0EX0 与中断控制有关的控制位共有与中断控制有关的控制位共有6位:位:(a aE

18、AEA:中断允许总控制位:中断允许总控制位 EA=0EA=0:中断总禁止;:中断总禁止; EA=1EA=1:中断总允许;:中断总允许;(b bEX0EX0、EX1EX1:外部中断允许控制位:外部中断允许控制位 EX0EX0、EX1=0EX1=0:禁止外中断;:禁止外中断; EX0EX0、EX1=1EX1=1:允许外中断;:允许外中断;(c cET0ET0、ET1ET1:定时器:定时器/ /计数器中断允许控制位计数器中断允许控制位 ET0ET0、ET1=0ET1=0,禁止定时或计数中断;,禁止定时或计数中断; ET0ET0、ET1=1ET1=1,允许定时或计数中断;,允许定时或计数中断;(d d

19、ESES:串行中断允许控制位:串行中断允许控制位 ES=0ES=0,禁止串行中断;,禁止串行中断; ES=1ES=1,允许串行中断;,允许串行中断; 注意:注意: 1 180C5180C51单片机复位后单片机复位后IEIE)=00H=00H,即中断系统处于禁止状态,即中断系统处于禁止状态; 2 2单片机在中断响应后不会自动关闭中断,需使用有关指令(单片机在中断响应后不会自动关闭中断,需使用有关指令( 将将EAEA复位禁止中断,即以软件方式关闭中断。复位禁止中断,即以软件方式关闭中断。(4 4中断优先级控制寄存器中断优先级控制寄存器IPIP) IPIP的功能:决定各中断源的优先权。的功能:决定各

20、中断源的优先权。 IPIP的字节地址:的字节地址:0B8H0B8H;位地址:;位地址:0BFH0BFH0B8H0B8H。 IPIP的内容及格式如下:的内容及格式如下:位地址位地址BFHBFHBEHBEHBDHBDHBCHBCHBBHBBHBAHBAHB9HB9HB8HB8H位符号位符号/ / / /PSPSPT1PT1PX1PX1PT0PT0PX0PX0 与中断控制有关的控制位共有与中断控制有关的控制位共有5 5位:位:(a aPX0PX0:外部中断:外部中断0 0优先级设定位;优先级设定位; (b bPT0PT0:定时中断:定时中断0 0优先级设定位;优先级设定位;(c cPX1PX1:外部

21、中断:外部中断1 1优先级设定位优先级设定位 ;(d dPT1PT1:定时中断:定时中断1 1优先级设定位优先级设定位 ;(e ePSPS:串行中断优先级设定位;:串行中断优先级设定位; 为为0 0的位优先级为低,为的位优先级为低,为1 1的优先级为高。的优先级为高。5.2.3 中断优先级控制中断优先级控制 中断优先级是为中断嵌套服务的。中断优先级是为中断嵌套服务的。80C51单片机具有两单片机具有两级优先级,因此它具备两级中断服务嵌套的功能,其中断优级优先级,因此它具备两级中断服务嵌套的功能,其中断优先级的控制原则是:先级的控制原则是:(a低优先级中断请求不能打断高优先级的中断服务,但低优先

22、级中断请求不能打断高优先级的中断服务,但高优先级中断请求可以打断低优先级的中断服务,实现中断高优先级中断请求可以打断低优先级的中断服务,实现中断嵌套。嵌套。(b如一个中断请求已被响应,则同级的其它中断响应将如一个中断请求已被响应,则同级的其它中断响应将被禁止。即同级不能嵌套。被禁止。即同级不能嵌套。(c如果同级的多个中断请求同时出现,则按如果同级的多个中断请求同时出现,则按CPU查询次查询次序确定那个中断请求被响应。序确定那个中断请求被响应。 CPU查询次序:查询次序: 外部中断外部中断0定时中断定时中断0外部中断外部中断1定时中断定时中断1串行中断串行中断 中断优先级控制,除了中断优先级控制

23、寄存器之外,中断优先级控制,除了中断优先级控制寄存器之外,还有两个不可寻址的优先级状态触发器:还有两个不可寻址的优先级状态触发器: 一个用于指示某一高优先级中断正在进行服务,从而一个用于指示某一高优先级中断正在进行服务,从而屏蔽其它高优先级中断;另一个用于指示某一低优先级中屏蔽其它高优先级中断;另一个用于指示某一低优先级中断正在进行服务,从而屏蔽其它低优先级中断,但不能屏断正在进行服务,从而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。蔽高优先级的中断。中断初始化与中断控制寄存器状态设置中断初始化与中断控制寄存器状态设置 80C5180C51单片机的中断系统在使用之前,必须在单片单片机的中断

24、系统在使用之前,必须在单片机的应用程序初始化部分进行设置,具体情况如下:机的应用程序初始化部分进行设置,具体情况如下:(a a外部中断:中断总允许、外中断允许、中断触发外部中断:中断总允许、外中断允许、中断触发方式设定方式设定(b b定时中断:中断总允许、定时中断允许;定时中断:中断总允许、定时中断允许;(c c串行中断:中断总允许、串行中断允许。串行中断:中断总允许、串行中断允许。 80C5180C51单片机中断系统的单片机中断系统的4 4个控制寄存器既可以进行个控制寄存器既可以进行字节寻址,又可进行位寻址,对位状态的设置,既可以字节寻址,又可进行位寻址,对位状态的设置,既可以使用字节操作指

25、令,又可以使用位操作指令。使用字节操作指令,又可以使用位操作指令。 例:设要开放外中断例:设要开放外中断0 0,则可以使用以下指令:,则可以使用以下指令: MOV IEMOV IE, #81H#81H;或;或 SETB EASETB EA; SETB SETB EX0EX0; 80C5180C51单片机中断系统内部结构图单片机中断系统内部结构图 5.2.4 5.2.4 中断响应过程中断响应过程 中断响应过程发生在中断查询之后,包括中断响应、中断处中断响应过程发生在中断查询之后,包括中断响应、中断处理、中断返回三个阶段。因而,必须首先研究中断查询。理、中断返回三个阶段。因而,必须首先研究中断查询

26、。 所谓中断查询就是指所谓中断查询就是指CPUCPU通过测试通过测试TCONTCON和和SCONSCON中各标志位的中各标志位的状态,以确定有没有中断请求发生以及是哪一个中断源提出中断状态,以确定有没有中断请求发生以及是哪一个中断源提出中断请求的过程。请求的过程。 中断请求标志位的置位方式由于单片机中断类型的不同而存中断请求标志位的置位方式由于单片机中断类型的不同而存在差异。在差异。 (a a对于外中断,必须通过采样的方法把外中断请求信号锁对于外中断,必须通过采样的方法把外中断请求信号锁定在定在TCONTCON的相应标志位中;的相应标志位中; (b b对于定时中断和串行中断,可以通过硬件电路直

27、接置位对于定时中断和串行中断,可以通过硬件电路直接置位的方法将的方法将TCONTCON和和SCONSCON中各自的中断请求标志位置中各自的中断请求标志位置“1”1”。(1 1中断采样针对外中断)中断采样针对外中断) 中断请求采样:即如何识别外部中断请求信号并把它锁定在中断请求采样:即如何识别外部中断请求信号并把它锁定在TCONTCON的相应标志位中。的相应标志位中。 采样时刻:在每个机器周期的采样时刻:在每个机器周期的S5P2S5P2第第5 5状态,第状态,第2 2节拍时节拍时刻,对刻,对/INT0/INT0P3.2P3.2和和/INT1/INT1P3.3P3.3引脚进行。引脚进行。 对于电平

28、方式的外中断请求,采样为高对于电平方式的外中断请求,采样为高IE0IE0IE1IE1)00,为低为低IE0IE0IE1IE1)11; 对于脉冲方式外中断请求,采样先高后低对于脉冲方式外中断请求,采样先高后低IE0IE0IE1IE1)11;否则;否则IE0IE0IE1IE1)00。 (2 2中断查询中断查询 中断查询:中断查询:CPUCPU对中断请求标志位的查询来获悉有无中对中断请求标志位的查询来获悉有无中断请求发生以及是哪一个中断源提出中断请求;断请求发生以及是哪一个中断源提出中断请求; 查询次序:按查询次序:按优先级顺序进行;优先级顺序进行; 查询时刻:每个机器周期的最后一个状态查询时刻:每

29、个机器周期的最后一个状态S6S6,一旦查到有中,一旦查到有中断请求发生,接着就从相临的下一个机器周期的断请求发生,接着就从相临的下一个机器周期的S1S1状态开始进行状态开始进行中断响应。中断响应。(3 3中断响应中断响应 中断响应的主要内容:由硬件电路自动生成一条长调用指令中断响应的主要内容:由硬件电路自动生成一条长调用指令LCAAL addr16(LCAAL addr16(即程序存储器中相应中断区的入口地址即程序存储器中相应中断区的入口地址) ),生成,生成LCALLLCALL指令后,就由指令后,就由CPUCPU执行,从而转移到真正的中断服务程序。执行,从而转移到真正的中断服务程序。 中断响

30、应是有条件的,并不是查询到的所有中断请求都能被中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当存在下列情况之一时,中断响应被封锁:立即响应,当存在下列情况之一时,中断响应被封锁: (a aCPUCPU正处在为一个同级或高级的中断服务中;正处在为一个同级或高级的中断服务中; (b b查询中断请求的机器周期不是当前指令的最后一个机器查询中断请求的机器周期不是当前指令的最后一个机器周期;周期; (c c当前指令是返回指令当前指令是返回指令RETRET,RETIRETI或访问或访问IEIE,IPIP指令。指令。 80C5180C51单片机对中断查询结果不作记忆,当有新的查询结果单片机对

31、中断查询结果不作记忆,当有新的查询结果出现时,因为以上原因而被拖延的查询结果将不复存在,其中断出现时,因为以上原因而被拖延的查询结果将不复存在,其中断请求也就不能再被响应了。请求也就不能再被响应了。 中断响应的条件:中断响应的条件: (a a有中断源发出有效的中断请求信号;有中断源发出有效的中断请求信号; (b bEA=1EA=1,即,即CPUCPU开总中断;开总中断; (c c申请中断的中断源的中断允许位为申请中断的中断源的中断允许位为1 1,即没有屏蔽;,即没有屏蔽; (d d中断响应没有被封锁。中断响应没有被封锁。(4 4中断响应时间中断响应时间 即指从查询中断请求标志位到转向中断区入口

32、地址所需的即指从查询中断请求标志位到转向中断区入口地址所需的机器周期数。机器周期数。 最短响应时间:最短响应时间:3 3个机器周期个机器周期1 1个查询机器周期和个查询机器周期和2 2个个LCALLLCALL指令机器周期);指令机器周期); 最长响应时间:最长响应时间:8 8个机器周期个机器周期2+4+22+4+2)。)。 一般的中断响应时间在一般的中断响应时间在3 38 8个机器周期之间。个机器周期之间。(5 5中断处理中断处理 即执行中断服务程序的过程。即执行中断服务程序的过程。(6 6中断返回中断返回 指指CPUCPU在执行完中断服务程序后,返回原来暂停的地方断在执行完中断服务程序后,返

33、回原来暂停的地方断点),继续执行原来程序的过程。点),继续执行原来程序的过程。中断请求的撤消问题中断请求的撤消问题 中断响应后,中断响应后,TCONTCON或或SCONSCON中的中断请求标志应及时中的中断请求标志应及时清除,否则就意味着中断请求依然存在,弄不好就会造清除,否则就意味着中断请求依然存在,弄不好就会造成中断的重复查询和响应,因而,必须在中断响应后及成中断的重复查询和响应,因而,必须在中断响应后及时清除中断请求信号即将中断请求标志位清时清除中断请求信号即将中断请求标志位清0 0)。)。(1 1定时中断请求的撤消定时中断请求的撤消 定时中断的中断请求是由硬件电路自动撤消的即定时中断的

34、中断请求是由硬件电路自动撤消的即硬件电路自动把标志位硬件电路自动把标志位TF0TF0或或TF1TF1清清0 0),无需用户),无需用户干预。干预。(2 2脉冲方式外部中断请求的撤消脉冲方式外部中断请求的撤消 外部中断请求的撤消包括两项内容:外部中断请求的撤消包括两项内容: (a a中断标志位的清中断标志位的清0 0; (b b外部中断请求信号的撤消;外部中断请求信号的撤消; 对于脉冲方式的外部中断请求,其标志位对于脉冲方式的外部中断请求,其标志位IE0或或IE1的的清清0是由硬件电路自动完成的;由于中断请求信号是脉冲信号,是由硬件电路自动完成的;由于中断请求信号是脉冲信号,因而,中断请求信号也

35、是自动撤消的。因而,中断请求信号也是自动撤消的。(3 3电平方式外部中断请求的撤消电平方式外部中断请求的撤消 对于电平方式的外部中断请求,其标志位对于电平方式的外部中断请求,其标志位IE0IE0或或IE1IE1的的清清0 0是由硬件电路自动完成的;由于中断请求信号是低电平信号是由硬件电路自动完成的;由于中断请求信号是低电平信号,因而,必须借助外电路将其拉高,否则,在以后的机器周期,因而,必须借助外电路将其拉高,否则,在以后的机器周期采样时又会将标志位采样时又会将标志位IE0IE0或或IE1IE1置置“1”1”,造成重复中断响应,造成重复中断响应。(4 4串行中断软件撤消串行中断软件撤消 串行中

36、断的标志位串行中断的标志位TITI,RIRI,硬件电路不会将其自动清,硬件电路不会将其自动清0 0,因为,因为在中断响应后,还需测试在中断响应后,还需测试TITI,RIRI的状态,以判定是接收还是发送操的状态,以判定是接收还是发送操作,然后才能清除。应使用软件方法进行,加在中断服务程序中。作,然后才能清除。应使用软件方法进行,加在中断服务程序中。结合硬件电路,只需在中断服务程序中增加两条指令就可在结合硬件电路,只需在中断服务程序中增加两条指令就可在P1.0口线上产生一个负脉冲,将中断请求低电平信号撤消:口线上产生一个负脉冲,将中断请求低电平信号撤消: ORL P1, #01H; P1.0输出高

37、电平输出高电平 ANL P1, #0FEH;P1.0输出低电平输出低电平 5.2.5 5.2.5 中断服务程序中断服务程序 中断服务流程中断服务流程(1 1现场保护和现场恢复现场保护和现场恢复 现场保护:现场保护: 为了使中断服务程序的执行不破坏为了使中断服务程序的执行不破坏CPUCPU中寄存器或存储单元中寄存器或存储单元的原有内容,以免在中断返回后影响主程序的运行,须把的原有内容,以免在中断返回后影响主程序的运行,须把CPUCPU中中有关寄存器或存储单元的内容推入堆栈中保护起来。这个过程称有关寄存器或存储单元的内容推入堆栈中保护起来。这个过程称现场保护。现场保护。 现场恢复:现场恢复: 中断

38、服务结束后,在返回主程序前,把保存的现场内容从堆中断服务结束后,在返回主程序前,把保存的现场内容从堆栈中弹出,以恢复寄存器或存储单元的原有内容。栈中弹出,以恢复寄存器或存储单元的原有内容。 现场保护和现场恢复利用现场保护和现场恢复利用PUSHPUSH、POPPOP指令实现,现场保护一指令实现,现场保护一定要位于中断处理程序前面,而现场恢复一定要位于中断处理程定要位于中断处理程序前面,而现场恢复一定要位于中断处理程序后面。序后面。(2 2开中断和关中断开中断和关中断 开中断即中断允许,关中断即中断屏蔽。在现场保护和现场开中断即中断允许,关中断即中断屏蔽。在现场保护和现场恢复的过程中,即使有更高级

39、的中断请求,也不允许中断嵌套。恢复的过程中,即使有更高级的中断请求,也不允许中断嵌套。通过通过CLRCLR和和SETBSETB指令复位、置位控制指令复位、置位控制IEIE寄存器的相关位。寄存器的相关位。(3 3中断处理中断处理(4 4中断返回中断返回 利用利用RETIRETI指令把程序运行从中断服务程序转回到被中断的主指令把程序运行从中断服务程序转回到被中断的主程序上去,这条指令位于中断服务程序的最后一条指令。程序上去,这条指令位于中断服务程序的最后一条指令。 RETIRETI指令执行时,首先将响应中断时置位的优先级触发器复指令执行时,首先将响应中断时置位的优先级触发器复位,然后将断点地址从堆

40、栈中弹出送位,然后将断点地址从堆栈中弹出送PCPC,接着,接着CPUCPU从断点处重新从断点处重新执行被中断的主程序。执行被中断的主程序。断断 点点主主程程序序继继续续执执行行主主程程序序响响 应应 中中 断断 请请 求求返返 回回 主主 程程 序序中中断断服服务务程程序序响响应应低低级级中中断断请请求求返返回回主主程程序序RETI低低级级中中断断程程序序断断点点响响应应高高级级中中断断请请求求返返回回低低级级中中断断程程序序断断点点主主程程序序继继续续执执行行主主程程序序继继续续执执行行高高级级中中断断服服务务程程序序DSDCLK外外中中断断0请请求求信信号号80C51P1.0INT0Q1I

41、T00IT01INT0T0T1TXRXTCONIEEX0EAIPPX01111100000PSPT1PX1PT0SCON中中断断标标志志源源允允许许总总允允许许硬硬件件查查询询矢矢量量地地址址矢矢量量地地址址自自然然优优先先级级自自然然优优先先级级IT10IT11INT1IE0TF0IE1TF1TIRIEX0EX1 1ET1ES优优先先级级高高级级中中断断请请求求PC低低级级中中断断请请求求PC80C5180C51单片机中断系统内部结构图单片机中断系统内部结构图把把PC断断点点地地址址压压入入堆堆栈栈相相应应中中断断源源的的中中断断入入口口地地址址送送入入PC硬硬件件自自动动完完成成关关中中断

42、断断断点点地地址址由由堆堆栈栈弹弹入入PC中中断断返返回回恢恢复复现现场场开开中中断断关关中中断断中中断断服服务务开开中中断断保保护护现现场场YYN执执行行主主程程序序执执行行一一条条指指令令中中断断源源发发中中断断申申请请中中断断响响应应条条件件满满足足中中断断受受阻阻NNY例例1 用中断实现如下功能:将用中断实现如下功能:将30H60H单元的内容送微型打印单元的内容送微型打印 机打印。机打印。P1.0P1.1P1.2P1.3STBACKBUSY89C51D6D0D1D2D3D4D5P1.4P1.5P1.6P1.7微型打印机微型打印机D7P2.0P3.2 ORG 0000H LJMP MAI

43、N ORG 0003H LJMP AINT0 MAIN:MOV SP,#60H SETB EA SETB EX0 SETB IT0 MOV R0,#30H MOV P1,R0 SETB P2.0 CLR P2.0 SJMP $AINT0: INC R0 MOV P1,R0 SETB P2.0 CLR P2.0 CJNE R0,#60H,AINT00 CLR EX0AINT00: RETI例例2 用中断实现如下功能:用中断实现如下功能: 2个开关个开关K1和和K2,1个数码管,当个数码管,当K1按按下时数码管加下时数码管加1,K2按下时数码管减按下时数码管减1。P1.0P1.1P1.2P1.38

44、9C51P1.4P1.5P1.6P1.7COMabcdefg共阴极共阴极LEDK1K2P3.2P3.3+5VAINT0: INC R7 CJNE R7,#10,AINT01 MOV R7,#0AINT01:RETIBINT1: DEC R7 CJNE R7,#0FFH,BINT11 MOV R7,#9BINT11:RETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ORG 0000H LJMP MAIN ORG 0003H LJMP AINT0 ORG 0013H LJMP BINT1 MAIN:MOV SP,#60H MOV IE,#85H

45、 SETB IT0 SETB IT1 MOV R7,#0 UP: MOV A,R7 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A SJMP UP5.3 80C515.3 80C51单片机的定时器单片机的定时器/ /计数器计数器定时方法概述定时方法概述(1 1软件定时软件定时 (a a依靠执行一个循环程序以进行时间延迟;依靠执行一个循环程序以进行时间延迟; (b b定时精确,无须增加硬件电路,但占有定时精确,无须增加硬件电路,但占有CPUCPU资源。资源。(2 2硬件定时硬件定时 硬件电路完成,不占有硬件电路完成,不占有CPUCPU资源,定时时间长,使用不灵活。资源,

46、定时时间长,使用不灵活。(3 3可编程定时器定时可编程定时器定时 通过对系统时钟脉冲的计数来实现,使用灵活、方便。通过对系统时钟脉冲的计数来实现,使用灵活、方便。 80C51 80C51单片机有两个定时器单片机有两个定时器/ /计数器计数器T0T0,T1T1),均为十六位加),均为十六位加法计数结构,分别由法计数结构,分别由TH0TH0,TL0TL0,TH1TH1,TL1TL1两个两个8 8位计数器组成。位计数器组成。80C5180C51单片机定时器单片机定时器/ /计数器逻辑结构图。计数器逻辑结构图。 80C5180C51单片机的定时器单片机的定时器/ /计数器具有定时和计数功能:计数器具有

47、定时和计数功能:1.1.计数功能计数功能 (a a所谓计数:指对外部事件进行计数,外部事件的发生以输入所谓计数:指对外部事件进行计数,外部事件的发生以输入脉冲表示,因而,计数功能的实质是对外来脉冲进行计数。脉冲表示,因而,计数功能的实质是对外来脉冲进行计数。(b b计数输入端:计数输入端:T0T0P3.4P3.4)、)、T1(P3.5) T1(P3.5) 。(c c有效计数脉冲:外部输入的脉冲在下降沿有效,计数器加有效计数脉冲:外部输入的脉冲在下降沿有效,计数器加1 1。 (d d计数采样时刻:每个机器周期的计数采样时刻:每个机器周期的S5P2S5P2共要共要2 2个周期)。个周期)。 (e

48、e计数时刻:计数采样时刻的下一个机器周期的计数时刻:计数采样时刻的下一个机器周期的S3P1S3P1。5.3.1 5.3.1 定时器定时器/ /计数器的计数和定时功能计数器的计数和定时功能 2.2.定时功能定时功能 定时功能也是通过计数器的计数来实现的。计数脉冲来自内定时功能也是通过计数器的计数来实现的。计数脉冲来自内部,每个机器周期产生一个计数脉冲,即每个机器周期计数器加部,每个机器周期产生一个计数脉冲,即每个机器周期计数器加1 1,计数频率为,计数频率为1/12fosc1/12fosc。5.3.2 5.3.2 用于定时器用于定时器/ /计数器的控制寄存器计数器的控制寄存器 定时器定时器/ /

49、计数器的控制寄存器有计数器的控制寄存器有3 3个:个:TCONTCON、TMODTMOD、IEIE。(1 1定时器控制寄存器定时器控制寄存器TCONTCON) TCONTCON的功能:用于保存外部中断请求以及定时器的功能:用于保存外部中断请求以及定时器/ /计数器的计数器的计数溢出信号。计数溢出信号。 TCONTCON的字节地址:的字节地址:88H88H;位地址:;位地址:8FH8FH88H88H。 TCON TCON的内容及格式如下:的内容及格式如下: 位地址位地址 8FH 8EH8DH 8CH 8BH 8AH89H88H位符号位符号 TF1 TR1TF0TR0IE1IT1IE0IT0 与定

50、时有关的控制位共有与定时有关的控制位共有4 4位:位:(a aTF0TF0、TF1TF1:计数溢出标志位:计数溢出标志位 当计数结构产生溢出时,由硬件电路对该位自动置当计数结构产生溢出时,由硬件电路对该位自动置1 1; 当转向中断服务时,再由硬件电路对该位自动清当转向中断服务时,再由硬件电路对该位自动清0 0。 计数溢出标志位的使用有两种情况:计数溢出标志位的使用有两种情况: 1 1采用中断方式时,作中断请求标志位使用;采用中断方式时,作中断请求标志位使用; 2 2采用查询方式时,作查询状态位来使用,必须利用软件采用查询方式时,作查询状态位来使用,必须利用软件对该位清对该位清0 0。 (b b

51、TR0TR0、TR1TR1:定时器运行控制位:定时器运行控制位 TR0TR0、TR1=0TR1=0,停止,停止T/CT/C工作;工作; TR0TR0、TR1=1TR1=1,启动,启动T/CT/C工作。工作。 该位根据需要以软件方法置该位根据需要以软件方法置1 1或清或清0 0。 (2 2工作方式控制寄存器工作方式控制寄存器TMODTMOD) TMODTMOD的功能:用于设定两个定时器的功能:用于设定两个定时器/ /计数器的工作方式。计数器的工作方式。 TMODTMOD的字节地址:的字节地址:89H89H,应采用字节传送指令设置其内容。,应采用字节传送指令设置其内容。 TMODTMOD的内容及格

52、式如下:的内容及格式如下: 位序位序B7B6B5B4B3B2B1B0位符号位符号GATEC/TM1M0GATEC/TM1M0 与定时有关的控制位共有与定时有关的控制位共有8 8位,分两组:位,分两组:(a aGATEGATE:门控位:门控位 GATE=0GATE=0,以运行控制位,以运行控制位TR0TR0、TR1TR1启动启动T/CT/C; GATE=1GATE=1,以外中断请求信号(,以外中断请求信号(/INT1/INT1,/INT0/INT0启动启动T/CT/C。(b bC/TC/T:定时方式或计数方式选择位:定时方式或计数方式选择位 C/T=0C/T=0,定时工作方式;,定时工作方式;

53、C/T=1C/T=1,计数工作方式。,计数工作方式。(c cM1M0M1M0:工作方式选择位:工作方式选择位 M1M0=00 M1M0=00 方式方式0 0 M1M0=01 M1M0=01 方式方式1 1 M1M0=10 M1M0=10 方式方式2 2 M1M0=11 M1M0=11 方式方式3 3 (3 3中断允许寄存器中断允许寄存器IEIE) IEIE的功能:中断系统的开关。的功能:中断系统的开关。 IEIE的字节地址:的字节地址:0A8H0A8H;位地址:;位地址:0AFH0AFH0A8H0A8H。 IEIE的内容及格式如下:的内容及格式如下:位地址位地址AFHAFHAEHAEHADHA

54、DHACHACHABHABHAAHAAHA9HA9HA8HA8H位符号位符号EAEA/ / /ESESET1ET1EX1EX1ET0ET0EX0EX0 与定时有关的控制位共有与定时有关的控制位共有3 3位:位:(a aEAEA:中断允许总控制位:中断允许总控制位 EA=0EA=0:中断总禁止;:中断总禁止; EA=1EA=1:中断总允许;:中断总允许;(b bET0ET0、ET1ET1:定时器:定时器/ /计数器中断允许控制位计数器中断允许控制位 ET0ET0、ET1=0ET1=0,禁止定时或计数中断;,禁止定时或计数中断; ET0ET0、ET1=1ET1=1,允许定时或计数中断;,允许定时或

55、计数中断;5.3.3 5.3.3 定时工作方式定时工作方式0 0 (1 1电路逻辑结构电路逻辑结构 方式方式0 0是是1313位计数结构的工作方式,其计数器由位计数结构的工作方式,其计数器由THTH全部全部8 8位和位和TLTL的低的低5 5位构成,位构成,TLTL的高的高3 3位不用。位不用。 (2 2定时和计数应用定时和计数应用 (a a在方式在方式0 0下,作计数功能时,计数值范围下,作计数功能时,计数值范围1 181928192213213),),计数可从计数可从0 081918191开始。开始。 (b b在方式在方式0 0下,作定时功能时,定时时间计算公式:下,作定时功能时,定时时间

56、计算公式: (213-213-计数初值)计数初值)晶振周期晶振周期1212 或或213-213-计数初值)计数初值)机器周期。机器周期。 注意:注意:1 1T/CT/C是可编程的,是可编程的,THTH,TLTL可以按字节寻址。可以按字节寻址。 例:例:MOV TL0MOV TL0, #Data#Data; MOV TH0MOV TH0, #Data#Data; TL0TL0,TH0TH0中的初值可通过指令预置。中的初值可通过指令预置。 2 2计数脉冲计数脉冲TL5TL5位位TH8TH8位位TFTF 假设假设fosc=6MHzfosc=6MHz,则最长、最短定时时间分别为,则最长、最短定时时间分

57、别为2s2s、16384s16384s 例:假设单片机例:假设单片机fosc=6MHzfosc=6MHz,使用定时器,使用定时器1 1以方式以方式0 0产生周期为产生周期为500s500s的等宽正方波连续脉冲,由的等宽正方波连续脉冲,由P1.0P1.0输出输出, ,以查询方式完成。以查询方式完成。解:解:1 1计算计数初值计算计数初值 利用定时器利用定时器/ /计数器计数器1 1的定时功能,定时时间的定时功能,定时时间250s250s。假设待求的计数初值为假设待求的计数初值为X X:那么:那么:(213-X)(213-X)2 210-6S=25010-6S=25010-10-6S6S 得:得:

58、X=8067X=8067十进制),十进制),11111100000111111110000011二进制),十六二进制),十六进制表示:高进制表示:高8 8位位0FCH0FCH送送TH1TH1,低,低5 5位位03H03H送送TL1TL1。8 80 0C C5 51 1P P1 1. .0 05 50 00 0s s2 25 50 0s s 2 2TMODTMOD寄存器初始化寄存器初始化位序位序B7B6B5B4B3B2B1B0位符号位符号GATEC/TM1M0GATEC/TM1M000000000 根据以上分析,根据以上分析,TMODTMOD寄存器应初始化位寄存器应初始化位00H00H。 3 3

59、由由T/C1T/C1的的TCONTCON中中TR1TR1位控制其启动,停顿:位控制其启动,停顿: TR1=1TR1=1启动,启动,TR1=0TR1=0停止;停止; 4 4程序设计:程序设计: ORG 1000HORG 1000H MAIN MAIN:MOV TMODMOV TMOD, #00H#00H;T/C1T/C1方式方式0 0 MOV TH1 MOV TH1, #0FCH#0FCH;设计数初值;设计数初值 MOV TL1MOV TL1, #03H#03H;开开始始T TM MO OD D初初始始化化计计数数初初值值初初始始化化中中断断初初始始化化启启动动定定时时器器定定时时时时间间到到重

60、重置置计计数数初初值值清清计计数数溢溢出出标标志志P P1 1. .0 0口口线线取取反反Y YN N MOV IE MOV IE, #00H#00H;禁止中断;禁止中断 SETB TR1SETB TR1; 启动定时器启动定时器 LOOPLOOP:JNB TF1JNB TF1, LOOPLOOP;查询计数溢出否;查询计数溢出否 MOV TH1MOV TH1, #0FCH#0FCH;重置计数初值;重置计数初值 MOV TL1MOV TL1, #03H#03H; CLR TF1CLR TF1;清计数溢出标志;清计数溢出标志 CPL P1.0CPL P1.0; 输出取反输出取反 AJMP LOOPA

温馨提示

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

评论

0/150

提交评论