《单片机原理及应用》第5章 中断系统及定时计数器_第1页
《单片机原理及应用》第5章 中断系统及定时计数器_第2页
《单片机原理及应用》第5章 中断系统及定时计数器_第3页
《单片机原理及应用》第5章 中断系统及定时计数器_第4页
《单片机原理及应用》第5章 中断系统及定时计数器_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/6/27,广东松山职业技术学院课件制作组,第5章 中断系统及定时/计数器,中断的基本概念和MCS-51中断系统的结构 。,MCS-51定时/计数器的组成 。,定时/计数器的四种工作方式 。,MCS-51中断系统和定时/计数器的使用方法 。,2020/6/27,广东松山职业技术学院课件制作组,本章主要内容,5.1MCS-51单片机的中断系统,5.2中断系统的编程和应用举例,5.3 MCS-51单片机的定时/计数器,5.4定时计数器应用举例,2020/6/27,广东松山职业技术学院课件制作组,5.1 MCS-51单片机的中断系统,5.1.1 MCS-51中断系统的结构及功能,1.中断的概

2、念,看电视,中断处理,中断请求,中断返回,电话铃响,接听电话,看电视,主程序,事件发生,事件处理,主程序,实际生活,计算机,2020/6/27,广东松山职业技术学院课件制作组,5.1.1 MCS-51中断系统的结构及功能,2020/6/27,广东松山职业技术学院课件制作组,中断: 在计算机执行程序的过程中,当外部设备发生某一事件去请求CPU处理时(中断发生);CPU暂时中断当前程序的执行,转去处理所发生的事件(中断响应和中断服务);待处理完毕后,再返回来执行原来被中断的程序(中断返回),这一处理过程称之为中断。,中断要注意2点:保护断点和保护现场,5.1.1 MCS-51中断系统的结构及功能,

3、2020/6/27,广东松山职业技术学院课件制作组,中断标志位,中断源允许,总允许EA,中断优先级,5.1.1 MCS-51中断系统的结构及功能,2. MCS-51中断系统的结构,2020/6/27,广东松山职业技术学院课件制作组,MCS-51系列单片机的中断系统有5个中断源分别是: , ,T0,T1和串行端口。,3. 中断的功能,(1)提高CPU的工作效率,(2)处理故障,(3)实现实时控制,(4)实现人机交互,5.1.1 MCS-51中断系统的结构及功能,2020/6/27,广东松山职业技术学院课件制作组,5.1.2 中断源与中断请求,1.中断源(5个),TF0(TCON.5):片内定时/

4、计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,向CPU申请断。,2020/6/27,广东松山职业技术学院课件制作组,TF1(TCON.7):片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,向CPU申请中断。,RI、TI: 串行口中断请求标志。当串行口接收完一帧数据时置位RI或当串行口发送完一帧数据时置位TI,向CPU申请中断。,5.1.2 中断源与中断请求,2020/6/27,广东松山职业技术学院课件制作组,2.中断申请标志(TCON和SCON),(1)定时/计数器控制寄存器TCON,TF1 TR1 TF0 TR0 IE1 IT1 IE0

5、 IT0,TCON (88H),IT0(TCON.0):外中断0触发方式控制位。 IT0=0,电平触发方式。 IT0=1,边沿触发方式(下降沿有效)。 IT1(TCON.2):选择外部中断1的中断触发方式同IT0 IE0(TCON.1): 外中断0中断请求标志位。 TF0,T0溢出中断请求标志位。,IT1 、IE1、 TF1类同,5.1.2 中断源与中断请求,2020/6/27,广东松山职业技术学院课件制作组,(2)串行口控制寄存器SCON,SCON (98H),RI(SCON.0):串行口接收中断请求标志位。 TI(SCON.1):串行口发送中断请求标志位。 注意:RI和TI由硬件置位、由软

6、件清除。,5.1.2 中断源与中断请求,2020/6/27,广东松山职业技术学院课件制作组,中断允许控制,EA ES ET1 EX1 ET0 EX0,IE (A8H),EX0: 外中断0允许位; ET0: T0中断允许位; EX1: 外中断0允许位; ET1: T1中断允许位; ES : 串口中断允许位; EA : CPU中断允许(总允许)位。,5.1.3 中断允许控制,2020/6/27,广东松山职业技术学院课件制作组,【例5-1】假设允许打开 及定时/计数器T0、T1中断,禁止其他中断,试对IE进行设置。,解:由给定条件IE应为10001110B。 (1)用字节操作指令 MOV IE,#8

7、EH 或 MOV A8H,#8EH (2)用位操作指令 SETB EA SETB ET1 SETB EX1 SETB ET0,5.1.3 中断允许控制,2020/6/27,广东松山职业技术学院课件制作组,中断优先级控制,PS PT1 PX1 PT0 PX0,IP (B8H),IP寄存器各位的含义如下:,PX0: 外中断0优先级设定位; PT0: T0优先级设定位; PX1: 外中断0优先级设定位; PT1: T1优先级设定位; PS : 串口优先级设定位。,5.1.4 中断优先级控制,2020/6/27,广东松山职业技术学院课件制作组,各中断源响应优先级及中断服务程序入口表如下:,5.1.4

8、中断优先级控制,2020/6/27,广东松山职业技术学院课件制作组,【例5-2】将T1定义为最高优先级,其他中断定义为低优先级,如何设置IP?,解:只要使PT1=1,即将00001000B(08H)送入IP即可。 MOV IP,#08H 或: SETB PT1,5.1.5 中断处理过程,MCS-51单片机的中断处理过程可分为三个阶段 即中断响应 中断处理 和中断返回,5.1.4 中断优先级控制,2020/6/27,广东松山职业技术学院课件制作组,MCS-51单片机的中断处理过程可分为三个阶段 中断响应 中断处理 中断返回,5.1.5 中断处理过程,2020/6/27,广东松山职业技术学院课件制

9、作组,5.2 中断系统的编程和应用举例,5.2.1 关于具体的中断服务程序,编写中断服务程序时应注意以下几点:,各中断源的入口向量地址之间,只相隔8个单元,一般的中断服务程序是容纳不下的,因而最常用的方法是在中断入口向量地址单元处存放一条转移指令,转至存储器其他的任何空间去。,若在执行当前中断程序时禁止更高优先级中断,应用软件关闭CPU中断或屏蔽更高级中断源的中断,在中断返回前再开放中断。,在保护现场和恢复现场时,一般应关闭CPU中断,使CPU暂时不响应新的中断请求;在保护现场之后若允许响应高优先级中断,则应开中断。同样在恢复现场之前应关中断,恢复之后再开中断。,2020/6/27,广东松山职

10、业技术学院课件制作组,1. 单外部中断源示例,解: (1)用字节指令写的初始化程序: MOV IE,#81H ;开总中断与外中断0中断 MOV IP,#01H ;外部中断0为高级优先 MOV TCON,#00H ;外部中断0为电平触发方式,5.2.2 中断程序举例,【例5-3】使用外部中断INT0,电平触发方式,设为高优先级中断,写出初始化程序。,(2)用位操作指令写的初始化程序: SETB EA ;开总中断 SETB ET0 ;外部中断0开中断 SETB PX0 ;外部中断0为高级优先 CLR IT0 ;外部中断0为电平触发方式,2020/6/27,广东松山职业技术学院课件制作组,2.多外部

11、中断源示例,【例5-5】多外部中断如图5-7所示,设有5个外中断源EX1、EX2、EX3、EX4和EX5,高电平时表示请求中断,要求执行相应中断服务程序,试编制程序。,5.2.2 中断程序举例,2020/6/27,广东松山职业技术学院课件制作组,5.2.2 中断程序举例,多外部中断源程序流程图,2020/6/27,广东松山职业技术学院课件制作组,ORG 0000H ;复位地址 LJMP MAIN ;转主程序 ORG 0003H ;中断入口地址 LJMP PROG0 ;转中断服务程序 ORG 0013H ;中断入口地址 LJMP PROG1 ;转中断服务程序 ORG 0100H ;主程序首地址

12、MAIN:MOV SP,#60H ;置堆栈指针 ORL TCON,#05H ;置、为边沿触发方式 SETB PX0 ;置为高优先级 MOV IE,#0FFH ;全部开中断 ;主程序内容 ORG 1000H ;中断服务程序首地址,5.2.2 中断程序举例,2020/6/27,广东松山职业技术学院课件制作组,PROG0:PUSH ACC ;中断,保护现场 LCALL WORK1 ;调用EX1服务子程序 POP ACC ;恢复现场 RETI ;中断返回 ORG 2000H ;中断服务程序首地址 PROG1:CLR EA ;CPU禁中断 PUSH ACC ;保护现场 PUSH DPH PUSH DPL

13、 SETB EA ;CPU开中断 JB P1.0,LWK2 ;P1.0=1,EX2请求中断 JB P1.1,LWK3 ;P1.1=1,EX3请求中断 JB P1.2,LWK4 ;P1.2=1,EX4请求中断 LCALL WORK5 ;P1.3=1,调用EX5服务子程序,5.2.2 中断程序举例,2020/6/27,广东松山职业技术学院课件制作组,LRET:CLR EA ;CPU禁中断 POP DPL ;恢复现场 POP DPH POP ACC SETB EA ;CPU开中断 RETI ;中断返回 LWK2:LCALL WORK2 SJMP LRET ;转中断返回 LWK3:LCALL WORK

14、3 SJMP LRET ;转中断返回 LWK4:LCALL WORK4 SJMP LRET ;转中断返回,5.2.2 中断程序举例,2020/6/27,广东松山职业技术学院课件制作组,5.3 MCS-51单片机的定时/计数器,5.3.1 定时/计数器的结构及工作原理,1. 定时/计数器组成框图,2020/6/27,广东松山职业技术学院课件制作组,加1计数器(高8位、低8位) TMOD,工作方式设置; TCON,启动、停止及设置溢出标志,2.定时/计数器工作原理,计数器脉冲来源: 振荡器脉冲经过12分频;T0或T1引脚的外部脉冲。 计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0

15、或TF1置1), 发中断请求。 计数值:溢出时计数器值计数初值。 定时模式,对内部机器周期计数 定时时间 t 计数值N x Tcy,5.3.1 定时/计数器的结构及工作原理,2020/6/27,广东松山职业技术学院课件制作组,1.工作方式寄存器TMOD,GATE C / T M1 M0 GATE C / T M1 M0,TMOD (89H),T0,T1,M1、M2控制的四种工作方式,0 0:13位计数器 0 1:16位计数器 1 0:可自动重装的8位计数器 1 1:T0分为2个8位计数器;T1此时停止工作,5.3.2 定时/计数器的控制,2020/6/27,广东松山职业技术学院课件制作组,GA

16、TE: 门控位 为“0”,允许软件控制位TR0或TR1启动定时器 为“1”,允许外部中断0或1引脚为高电平,且由 软件使TR0(或TR1)置1时,才能启动定时器 工作。,5.3.2 定时/计数器的控制,2020/6/27,广东松山职业技术学院课件制作组,2.控制寄存器TCON,5.3.2 定时/计数器的控制,2020/6/27,广东松山职业技术学院课件制作组,初始化步骤如下:,(1)确定工作方式,对TMOD赋值 (2)预置定时或计数的初值,直接将初值写入TH0、TL0或TH1、TL1 (3)根据需要开启定时/计数器中断,直接对IE寄存器赋值。 (4)启动定时/计数器工作,将TR0或TR1置“1

17、”。 (5)当GATE=0时,直接由软件置位启动;当GATE =1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能启动,5.3.3 定时/计数器的初始化,2020/6/27,广东松山职业技术学院课件制作组,MCS-51单片机: 定时/计数器T0有4种工作方式(方式0、1、2、3) T1有3种工作方式(方式0、1、2)。,1.工作方式0,13位计数。由TL0的低5位和TH0的8位组成。TH0溢出时,置位TF0标志,向CPU发出中断请求。(如下图),5.3.4 定时/计数器的工作方式及扩展,2020/6/27,广东松山职业技术学院课件制作组,1. 工作方式0,2020/6/27,广东松山

18、职业技术学院课件制作组,1. 工作方式0,0或1,2020/6/27,广东松山职业技术学院课件制作组,1. 工作方式0,0或1,2020/6/27,广东松山职业技术学院课件制作组,2. 工作方式1,当M1M0为01时,定时/计数器工作在方式1,其逻辑电路结构和操作方法与方式0基本相同,它们的差别仅在于计数的位数不同(16位),如图所示:,2020/6/27,广东松山职业技术学院课件制作组,当TMOD的M1M0为10时,定时/计数器工作在方式2,其逻辑电路结构图如图所示。,3. 工作方式2,2020/6/27,广东松山职业技术学院课件制作组,方式2为自动重装初值的8位计数方式,仅用TL0计数,最

19、大计数值为256。 计满溢出后一方面进位TF0,使溢出标志TF0=1;另一方面,使原来装在TH0中的初值装入TL0。 优点:定时初值可自动恢复,TH0中存放初值; 缺点:计数范围小,只适用于需要重复定时,而定时范围不大的应用场合。,3. 工作方式2,2020/6/27,广东松山职业技术学院课件制作组,4. 工作方式3,T0分成为两个独立的8位计数器TL0和TH0 ,T1处 于方式3时停止计数。,2020/6/27,广东松山职业技术学院课件制作组,5.4 定时计数器应用举例,初始化应完成的工作如下:,(1)对TMOD赋值,以确定T0和T1的工作方式; (2)计算初值,并将其写入TH0、TL0或T

20、H1、TL1; (3)中断方式时,则对IE赋值,开放中断; (4)使TR0或TR1置位,启动定时/计数器开始定时或计数。,2020/6/27,广东松山职业技术学院课件制作组,5.4.1 方式0的应用,【例5-6】利用定时器输出周期为2 ms的方波, 设单片机晶振频率为 6 MHz。,初值的计算: 单片机机器周期=126 MHz= 2 s。 1 ms内T0 需要计数N次:N=1 ms2 s=500使用方式0的13位计数器,T0 的初值X为: X=M-N=8192-500=7692=1E0CH,初值的装入: 13位计数器低8位TL0只使用了5位,其余码均计入高8位 TH0 的初值,则 T0 的初值

21、调整为: TH0=0F0H,TL0=0CH。,初始化: TMOD初始化:TMOD=00000000B=00H。 TCON初始化:启动TR0=1。 IE初始化:开放中断EA=1,定时器T0 中断允许 ET0=1。,2020/6/27,广东松山职业技术学院课件制作组,5.4.1 方式0的应用,ORG 0000H AJMP START ORG 000BH AJMP TOINT ORG 0030H START: MOV SP,60H MOV TH0,0F0H MOV TL0,0CH MOV TMOD,00H SETB TR0 SETB ET0 SETB EA MAIN: AJMP MAIN,TOINT

22、:CPL P1.0 MOV TL0,0CH MOV TH0,0F0H RETI,2020/6/27,广东松山职业技术学院课件制作组,5.4.2 方式1应用,【例5-7】有一产品生产线的传送带上不断地有产品单向传送,产品之间有较大间隔。使用光电开关统计一段时间内的产品个数。 假定红灯亮时停止统计,红灯熄灭时在上次统计结果的基础上继续统计,试用单片机的定时/计数器T1的方式1完成产品的计数任务。,(1)初始化: TMOD=11010000B=0D0HTCON=00H,(2)T1在方式1时, 溢出产生中断, 且计数器回零, 故在中断服务程序中, 需用R0计数中断次数, 以保护累积计数结果。 (3)启

23、动T1计数, 开T1中断。,2020/6/27,广东松山职业技术学院课件制作组,5.4.2 方式1应用,2020/6/27,广东松山职业技术学院课件制作组,程序清单如下: ORG 0000H AJMP START ORG 001BH AJMP T1INT ORG 0100H START:MOV SP,60H MOV TCON,00H MOV TMOD,0D0H MOV TH1,00H MOV TL1,00H MOV R0,00H MOV P3,28H,5.4.2 方式1应用,SETB TR1 SETB ET1 SETB EA MAIN:ACALL DISP ORG 0A00H T1INT:IN

24、C R0 RETI DISP: RET,2020/6/27,广东松山职业技术学院课件制作组,5.4.3 方式2 应用,方式 2 是定时/计数器自动重装载的操作方式, 在这种方式下, 定时/计数器T0 和T1的工作是相同的, 它的工作过程与方式0、方式1基本相同, 只不过在溢出的同时, 将 8 位二进制初值自动重装载, 即在中断服务子程序中, 不需要编程送初值, 这里不再举例。定时/计数器T1工作在方式2时,可直接用作串行口波特率发生器。,2020/6/27,广东松山职业技术学院课件制作组,5.4.4 方式3 应用,【例5-8】单片机晶振为6 MHz,设定时器T0工作在方式3,利用TL0和TH0

25、两个独立的定时器在P1.0端产生一个占空比为200 s/400 s的矩形脉冲波。,解:根据题意,让TL0和TH0分别定时200 s和400 s,采用中断方式交替启动TL0和TH0定时,并对P1.0端交替取反就可实现。 因fosc=6 MHz,则200 s定时初值为9CH,400 s定时初值为38H。TH0的启/停由TR1控制,溢出标志为TF1。,2020/6/27,广东松山职业技术学院课件制作组,ORG 0000H AJMP ZCXK1 ORG 000BH AJMP ZD0 ORG 001BH AJMP ZD1 ORG 0100H ZCXK1:MOVSP,#70H MOV TMOD,#03H

26、MOV TL0,#9CH MOV TH0,#38H CLR P1.0 SETB ET0 SETB ET1 SETB EA SETB TR1 DENG1:AJMP DENG1,5.4.4 方式3 应用,ZD0: SETB TR0 CLR TR1 CPL P1.0 MOV TH0,#38H RETI ZD1: SETB TR1 CLR TR0 CPL P1.0 MOV TL0,#9CH RETI,2020/6/27,广东松山职业技术学院课件制作组,本章小结,MCS-51单片机中断系统提供了5个中断源:外部中断0和外部中断1、定时/计数器T0和T1的溢出中断、串行口的接收和发送中断,且每一个中断源都

27、有一个中断服务程序入口向量地址,当有中断申请且被CPU响应时,程序就转移到相应的中断服务入口地址处去执行子程序。 它的中断源可分为2个优先级,由中断优先级寄存器IP设定它们的优先级。同一优先级别的中断优先权,按系统硬件确定的自然优先级排队。,2020/6/27,广东松山职业技术学院课件制作组,本章小结,5个中断源的中断请求是借用定时/计数器的控制寄存器TCON和串行口控制寄存器SCON中的有关位作为标志,某一中断源申请中断有效时,系统硬件将自动置位TCON中的相应标志位。CPU对所有中断源的开放和禁止,是由中断允许寄存器IE管理的。 MCS-51单片机有两个可编程定时/计数器T0和T1(16位

28、),它分别是由TH0、TL0和TH1、TL1构成的。可以通过TMOD 中的C/T位设定为定时或计数模式。不论作定时器用,还是作计数器用,它们都有4种工作方式,由TMOD中的M1M0位设定,对定时/计数器的初始化有四步,关键是计算它的初值。,2020/6/27,广东松山职业技术学院课件制作组,思考题及习题,5-1. 填空题 (1) MCS51的中断系统有 个中断源和 个中断控制寄存器。 (2) MCS51的2个中断优先级分别是 、 。 (3) 外部中断请求标志位是 和 。 (4) 外部中断的入口地址为 ,外部中断的入口地址为 。 (5) 中断处理过程可分为 、 和 三个阶段。 (6) MCS51内部有 个定时/计数器,它们分别为 、 。 (7) 寄存器用来控制定时/计数器的工作方式, 用来控制定时/计数器的启停。 5-2. 什么

温馨提示

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

评论

0/150

提交评论