精品课件-单片机原理与应用——KFIL C-项目五.

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

项目五 中断系统及其应用
51单片机中,采用“二级”优先级控制,5个中断源可分 别设置为高优先级或低优先级,由特殊功能寄存器IP进行管理。 当用户不设置优先级时,可采用由硬件电路确定的自然优先级, 自然优先级如表5-1所示。
项目五 中断系统及其应用 表5-1 51单片机自然优先级与入口地址
中断源
外部中断 0: INT0
项目五 中断系统及其应用
5.2.2 51单片机中断系统 用户在应用单片机的中断技术时,可弱化中断的硬件电路
和发生过程,重点学习如何通过软件管理和应用中断技术。因 此,应先掌握与中断管理和控制有关的三类特殊功能寄存器: 中断请求标志寄存器TCON和SCON、中断允许寄存器IE、中断 优先级寄存器IP。它们之间的关系如图5-3所示。
4. 中断嵌套 CPU在中断服务还未结束时,可以响应优先级更高的中断 请求,这种情况称为中断嵌套。只有高优先级中断源可以中断 正在执行的低优先级中断服务函数,引起中断嵌套;同级或低 优先级的中断源不能中断正在执行的中断服务函数。 例如,当你正在接电话时,烧的水开了,如果放下电话, 去关火,然后接着去讲电话,就发生了一次中断嵌套。中断嵌 套过程如图5-2所示。
项目五 中断系统及其应用
1. 中断的概念 什么是中断呢?中断的过程与生活实例非常相似。你正在 家里洗衣服,突然听到电话铃响了,这时,你停止洗衣服,去 接电话,与来电话的人交谈,接完电话后,回去继续洗衣服, 这个过程就相当于发生了一次中断,如图5-1(a)所示。
项目五 中断系统及其应用 图5-1 中断过程
项目五 中断系统及其应用
当IT1=1时,为下降沿触发。CPU先在引脚P3.3采样到高 电平,后采样到低电平时,认为有中断请求,使IE1置1。
为了保证CPU对中断源的一次中断请求只响应一次,在 CPU响应中断,转向中断服务函数后,一定要清除中断标志。 不同的是采用低电平触发方式时,硬件和软件均不能清除外部 中断标志,只能在中断返回前,撤销引脚P3.3上的低电平, 否则将会导致一次请求多次响应;而在下降沿触发方式中,则 是在CPU响应中断后,由硬件自动清除,与用户无关。因此在 使用外部中断时,尽可能优先选用下降沿触发方式。
项目五 中断系统及其应用 项目五 中断系统及其应用
5.1 项目说明 5.2 基础知识 5.3 项目实施 5.4 项目评价 5.5 拓展与提高
项目五 中断系统及其应用
5.1 项 目 说 明 项目任务 为51单片机控制系统设计“加1键”和“减1键”。要求: 外部中断0每中断一次显示器的数值加1,外部中断1每中断一 次显示器的数值减1;数值在“0~5000”之间变化;中断触 发方式为下降沿触发;并且能够消除按键抖动。 知识培养目标 (1) 掌握中断的概念,正确解释中断过程。 (2) 掌握51单片机的5个中断源、中断入口地址、中断初 始化。
项目五 中断系统及其应用 图5-2 中断嵌套示意图
项目五 中断系统及其应用
5. 入口地址 当单片机响应中断源的请求时,要执行相应的中断服务函 数,存放中断服务函数的起始单元的地址就是该中断源的入口 地址,每个中断源的入口地址是固定的,各中断源的入口地址 是不同的,这也就是主函数和中断服务函数表面上虽无任何联 系,但在中断服务时却可以被正确执行的原因。 例如,接电话时要到放电话的地方去,关火要去厨房,响 应不同中断源发出的请求时,要到不同的地点去处理,这个地 点通常是固定的,它就相当于中断服务函数的入口地址。 51单片机中5个中断源的入口地址如表5-1所示,中断服 务函数定义时应体现出中断源的入口地址。
定时/计数器 T0
外部中断 1: INT1
定时/计数器 T1 串行口中断 定时/计数器 T2
自然优先级 最高 第2 第3 第4 第5 最低
中断号(C 语言) 0 1 2 3 4 5
入口地址(汇编语言) 0003H 000BH 0013H 001BH 0023H
002BH(52 单片机)
项目五 中断系统及其应用
项目五 中断系统及其应用
2. 中断源
引起中断的事件称为中断源,如电话、敲门等。中断源要
求CPU为之服务的请求称为中断请求,如电话铃响、敲门声等。
51单片机共有5个中断源,52单片机有6个中断源,分别
是外部中断、定时/计数器中断、串行口中断。它们的名称、
标识及中断触发方式分述如下:
外部中断0:
,由P3.2端输入中断请求信号。中断
项目五 中断系统及其应用
EX1—外部中断1中断允许位。当EX1=1时,外部中断1开 中断;当EX1=0时,外部中断1关中断。
ET0—定时/计数器T0中断允许位。当ET0=1时,T0开中断; 当ET0=0时,T0关中断。
EX0—外部中断0中断允许位。当EX0=1时,外部中断0开 中断;当EX0=0时,外部中断0关中断。
项目五 中断系统及其应用 表5-2 定时/计数器控制寄存器TCON(88H)
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位名称
TF1

TF0

IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
项目五 中断系统及其应用
TF1—定时/计数器T1溢出中断标志,详述见项目六。 TF0—定时/计数器T0溢出中断标志,详述见项目六。 IE1—外部中断1 INT1中断标志,由硬件自动设置。当 IE1=1时,表示外部中断1向CPU申请中断;当IE1=0时,表示 外部中断1未向CPU申请中断。 IT1—外部中断1 INT1 触发方式选择位,由用户初始化 编程设置。 当IT1=0时,为低电平触发。CPU定时采样引脚P3.3,若 采样为低电平,则认为有中断请求,随即使IE1置1;若采样 为高电平,则认为无中断请求或中断申请已撤销。
项目五 中断系统及其应用 表5-3 中断允许寄存器IE(A8H)
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位名称
EA

ET2
ES
ET1
EX1
ET0
EX0
位地址
AFH

ADH
ACH
ABH
AAH
A9H
A8H
项目五 中断系统及其应用
EA—中断允许总控制位。当EA=1时,CPU开中断,即CPU 允许中断源申请中断。各中断源是否开中断还要由各中断源允 许位决定。注意:此处的“开”是允许的意思。
项目五 中断系统及其应用
中断是指CPU在处理某一事件A时,发生了另一事件B,请 求CPU迅速去处理(中断请求);CPU暂时停止当前的工作(中断 响应),转去处理事件B(中断服务);待CPU将事件B处理完毕 后,再回到原来事件A被中断的地方继续处理事件A(中断返 回),这一过程称为中断,即CPU正在执行的程序被打断,如 图5-1(b)所示。
5.2 基 础 知 识 5.2.1 中断概述
在项目四中,由于按键的闭合是随机的,为了实时获得键 盘的信息,CPU需要主动不断地检测键盘,因此没有充足的时 间去完成其他任务,从而降低了CPU的利用率,无法实现复杂 的控制要求,不过采用中断技术可解决这个问题。
中断技术使单片机具有了实时处理外部或内部随机事件的 能力,它通过硬件来改变程序的运行方向,既和硬件有关,也 与软件有关,处理中断的硬、软件共同构成中断控制系统。
当EA=0时,CPU关中断,即CPU禁止中断源申请中断。注 意:此处的“关”是禁止的意思。
ET2—定时/计数器T2中断允许位(仅52单片机)。当ET2=1 时,T2开中断;当ET2=0时,T2关中断。
ES—串行口中断允许位。当ES=1时,串行口开中断;当 ES=0时,串行口关中断。
ET1—定时/计数器T1中断允许位。当ET1=1时,T1开中断; 当ET1=0时,T1关中断。
项目五 中断系统及其应用 图5-3 51单片机中断系统结构
项目五 中断系统及其应用
1. 中断请求标志寄存器 中断请求标志寄存器中的各位用于存放中断源的中断请求, 当CPU检测到有中断源发出中断请求时,由硬件将相应的中断 标志置1。在中断请求未被CPU响应之前,中断标志一直保持 高电平;只有在响应之后,才能够由硬件或用户清除中断标志。 与中断标志相关的寄存器是TCON、SCON。
3. 中断优先级 存在多个中断源时,单片机一般根据中断源的轻重缓急为 其设置不同的优先级,中断优先级是单片机对中断申请响应次 序的约定,一般先响应优先级高的中断请求,后响应优先级低 的中断请求。 假如你正在洗衣服,电话铃响了,同时你烧的水也开了, 只能去处理一件事,那你该处理哪件事呢?如果你认为电话重 要,就可以先去接电话,即电话的优先级高于水开;反之,如 果你非常节约,可以先去关火,那么水开的优先级高于电话。 无论如何,总要确定一个处理的先后次序。单片机在执行程序 时也会遇到类似的状况,即同一时刻有多个中断源向CPU发出 中断请求,那么单片机应如何响应呢?
由图5-1(b)可知,中断包含中断请求、中断响应、中断 服务、中断返回4个过程。4个过程中,中断服务需要由用户编 写相应的程序完成,该程序称为中断服务函数(与来电话的人 交谈)。CPU被打断之前运行的程序称为主函数(洗衣服),而 中断请求、中断响应及中断返回三个过程则由硬件来自动完成。
项目五 中断系统及其应用
项目五 中断系统及其应用
IT0—外部中断0 INT0 触发方式选择位,同IT1。 IE0—外部中断0 INT0 中断标志,同IE1。 TCON中的中断标志由硬件自动设置,外部中断的触发方 式则由用户初始化编程设置,因此多用位寻址。例如,设置外 部中断0为下降沿触发时,可用语句“IT0=1;”。 2) 定时/计数器控制寄存器SCON 定时/计数器控制寄存器SCON的内容详见项目八。
请求信号有低电平有效或下降沿有效两种输入方式。当引脚
INT0
P3.2出现有效的低电平或下降沿时,表示外部中断0向CPU申
请中断。
项目五 中断系统及其应用
外部中断1:INT1,由P3.3端输入中断请求信号。中断触 发方式同上。
定时/计数器0:T0,由P3.4端输入计数脉冲。当定时/计 数器T0溢出回零时,向CPU发出中断请求,该中断请求是由单 片机内部引起的,与芯片外部引脚无关。
项目五 中断系统及其应用
2. 中断允许寄存器IE 中断源虽然发出了中断请求,置位中断标志,但是单片机 是否响应中断申请以及响应哪一个中断源的申请,还要由中断 允许寄存器IE来控制。IE采用二级控制,即CPU总允许与源允 许。IE在特殊功能寄存器中,字节地址为A8H,位地址(由低 位到高位)分别是A8H~AFH,该寄存器可以位寻址。单片机复 位后,IE=0,禁止中断。IE中与中断有关的各位如1) 定时/计数器控制寄存器TCON 定时/计数器控制寄存器TCON在特殊功能寄存器中,字节 地址为88H,位地址(由低位到高位)分别是88H~8FH,该寄存 器可以位寻址。它主要用于控制定时/计数器的运行、停止, 存放外部中断、定时器的中断标志及设置外部中断的触发方式。 单片机复位后,TCON=0。TCON中与中断有关的各位如表5-2所 示。
定时/计数器1:Tl,由P3.5端输入计数脉冲。中断触发 方式同上。
定时/计数器2:T2,中断触发方式同上。T2是52单片机 独有的。
串行口中断:RXD/TXD,由P3.0端接收串行数据,由P3.1 端发送串行数据。每当串行口完成一帧串行数据的发送/接收 时向CPU发出中断请求。
项目五 中断系统及其应用
中断的过程与函数的调用类似,但又有其特殊之处。函数 的调用是在主调函数中事先由用户安排好的,主调函数与其他 函数通过调用语句相联系,如调用延时函数的语句 “delay();”;但是中断的发生是随机的,何时执行中断服 务函数事先无从知晓,主函数中不能事先安排调用中断服务函 数的语句,也就是说,只有中断源申请中断且被CPU响应时, 中断服务函数才能被执行,而且中断服务函数的执行是由硬件 自动完成的,表面上主函数与中断服务函数没有任何联系。
项目五 中断系统及其应用
(3) 掌握中断服务函数的定义。 (4) 掌握该项目的控制实例,并能灵活应用。 (5) 了解单片机中断源的扩展方法。
能力培养目标 (1) 能利用所学知识正确地理解中断概念。 (2) 能利用所学知识编写中断应用程序。 (3) 能利用所学知识解决实际工程问题。
项目五 中断系统及其应用
相关文档
最新文档