第五章 89C51的中断系统和定时器计数器

  • 格式:ppt
  • 大小:1.40 MB
  • 文档页数:66

下载文档原格式

  / 66
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2)用字节操作指令 MOV IE,#8AH
19
单片机与嵌入式系统 2、 中断优先级寄存器IP 两个中断优先级(1高优先级,0低优先级),可实现两级中 断嵌套,字节地址为B8H。
PS—串行口中断 优先级控制 定时器T0/T1中断 优先级控制位
图5-7 IP寄存器的格式
PX0/PX1—外部中断 0/1中断优先级控制 位
7
单片机与嵌入式系统 6、中断的优先权 有多个中断源同时提出中断请求时,CPU响应中断的优先次序。 7、中断嵌套 CPU在处理中断过程中,如果出现了级别更高的中断请求, CPU停止执行低级中断的处理程序而去优先处理高级中断。等
高级中断处理完毕后,再接着执行低级的未处理完的程序。这 种中断处理方式称为多重(级)中断或中断嵌套。
串行口中断请求,中 断请求标志为发送中 图5-2 AT89S51的中断系统结构示意图 断TI或接收中断RI。
11
单片机与嵌入式系统
Байду номын сангаас
5.2.2
中断寄存器
一、 中断请求标志寄存器: 1、定时器/计数器的控制寄存器TCON 字节地址为88H,可位寻址。包含: T0和T1的溢出中断请求标志位TF1和TF0 外部中断请求标志位IE1与IE0。
3、中断源 引发中断的事件或产生中断请求的来源称为中断源。 中断源向CPU提出的处理请求称为中断请求。 引起中断的因素很多,可来自CPU内部和外部。 89C51单片机的中断源来自CPU外部硬件。
5
单片机与嵌入式系统
4、 中断系统 为实现计算机的中断处理功能而配置的功能部件称为中断系统 5、中断过程 计算机处理这些随机发生的中断事件的过程。包括: (1)中断源请求中断 (2)中断响应 (3)中断服务
CLR CLR TI RI ;清TI标志位 ;清RI标志位
去执行完一条指令,才能响应新的中断请求。
24
单片机与嵌入式系统 2、中断响应的过程: ① 由硬件自动生成一条长调用指令:
LCALL addr16 ; addr16为相应中断源的入口地址 MCS-51各中断源服务程序的入口地址是固定的。
② 由CPU执行该指令
将PC的内容压入堆栈以保护断点,再将中断入口地址装入PC。 一般中断入口地址处存放一条LJMP(或AJMP)指令,使CPU转向执 行中断服务程序。 例如:对于外部中断1的响应,硬件自动生成的长调用指令为 LCALL 0013H
18
单片机与嵌入式系统 【例5-1】 若允许片内2个定时器/计数器中断,并禁止其他 中断源的中断请求,请编写设置IE的相应程序段。 (1)用位操作指令 CLR CLR CLR SETB SETB SETB ES EX0 EX1 ET0 ET1 EA ;禁止串行口中断 ;禁止外部中断0中断 ;禁止外部中断1中断 ;允许定时器/计数器T0中断 ;允许定时器/计数器T1中断 ;总中断开关位开放
(4)无同级或更高级中断正在被服务。
23
单片机与嵌入式系统
5.2.3 中断处理的过程 满足以上条件,若遇到下列情况之一时,CPU不立即响应中断: ◆ 所查询的机器周期不是当前正在执行指令的最后一个机器 周期。只有在当前指令执行完毕后,才能进行中断响应。
◆当正在执行的指令是RETI或是访问IE或IP的指令。需要再
(4)IE1 — 外部中断1的中断请求标志位,意义与IE0类似。
13
单片机与嵌入式系统 (5)TF0 —T0溢出中断请求标志位。 T0计数后,溢出时,由硬件置“1”,向CPU申请中断, CPU响应TF0中断时,硬件自动清“0”TF0,TF0也可由软件清 0。 (6)TF1—T1的溢出中断请求标志位,功能和TF0类似。 当MCS-15复位后,TCON被清0,所有中断请求被禁止。
TR1(D6位)、TR0(D4位)为计数器计数运行控制位,与中
断系统无关,将在定时器/计数器中介绍。
14
单片机与嵌入式系统 2、串行口控制寄存器SCON
字节地址为98H,低二位锁存串行口的发送中断和接收中 断的中断请求标志TI和RI。格式如图。
(1)TI—串口发送中断请求标志位。串口每发送完一帧串行 数据后,硬件自动置TI为“1” 。 (2)RI—串行口接收中断请求标志位。串行口接收完一个串 行数据帧,硬件自动使RI中断请求标志置“1”。
8
单片机与嵌入式系统
主程序 外设1 中断请求 ①响应中断1 外设2 中断请求 外设1中断服务程序 ②响应中断2 外设2中断服务程序
④中断返回 IRET ③中断返回 IRET
9
单片机与嵌入式系统 5.2 89C51的中断系统
89C51单片机中断系统有5个中断请求源,两个中断优先 级,可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态, 中断优先级均可用软件来设置。
5.3.1 定时器/计数器的结构 5.3.2 定时器/计数器的工作方式
5.4 定时器/计数器的编程和应用
3
单片机与嵌入式系统
5.1 中断的概念
1、中断 CPU正在执行程序时,单片机外部或内部发生的某一事 件,请求CPU迅速去处理。CPU暂时中止当前的工作,转到中 断服务处理程序处理所发生的事件。处理完该事件后,再回 到原来被中止的地方,继续原来的工作。这一过程称为中断。
中 断 响 应 和 处 理 过 程
4
单片机与嵌入式系统
2、中断服务程序 处理中断事件的程序段称为中断服务程序。 不同类型的中断需要不同的中断服务程序。 中断服务程序不同于一般的子程序: 子程序由某个程序调用,它的调用是由程序设定的,它的执 行时间是确定的。 中断服务程序由某个事件引发,它的执行一般是随机的,不 确定的。
优先权最低。
22
单片机与嵌入式系统
5.2.3 中断处理的过程 分为三个阶段: 中断请求、中断查询和响应、中断处理和中断返回 1、响应中断的条件
(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1
(2)该中断源发出中断请求,即对应的中断请求标志为“1” (3)该中断源的中断允许位E×=1,即该中断被允许
27
单片机与嵌入式系统
5、 中断请求的撤销
(1)定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。 (2)外部中断请求的撤消 ◆ 跳沿触发方式时,外部中断请求的撤消是自动撤消的: 硬件自动清IE0或IE1,外部中断请求信号自动消失; ◆ 电平触发方式时,硬件自动清IE0或IE1,通过软硬件相结 合的方法来清除外部中断请求信号。 SETB P1.0 CLR P1.0 NOP NOP SETB P1.0
第5章
89C51单片机的
中断系统和定时器/计数器
1
单片机与嵌入式系统
内容概要
介绍片内功能部件中断系统的硬件结构和工作原理。 掌握与中断系统有关的特殊功能寄存器以及中断系统的 应用特性。 应能熟练地进行中断系统的初始化编程以及中断服务子
程序的设计。
◆ 介绍定时器/计数器的结构、功能和工作方式。 ◆ 掌握定时器/计数器相关的特殊功能寄存器的设置。 ◆ 介绍定时器/计数器的应用及其编程。
16
单片机与嵌入式系统
ET1/ET0——定时器/计数器的溢出中 断允许位。 ET0/ET1=0,禁止T0/T1溢出中断。 ET0/ET1=1,允许T0/T1溢出中断。
EA—中断允许总控位 EA=0,屏蔽所有中断请求。 EA=1,开放所有中断请求。
图5-5 中断允许寄存器IE的格式
ES—串行口中断允许位。 ES=0,禁止串行口中断。 ES=1,允许串行口中断。
必须在中断服务程序中用指令对TI、RI标志清“0”。
15
单片机与嵌入式系统 二、 中断控制寄存器 中断允许控制由中断允许寄存器IE控制。
中断优先级控制由中断优先级寄存器IP控制。
1、 中断允许寄存器IE CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控
制。字节地址A8H,可位寻址。
IE对中断的开放和关闭实现两级控制。 有一个总的开关中断控制位EA(IE.7位),当EA=1,开放 中断,5个中断源的中断请求是否允许,还要由IE中的低5 位所对应的5个中断请求允许控制位的状态来决定。
6
单片机与嵌入式系统
中断响应和服务中,要进行:
① 断点保护: 保护PC值 ② 现场保护: 保护中断服务时要使用的寄存器(压栈);
③ 开中断:
中断服务时能响应更高级的中断请求;
④ 中断处理: 执行输入输出或非常事件的处理; ⑤ 关中断: 恢复现场时不被新的中断打扰; ⑥ 现场恢复: 将堆栈中保存的内容弹出; ⑦ 中断返回: 通过中断返回指令,弹出PC值,程序回到被中断的地 址,恢复中断前的状态。
10
单片机与嵌入式系统 5.2.1 89C51中断系统的结构
外部中断请求0,由该引脚 输入,中断请求标志为IE0 定时器/计数器T0计数溢 出发出的中断请求,中 断请求标志为TF0。 外部中断请求1,由该引脚 输入,中断请求标志为 IE1 定时器/计数器T1计数溢
出发出的中断请求,中 断请求标志为TF1。
25
单片机与嵌入式系统 3、 外部中断的响应时间
指中断响应有效到转向中断服务程序入口地址所需时间。
① 多中断源时,中断响应时间无法估算; ② 单中断源时,中断响应时间最短为3个机器周期,最长为
8个机器周期。
26
单片机与嵌入式系统
4、 外部中断的触发方式选择
(1) 电平触发方式 CPU在每个机器周期采样到的外部中断输入线的电平为低电
20
单片机与嵌入式系统
MCS-51单片机复位后,IP清0,各中断源被设置为低优先级。 可由软件改变各中断源的中断优先级。可实现两级中断嵌套:
图5-6 两级中断嵌套的过程
21
单片机与嵌入式系统 MCS-51单片机响应各中断源遵守基本规则: CPU同时接收到几个中断请求,首先响应优先级高的中断请求; 低优先级的中断服务可被高优先级中断,反之则不能; 同级中断不会被它的同级中断源所中断; 在同时收到几个同优先级的中断请求时,优先响应哪一个中 断,取决于内部的查询顺序。查询顺序次序为: 中断源 中断级别 外部中断0 最高 即:各中断源在同一 T0溢出中断 个优先级的条件下, 外部中断1 外部中断0的中断优先 T1溢出中断 权最高,串行口中断 串行口中断 最低
图5-3
特殊功能寄存器TCON的格式
12
单片机与嵌入式系统 TCON各标志位的功能: (1)IT0—选择外部中断0的触发方式: IT0=0,为(低)电平触发方式; IT0=1,为跳沿触发(下降沿)方式。 可由软件置“1”或清“0”。 (2)IE0 —外部中断0的中断请求标志位。 引脚INT0无中断请求,置IE0=0; 引脚INT0有中断请求,置IE0=1。 (3)IT1—选择外部中断1的触发方式,意义与IT0类似。
2
单片机与嵌入式系统
第5章 89C51单片机的中断系统和定时器/计数器
5.1 中断的概念 5.2 89C51的中断系统
5.2.1 89C51中断系统的结构
5.2.2 中断寄存器 5.2.3 中断处理的过程 5.2.4 中断服务子程序的设计 5.2.5 外部中断源的扩展
5.3 89C51的定时器/计数器
28
单片机与嵌入式系统
(3)串行口中断请求的撤消
响应串行口的中断后,CPU无法知道是接收中断还是发送
中断,还需测试这两个中断标志位,以判定是接收操作还是 发送操作,然后才清除。所以串行口中断请求的撤销只能使 用软件的方法,在中断服务程序中进行,即用如下指令在中 断服务程序中对串行口中断标志位进行清除:
EX0/EX1=0,禁止外部中断0/1中断。 EX0/EX1=1,允许外部中断1中断。
17
单片机与嵌入式系统 几点说明: AT89C51复位以后,IE被清“0”,所有中断请求被禁止。 IE中与各个中断源相应的位可用指令置“1”或清“0” (即SETB bit;CLR bit),也可用字节操作指令实现。 若使某一个中断源被允许中断,除了IE相应的位被置“1” 外,还必须使EA位置“1”。
平,置中断请求标志。
在中断服务程序返回之前,须清除外部中断请求,否则CPU 返回主程序后会再次响应中断。 (2) 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,
下一个机器周期采样为低,则置“1”中断请求标志,直到CPU 响 应此中断时,该标志才清0。这样不会丢失中断,但输 入的负冲宽度至少保持1个机器周期。