最新51单片机中断系统及应用
MCS-51系列单片机的中断系统

大连理工大学出版社
第5章 中断
当断不断必受其乱
第5章 中断系统
5.1 概述 MCS-51系列单片机的中断系统 5.2 MCS-51系列单片机的中断系统 5.3 中断程序设计方法
第5 章
中断系统
中断控制是单片机最重要的技术之一, 实时控制及人机交互等应用都是通过中 断实现的。 本章主要介绍中断的基本概念、MCS-51 系列单片机单片机的中断机制及其简单 应用。
5.2.2中断控制 5.2.2中断控制
1.中断允许 MCS-51系列单片机中断系统通过中断允许控制 寄存器IE实现开中断和关中断的功能。 (1)IE寄存器 IE寄存器由一个中断允许总控制位和各中断源 的中断允许控制位构成,从而进行两级中断允 许控制。IE寄存器的各位定义如下:
5.2.2中断控制 IE寄存器
5.2.2中断控制 IE寄存器
EX1(IE.2)——外中断1的中断允许控 制位。中断总允许时,EX1=0,禁止外中 断1中断;EX1=1,允许外中断1中断。 ET1(IE.3)——定时器T1的中断允许控 制位。中断总允许时,EX1=0,禁止T1中 断;ET1=1,允许T1中断。
5.2.2中断控制 5.2.2中断控制 IE寄存器
5.2.1中断源和中断标志
当MCS-51系列单片机的外中断源以脉冲方式触 发时,负脉冲有效。CPU在一个机器周期采样到 INT0(或者 INT1 )引脚上为高电平,在接下 来的一个机器周期采样到INT0(或者INT1)引 脚上是低电平,即出现了下降沿的跳变(负脉 冲)时,就认为是外中断0(或者外中断1)的 一个有效的中断请求信号。因为两次检测的间 隔时间为一个机器周期,负脉冲对应的高低电 平持续时间都应至少维持一个机器周期,从而 保证CPU能够检测到电平的跳变。
MCS-51单片机的中断系统

MCS-51单⽚机的中断系统单⽚机中断技术概述在任何⼀款事件驱动型的CPU⾥⾯都应该会有中断系统,因为中断就是为响应某种事件⽽存在的。
中断的灵活应⽤不仅能够实现想要的功能,⽽且合理的中断安排可以提⾼事件执⾏的效率,因此中断在单⽚机应⽤中的地位是⾮常重要的。
单⽚机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转⽽去执⾏⼀个中断服务⼦程序。
为了更形象地理解中断,下⾯以学⽣上⾃习时接电话为例阐述⼀下中断的概念。
单⽚机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。
如果单⽚机没有中断系统,单⽚机的⼤量时间可能会浪费在查询是否有服务请求发⽣的定时査询操作上。
采⽤中断技术完全消除了单⽚机在査询⽅式中的等待现象,⼤⼤地提⾼了单⽚机的⼯作效率和实时性。
单⽚机中断系统结构及中断控制中断系统结构图如图5-2所⽰。
由图5-2可见,MCS-51中断系统共有5个中断请求源:INT0——外部中断请求0,中断请求信号由INT0引脚输⼊。
定时/计数器T0计数溢出发出的中断请求。
INT1——外部中断请求1,中断请求信号由INT1引脚输⼊。
定时/计数器T1计数溢出发出的中断请求。
串⾏⼝中断请求。
中断优先级从⾼到底排列。
单⽚机如何知道有中断请求信号?是否能够响应该中断?若5个中断源请求信号同时到来,单⽚机如何响应?这些问题都可以由中断寄存器来解决。
单⽚机中断寄存器有中断标志寄存器TCON和SCON、中断使能寄存器IE和中断优先级寄存器IP,这些寄存器均为8位。
中断标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存,单⽚机通过这些中断标志位的状态便能知道具体是哪个中断源正在申请中断。
TCON寄存器TCON寄存器为定时/计数器的控制寄存器,字节地址为88H,可位寻址。
特殊功能寄存器TCON的格式如图5-3所⽰。
TCON各标志位功能如下。
TF1——定时/计数器T1的溢出中断请求标志位。
第05章 MCS-51单片机的中断与定时(1-4)

2
1
TH0
;P1.0输出“0” ;P1.0输出“1”
5.2 MCS-51单片机的中断系统
五、外中断应用举例
1. 中断初始化程序
设置外中断源的触发方式 设置中断允许寄存器IE 设置中断优先级寄存器IP
2. 中断服务程序
保护现场 中断处理 恢复现场
23/65
5.2 MCS-51单片机的中断系统
【例5-3】 设外部中断0为下降沿触发方 式,高优先级,试编写中断初始化程序
5.2 MCS-51单片机的中断系统
【例5-4】 将单脉冲接到外中断0(INT0)引脚,利 用P1.0作为输出,经反相器接发光二极管。编写程 序,每按动一次按钮,产生一个外中断信号,使发 光二极管的状态发生变化,由亮变暗,或反之
P1.0 单脉冲 发生器 INT0
1
+5V
8031
26/65
5.2 MCS-51单片机的中断系统
串口:0023H
20/65
5.2 MCS-51单片机的中断系统
四、中断请求的撤除
1.定时/计数器中断请求标志TF0/TF1会自动撤除 2.串行口中断请求标志TI/RI要用指令撤除
CLR TI ;清TI标志位 CLR RI ;清RI标志位
3.负脉冲触发的外中断请求标志IE0/IE1会自动撤除 4.低电平触发的外中断请求信号需要外加电路撤除
下次课前请预习5.3节
30/65
5.3 51单片机的定时器/计数器
MCS-51单片机内部有两个16位定时/计数器 T0和T1,简称定时器0和定时器1
在特殊功能寄存器TMOD和TCON的控制下, 它们既可以设定成定时器使用,也可以设定 成计数器使用
定时/计数器有4种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务
第5章-MCS-51单片机中断系统-PPT

5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
第5章 MCS-51单片机的中断系统

(2)实现实时处理
在实时控制中,现场的参数、信息是不断变化的。 有了中断功能,外界的这些变化量可随时向CPU 发出中断请求,CPU可以马上响应加以处理。
(3)故障处理
单片机运行过程中,出现一些故障时(如掉电、 存储出错、运算溢出等),有了中断功能,单片 机就能自行处理而不必停机。 外界的中断请求是随机的,单片机响应请求后要 转到中断服务程序,与调用子程序相类似,需要 注意对现场进行保护。
ORG 0100H
MAIN: …;
第五章 MCS-51单片机的中断系统
ORG 1000H INT1:PUSH ACC PUSH DPH PUSH DPL PUSH R0 PUSH R1 … POP R1 POP R0 POP DPL POP DPH POP ACC RETI
第五章 MCS-51单片机的中断系统
5.3 中断处理过程
中断响应
中断处理
中断返回
第五章 MCS-51单片机的中断系统
5.3.1 中断响应
1. CPU响应中断的基本条件 (1)有中断源提出中断请求; (2)中断没有被禁止; (3)没有正在响应的同级或更高优先级的中断; (4)当前的指令周期已经结束;(也就是说,中 断申请时,正在执行的这条指令完成后,才会响 应中断请求) (5)若当前指令为RETI或访问IE、IP指令, CPU在执行完当前指令后,要再执行一条指令才 会响应中断请求。
第五章 MCS-51单片机的中断系统
2.中断响应过程 (1)根据响应的中断源的中断优先级,使相应的优 先级状态触发器置1; (2)清除相应的中断请求标志位(串行口中断请求 标志RI和TI除外);
(3)把当前程序计数器PC的内容压入堆栈;
(4)把被响应的中断源所对应的中断服务程序的入 口地址送入PC,从而转入相应的中断服务程序。 CPU响应中断请求后,在中断返回(执行RETI)前, 中断请求必须被清除,即中断标志位=0,否则会再 一次引起中断响应。
MCS-51单片机的中断系统

其各位格式为: D7 D6 D5 D4 D3 D2 D1 D0 -- -- -- PS PT1 PX1 PT0 PX0
如果CPU接收到几个相同优先级的中断请求源时,响应哪一个 中断申请要取决于一个内部的硬件查询序列,此时应按照下表所 示的优先权结构先后响应中断请求。
中断源 外部中断0(IE0) 定时器T0中断(TF0) 外部中断1(IE1) 定时器T1中断(TF1) 串行口中断(RI、TI)
主程序的中断处理
1.2 CPU响应及处理中断机制
一般来说,根据中断源的轻重缓急排序,CPU优先处理最 紧急事件的中断请求源。也就是说,需要对各个中断源设定 相应的优先级,CPU总是最先响应级别最高的中断。中断源可 以分为两个中断优先级:高优先级和低优先级。用户可以用 关中断指令或复位指令来屏蔽所有中断请求,也可以用开中 断指令使CPU接收中断申请。
SM0 SM1 SM2 REN TB8 RB8 TI RI
1.4 中断控制及中断优先级
1.中断允许控制寄存器IE(字节地址A8H)
D7 D6 D5 D4 D3 D2 D1 D0 EA -- ET2 ES ET1 EX1 ET0 EX0
使用汇编语言程序控制中断请求信号的允许 或禁止的程序示例如下:
CLR EA ; 禁止所有中断请求
MOV SP, #60H SETB PX0 SETB IT0 SETB ET0 SETB EX0 SETB EA
【例2】若要求外部中断引脚 采用边沿触发方式,处于高优先 级,初始化程序可以采用位操作指令,也可以用字节型指令进行编 制。
位操作指令: SETB EA SETB EX1 SETB PX1 SETB IT1
送/接收后引起。
2.中断请求标志 1)TCON寄存器中的中断标志 TCON是定时/计数器T0、T1的控制寄存器,格式如下:
51单片机中断程序例子

51单片机中断程序例子
1. 外部中断:当外部信号引脚检测到高电平时,单片机会触发外部中断服务程序。
可以利用外部中断实现按键扫描功能,当按键按下时,触发中断程序对按键进行处理。
2. 定时器中断:利用定时器中断可以实现精确的时间控制。
例如,我们可以设置定时器中断为1秒,当定时器溢出时,触发中断程序,实现1秒钟执行一次的任务。
3. 串口中断:当接收到串口数据时,单片机会触发串口中断服务程序,可以利用串口中断实现串口通信功能。
4. ADC中断:当模数转换器完成一次转换时,单片机会触发ADC中断服务程序,可以利用ADC中断实现模拟信号的采集和处理。
5. 看门狗中断:看门狗定时器溢出时,单片机会触发看门狗中断服务程序,可以利用看门狗中断实现系统复位或其他相关功能。
6. 外部中断优先级:当多个外部中断同时触发时,可以通过设置外部中断的优先级来确定触发的顺序和优先级。
7. 定时器中断优先级:当多个定时器中断同时触发时,可以通过设置定时器中断的优先级来确定触发的顺序和优先级。
8. 中断嵌套:单片机支持中断嵌套,即在一个中断服务程序中触发
另一个中断服务程序,可以通过中断嵌套实现复杂的任务处理。
9. 中断屏蔽:单片机支持对中断的屏蔽,即可以通过设置中断屏蔽标志位来屏蔽某些中断,使其暂时不被触发。
10. 中断标志位:单片机提供中断标志位,用于标识中断是否被触发。
在中断服务程序中,可以通过读取和清除中断标志位来判断中断是否发生。
以上是根据51单片机中断程序的例子进行的描述,这些例子涵盖了常见的中断类型和相关功能。
通过学习和理解这些例子,可以更好地掌握51单片机中断编程的原理和方法。
51单片机中断系统程序实例

51单片机中断系统程序实例(STC89C52RC)51单片机有了中断,在程序设计中就可以做到,在做某件事的过程中,停下来先去响应中断,做别的事情,做好别的事情再继续原来的事情。
中断优先级是可以给要做的事情排序。
单片机的学习不难,只要掌握学习方法,学起来并不难。
什么是好的学习方法呢,一定要掌握二个要点:1. 要知道寄存器的英文全拼,比如IE = interrupt中断不知道全拼,要去猜,去查。
这样就可以理解为什么是这个名称,理解了以后就不用记忆了。
2. 每个知识点要有形像的出处比如看到TF0,脑子里马上要形像地定位到TCON寄存器的某位看到ET0, 马上要形像地定位到IE寄存器的第2位/tuenhai/独家揭秘:形像是记忆的最大技巧。
当人眼看到某个图时,是把视觉信号转化成电信号,再转化成人能理解的形像。
当我们回忆形像时,就是在重新检索原先那个视觉信号,并放大。
在学习过程中,不断练习检索、放大信号,我们的学习能力就会越来越强。
写程序代码时,也要把尽量把每行代码形像化。
51单片机内中断源8051有五个中断源,有两个优先级。
与中断系统有关的特殊功能寄存器有IE(中断允许寄存器)、IP(中断优先级控制寄存器)、中断源控制寄存器(如TCON、SCON的有关位)。
51单片机的中断系统结构如下图(注意,IF0应为TF0):8052有6个中断源,它比8051多一个定时器/计数器T2中断源。
8051五个中断源分别是:(1)51单片机外部中断源8051有两个外部中断源,分别是INT0和INT1,分别从P3.2和P3.3两个引脚引入中断请求信号,两个中断源的中断触发允许由TCON的低4位控制,TCON的高4位控制运行和溢出标志。
INT0也就是Interrupt 0。
在这里应该看一下你的51单片机开发板的电路原理图。
离开形像的记忆是没有意义的。
读到上面这句,你应该回忆起原理图上的连接。
任何记忆都转化为形像,这是学习的根本原理,我们通过学习单片机要学会这种学习方法,会让你一辈子受益无穷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;主程序 ;设置为电平触发方式 ;允许中断 ;开中断
;中断服务子程序 ;中断返回
4.2.5 中断计数流水灯硬件电路设计
中断方式计数流水灯电路如图4-10所示,单片机P2 口接一共阳极数码管显示器,实现0~9的循环计数显示。 P0口接8个LED作流水灯,图中电阻均为限流电阻。中断 由P3.2口(INT0)上连接一个开关SW1,作外部中断控 制信号。发光二极管D9是指示开关状态而设立的。
平维持时间过长时,一个中断申请会引发多个中断,因此 必须采用措施撤消中断申请。
2. 第二级开关——中断允许和开放中断开关 五个中断源各有一个开关进行控制,通过软件对IE的
某位置1操作,实现相应中断允许开关闭合,于是某个中断 申请被允许。注意,无论哪个或哪几个中断被允许,能否 实现中断还必须开放总中断,即用软件设置EA=1。
恢复现场的指令有POP。
(4)中断返回 中断服务程序返回指令必须是RETI。CPU 执行RETI时自动从SP中取回断点地址,继续执行主程序。
上一页 下一页
【例4-2】某中断系统使用作外部中断控制端,低电平触 发方式,设中断服务子程序名为EXINT0 ,试写出其初始化 程序。
ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 0100H MAIN: …… CLR IT0 SETB EX0 SETB EA …… EXINT0:…… RETI …… END
图4—6 中断控制寄存器TCON各位定义
上一页 下一页
2. 4个中断有关的控制寄存器
(2) 串行口控制寄存器SCON
串行口控制寄存器用于外部IO口扩展和单片机与计 算机、单片机、外部设备之间通信,与外部中断控制无 关,将在串行口的开放或屏蔽是由中断允许寄存 器IE控制的。IE的字节地址为A8H,可以按位寻址。
地址位 AFH AEH ADH ACH ABH AAH A9H A8H
位定义 EA
ES ET1 EX1 ET0 IT0
上一页 下一页
2. 4个中断有关的控制寄存器
(4)中断优先级控制寄存器IP
IP规定了两个中断级别,称为低级优先级和高级优先 级。每一个中断源均可由程序设置为高级优先级中断或低 级优先级中断,从而实现中断嵌套。
51单片机中断系统及应 用
中断计数流水灯电路
【项目任务】 本项目采用外部中断方式实现 0~9 循环计数和流
水灯控制电路。在单片机 I/O 口连接一个按键,当开关 断开时,单片机电路进行循环计数;当开关按下时,计 数停止,单片机控制流水灯点亮。当流水灯点亮两轮后, 计数按照中断时的计数值继续计数。
通过本项目设计制作,熟悉单片机中断的基本概念, 掌握MCS-51单片机中断系统的硬件结构、外部中断 的基本原理和应用。
断前的状态继续执行。
保护现场的主要指令有PUSH。
图4-9 中断程序结构图
上一页 下一页
4.2.4 中断服务程序的结构
(2)中断服务程序主体 中断服务程序主体是中断系统中 独立的子程序,根据中断的要求来设计。
(3)恢复现场 为了使中断服务程序返回主程序能够继续 执行主程序,中断返回之前必须恢复堆栈的数据到原工作 寄存器中。注意堆栈操作必须遵循后进先出的原则。
当开关断开时,单片机运行循环计数主程序;当开
关闭合时,单片机运行流水灯中断程序,执行完中断程
序后返回继续执行计数显示主程序。
4.2.5 中断计数流水灯硬件电路设计
图4-10 中断计数流水灯电路 上一页 下一页
3. 3 级中断控制开关设置
3.第三级开关——中断优先级开关设置 中断优先级控制寄存器IP的字节地址是B8H,可以
字节寻址,也可以位寻址。各位定义如下: PS :串行口中断优先级控制位 PT1:定时器T1中断优先级控制位 PX1:外部中断1中断优先级控制位 PT0:定时器T0中断优先级控制位 PX0:外部中断0中断优先级控制位
图4—8 中断优先寄存器IP各位定义
4.2.4 中断服务程序的结构
2. 中断服务子程序的结构
(1) 保护现场 主程序使用一些 常用特殊功能寄存器和工作存储器, 例如ACC、DPTR、Rn等。一般在中 断服务程序中可能也要应用这些常用 的特殊功能寄存器、工作寄存器,执 行中断程序之前,必须将这些单元的 内容保存起来,这样在执行完中断服 务程序返回主程序是能够恢复这些单 元的内容,使主程序能够继续按照中
同一优先级中按照自然优先级的次序响应中断。在同 一优先级同时发生几个的中断请求时,响应哪个中断取决 于内部查询次序。
表4-4 同级内中断查询次序 同级查询次序
先
后
上一页
下一页
3. 3 级中断控制开关设置
1. 第一级开关——中断触发方式开关 IT0/IT1=1时, 外部中断信号取下降沿触发方式。 IT0/IT1=0时, 外部中断信号取电平触发方式,低电
1. 5个中断源
4.T1:定时器T1溢出中断请求。当T1工作在计数状态 时,计数脉冲从P3.5脚输入。当定时器T1产生溢出时, 定时器T1中断请求标志位(TCON.7)置位(由硬件自 动执行),请求中断处理。 5.RX/TX:串行中断请求。当接收或发送完一串行帧 时,内部串行口中断请求标志位RI(SCON.0)或TI (SCON.1)置位(由硬件自动执行),请求中断。串行 口应用时,一般是RX、TX同时使用,相互配合完成串 行数据传输工作。
上一页 下一页
2. 4个中断有关的控制寄存器
(1)中断控制寄存器TCON 中断控制寄存器TCON有两个作用,即除了控制
定时/计数器T0和T1的溢出中断外,还控制外部中断 的触发方式和锁存外部中断请求标志位。TCON字节 地址为88H,可位寻址,位地址范围为88H~8FH。
地址位 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位定义 TF1 TR1 TF0 TR1 IE1 IT1 IE0 IT0