
单片机-中断.ppt
83页单片机原理与应用,第五章 中断系统,● 教学目标: 介绍MCS-51中断系统及中断控制 介绍中断处理的过程 介绍中断应用程序的编程 ● 学习要求: 熟悉中断、中断源、中断服务程序、保护现场、恢复现场、中断优先级、中断处理等概念; 掌握51中断入口地址和各中断控制寄存器含义及应用:包括TCON、SCON、IE和IP; 掌握中断初始化和中断服务程序的编制单片机原理与应用,第五章 中断系统,5-1 微机的输入/输出方式5-2 中断的概念5-3 MCS-51中断系统结构及中断控制5-4 MCS-51中断处理过程5-5 MCS-51外部中断的扩展方法5-6 MCS-51中断程序举例,单片机原理与应用,5-1 微机的输入/输出方式 MCS51有很强的接口能力,可扩展存储器、外设扩展后,CPU要与各种形式的外设相连,这些外设的结构形式、信号种类与大小、工作速度的快慢相差很大,这就需研究单片机与外设交换的方法,I/O设备必须通过I/O接口与计算机连接I/O接口的功能:1.速度匹配: 锁存数据、传送联络信号。
2.数据格式转换: 并-串转换、A/D、D/A转换3.电平转换: 电平幅值或正/负逻辑转换4.隔离: 多个设备信号通过接口三态门隔离干扰信号5.缓冲驱动:驱动多个逻辑部件或大功率执行部件单片机原理与应用,,每个I/O接口分配有对应的I/O地址CPU与I/O之间接口信号:,1.数据信息:微型机与外设交换的数据,经接口数据缓冲器传送2.状态信息:反映外设工作状态的信号3.控制信息:设定I/O电路工作方式的信号数据总线传递三种信号,用不同I/O地址区别:输入/输出数据缓冲器共用一个I/O地址:数据端口状态/控制寄存器共用一个I/O地址:控制/状态端口单片机原理与应用,I/O寻址方式,一.存储器地址方式I/O接口共用存储器的地址空间,每个I/O端口视为一个存储单元二.专用I/O地址方式有专用I/O控制信号和I/O指令I/O接口独立编址,不占用存储器的地址空间MCS-51、96为存储器地址方式MCS-51单片机有片内I/O接口和扩展I/O接口片内I/O接口寄存器在SFR中,使用片内数据存储器空间,扩展I/O接口使用片外数据存储器地址空间: 输出指令: 输入指令:片内寻址:MOV P1,A MOV A,P1片外寻址:MOVX @DPTR,A MOVX A,@DPTR MOVX @R0,A MOVX A,@R0,,,单片机原理与应用,单片机原理与应用,I/O控制方式,MCS-51有很强的I/O接口扩展能力,I/O外设扩展后,单片机要与各种形式的外设相连,这些外设的结构形式、信号种类与大小、工作速度的快慢相差很大,这就需要研究单片机与外设交换数据的方法---I/O控制方式。
目前微机CPU与外设交换信息通常有以下几种形式:一.无条件传送方式已知I/O设备准备就绪,可直接进行数据传送单片机原理与应用,二.查询式传送也称程序控制法,先查询I/O设备当前状态,若准备就绪,则交换数据,否则循环查询状态这种方法对硬件要求较少,软件设计简单,缺点是数据交换速度慢,单片机要花费大量时间查询、等待常用于CPU不太繁忙、响应速度要求不高的场合1.硬件查询电路设置状态锁存和数据锁存电路INPUT:MOV DPTR,#SATUS;状态口地址WAIT: MOVX A,@DPTR JB ACC.6,WAIT MOV DPTR,#DATA ;数据口地址 MOVX A,@DPTR,2.软件查询程序先输入状态,决定是否进行数据传送单片机原理与应用,,三.中断传送 大多数时间计算机与外设并行工作,计算机不必因等待而浪费资源当外设准备就绪,向CPU发出中断请求信号CPU暂停当前程序,执行I/O操作当I/O操作结束,CPU仍继续被中断的工作引入中断技术作用: (1)实时处理,提高处理故障的能力; (2)解决CPU和外设之间的速度匹配问题,提高CPU的效率单片机原理与应用,单片机原理与应用,,四.直接存储器存取方式传送(DMA—Direct Memory Access)用于计算机与高速外设进行大批量数据交换,由DMA控制器接管总线控制权,RAM与外设之间直接数据传输,不需CPU的介入。
单片机原理与应用,第五章 中断系统,5-1 微机的输入/输出方式5-2 中断的概念5-3 MCS-51中断系统结构及中断控制5-4 MCS-51中断处理过程5-5 MCS-51外部中断的扩展方法5-6 MCS-51中断程序举例,,中断系统是计算机的重要指标之一可以解决快速CPU与慢速外设之间的矛盾,使之能并行工作可以及时处理随机参数及故障,提高可靠性某人看书 执行主程序 日常事务铃响 中断信号INT=0 中断请求暂停看书 暂停执行主程序 中断响应书中作记号 当前PC入栈 保护断点谈话 执行I/O程序 中断服务继续看书 返回主程序 中断返回,,,5-2 中断概念,单片机原理与应用,单片机原理与应用,中断的概念中断——指CPU正在执行程序,处理某件事情的时候,外部发生了某一事件,请求CPU马上处理,CPU停当前工作,转入处理所发生事件,处理完以后,再返回到原来被中断的地方,继续原来的工作 实现中断功能的部件称为中断系统 中断服务程序——中断之后所执行的处理程序,原来运行的程序称为主程序 断点——主程序被断开的位置(地址) 中断源——引起中断的原因,或能发出中断申请的来源。
中断请求——中断源要求服务的请求单片机原理与应用,中断源1.输入、输出设备中断源 一般计算机的I/O设备,如键盘、磁盘驱动器、打印机等,可通过接口电路向CPU申请中断 2.故障源 故障源是产生故障信息的来源例如:CPU内部故障源,如除法中除数为零时的情况;外部故障源,如电源掉电情况单片机原理与应用,3.实时中断源 在实时控制中,常常将被控参数、信息作为实时中断源例如,电压、电流、温度等超越上限或下限时,以及继电器、开关闭合断开 4.定时/计数脉冲中断源 内部定时/计数中断; 外部定时/计数中断是由外部定时脉冲通过输入线引起,单片机原理与应用,中断系统的一般功能中断系统一般应具有如下功能: 1. 实现中断及返回 当某中断源发出中断申请时,若允许响应,CPU必须在现行的指令执行完后,把断点处的PC值压入堆栈保存,称为保护断点硬件自动完成) 保护现场——响应中断后,将有关的寄存器内容和状态标志位压入堆栈保存 恢复现场——执行中断服务程序后,恢复原保留的寄存器的内容和标志位的状态,并执行返回指令“RETI”(用户编程实现),单片机原理与应用,中断及返回过程如图5—1所示:,单片机原理与应用,2.实现优先权排队优先权——给各中断源规定一个优先级别。
当同时有多个中断请求信号,先响应优先级别高的中断请求高优先级中断请求信号可中断低优先级中断服务计算机按中断源级别高低逐次响应的过程称优先权排队这个过程可以通过硬件电路来实现,也可以通过程序查询来实现寻找中断源与确定优先级,寻找中断源:每个中断源对应一个中断服务程序多个中断源按优先级别排队硬件上排队顺序:DMA、NMI、INT软件查询方式,INTS:MOV A,P1;读中断源寄存器 JB ACC.0,SV1 ;查询高级中断请求 JB ACC.1,SV2 ;查询低级中断请求 …SV1: … ;中断服务程序1 …SV2: … ;中断服务程序2,,,单片机原理与应用,硬件查询方式,硬件优先级排队和中断向量锁存电路中断向量:提供中断服务程序入口地址信息的地址单片机原理与应用,单片机原理与应用,3.实现中断嵌套中断嵌套示意图如图5—2所示 中断申请的中断源的优先权级别与正在处理的中断源同级或更低时,CPU暂时不响应这个中断申请,直至正在处理的中断服务程序执行完以后才去处理新的中断申请单片机原理与应用,4. 实现中断的撤除在响应中断后,返回主程序之前,中断请求应该撤除,否则,将影响对其它中断申请的响应。
MCS-51中断系统只能对一部分中断申请,在响应后自动撤除,使用中应注意调用中断服务程序与调用子程序的区别:1、事先安排和随机发生 2、软件调用和硬件自动完成,,,单片机原理与应用,两种中断1.可屏蔽中断可程控“开中断/关中断”软件设置允许/禁止CPU响应中断2.非屏蔽中断不可程控“关中断”有中断请求信号,CPU必须响应中断处理过程,一.中断响应条件1.有中断请求信号 2. 系统处于开中断状态,二.中断响应过程1.关中断:屏蔽其它中断请求信号2.保护断点:将断点地址压入堆栈保存,即当前PC值入栈3.寻找中断源:中断服务程序入口®PC,转入中断服务4.保护现场:将中断服务程序使用的所有寄存器内容入栈5.中断处理:执行中断源所要求的程序段6.恢复现场:恢复被使用寄存器的原有内容7.开中断:允许接受其它中断请求信号8.中断返回:执行RETI指令,栈顶内容®PC,程序跳转回断点处单片机原理与应用,单片机原理与应用,第五章 中断系统,5-1 微机的输入/输出方式5-2 中断的概念5-3 MCS-51中断系统结构及中断控制5-4 MCS-51中断处理过程5-5 MCS-51外部中断的扩展方法5-6 MCS-51中断程序举例,单片机原理与应用,MCS—51提供5个中断请求源,2个中断优先级,可实现两级中断服务程序嵌套。
当CPU执行关中断指令后(或复位),将屏蔽所有中断请求,只有CPU执行开中断指令后才有可能接受中断请求,每个中断源可由软件编程为允许中断和禁止中断,每个中断源可程控为高优先级中断或低优先级中断可见MCS-51具有较强的中断处理能力MCS51中断系统简介,单片机原理与应用,一、中断系统内部结构MCS-51的中断系统结构框图如下图所示,与中断有关的特殊功能寄存器有4个,分别为中断源寄存器(即专用寄存器TCON和SCON的相关位)、IE和IP MCS-51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套单片机原理与应用,,单片机原理与应用,,,二、MCS-51中断源及中断入口MCS-51的中断源可分为三类:外部中断、定时中断和串行口中断 1.外部中断类 由外部原因引起的: INT0——外部中断0请求信号,由P3.2输入,IT0 (TCON.0) 决定中断请求信号是低电平有效还是下降沿有效一旦输入有效,即向CPU申请中断,并使IE0=1 INT1——外部中断1请求信号,由P3.3输入,由IT1 (TCON.2) 决定中断请求信号是低电平有效还是下降沿有效一旦输入有效,即向CPU申请中断,并使IE1=1。
单片机原理与应用,2.定时中断类定时中断是为满足定时或计数溢出处理的需要而设置的,在单片机芯片内部发生,无需在芯片上设置引入端,但在计数方式时,中断源可以由单片机芯片外部引入 TF0——定时器T0溢出中断请求当定时器T0产生溢出时,其中断请求标志TF0=1,请求中断处理 TF1——定时器T1溢出中断请求当定时器T1产生溢出时,其中断请求标志TF1=1,请求中断处理单片机原理与应用,3.串行口中断类串行口中断为串行数据的传送需要而设置的 RI或TI——串行中断请求 各中断源对应的中断服务程序入口地址: 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H,。
