中断处理过程可分为中断响应、中断处理和中断返回三个阶段。
中断响应
中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。
中断响应过程
中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。首先,中断系统通过硬件自动生成长调用指令(LACLL),该指令将自动把断点地址压入堆栈保护(不保护累加器A、状态寄存器PSW和其它寄存器的内容),然后,将对应的中断入口地址装入程序计数器PC(由硬件自动执行),使程序转向该中断入口地址,执行中断服务程序。MCS-51系列单片机各中断源的入口地址由硬件事先设定,分配如下:
中断源 入口地址
外部中断0 0003H
定时器T0中断 000BH
外部中断1 0013H
定时器T1中断 001BH
串行口中断 0023H
使用时,通常在这些中断入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断服务程序的起始地址上去。
中断返回
中断返回是指中断服务完后,计算机返回原来断开的位置(即断点),继续执行原来的程序。中断返回由中断返回指令RETI来实现。该指令的功能是把断点地址从堆栈中弹出,送回到程序计数器PC,此外,还通知中断系统已完成中断处理,并同时清除优先级状态触发器。特别要注意不能用“RET”指令代替“RETI”指令。
中断请求的撤除
CPU响应中断请求后即进入中断服务程序,在中断返回前,应撤除该中断请求,否则,会重复引起中断而导致错误。MCS-51各中断源中断请求撤消的方法各不相同,分别为:
1)定时器中断请求的撤除
对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动清除其中断标志位TF0或TF1,无需采取其它措施。
2)串行口中断请求的撤除
对于串行口中断,CPU在响应中断后,硬件不能自动清除中断请求标志位TI、RI,必须在中断服务程序中用软件将其清除。
3)外部中断请求的撤除
外部中断可分为边沿触发型和电平触发型。
对于边沿触发的外部中断0或1,CPU在响应中断后由硬件自动清除其中断标志位IE0或IE1,无需采取其它措施。
关键字:单片机 中断响应 中断处理 中断返回
引用地址:
单片机中断处理过程:中断响应 中断处理 中断返回详解
推荐阅读最新更新时间:2024-03-16 13:24
利用单片机定时中断实现软定时器
以下是代码实现已经测试并用到项目上课放心使用 Author : 吾本杞人 #include reg52.h #include Intrins.h #include TypeDef.h #include CPUPin_Def.h #include VarDef.h #define TIME_BASE_2MS 2 #define TIME_BASE_500MS 250 #define TIME_BASE_10MS 5 #define F_OSC 110592 //定义这个是默认按照11.0592MHZ的晶振算的 TH0 TL0的值 方式1 16位定时器 //注意这种写法只
[单片机]
PIC16F84单片机控制电风扇的设计
一、硬件电路及原理 要使电风扇送出仿自然风,就需要改变电风扇送风的强弱,即需要改变风扇电机的电压和电流,从而改变其转速。如图1所示,风扇插座与晶闸管TREAC相串联,改变晶闸管控制角α,即控制晶闸管导通的时间,就能使风扇电机的电压、电流发生变化。图2展示了α角和电机负载电压的关系。 Α角的变化又可通过电容C1的充放电时间的改变来实现。PIC16F84单片机按一定规律选择电阻Rx,即可改变电容C1的充放电时间,从而改变2N2646的导通时间。改变了TREAC的导通角,达到改变电风扇送风强弱的目的。控制角α和强弱风的关系如图3所示 市电频率f=50Hz,则可得下式 α/360°=t/0.02……………(1) 根据图1所示RxC
[单片机]
基于单片机降低电池供电系统低功耗的设计方案
引言 20世纪90年代以来,随着集成电路特征线宽的持续缩小以及芯片密度和工作频率的相应增加,降低功耗已经成为亚微米和深亚微米超大规模集成电路设计中的一个主要考虑因素。功耗的增加会带来一系列问题,例如电路参数漂移、可靠性下降、芯片封装成本增加等。因此,系统的功耗在整个系统设计中,尤其是在采用电池供电的系统中显得十分重要。 Microchip公司PIC系列的单片机为设计高性能、低功耗的单片机系统提供了很好的解决方案。下面从低功耗设计方法及具体例子来介绍PIC单片机低功耗应用。 1 低功耗设计方法 为使系统工作在低功耗状态,必须正确设置单片机的配置及工作方式。下面结合最常用的PIC12、PIC16等单片机介绍低功耗系统的设计方法。
[单片机]
瑞萨发布血糖仪的V850微控制器展示平台
支持大量软件功能,同时还能将移动行业标准医疗器械的电池寿命最大化 2011年8月9日 日本东京讯 —高级半导体解决方案厂商瑞萨电子株式会社(TSE:6723,以下简称“瑞萨电子”)宣布推出基于瑞萨电子V850节能型微控制器(MCU)的Continua演示平台,以及已经通过Continua认证的血糖代理软件。该平台实现了Continua健康联盟(Continua Health Alliance)的规定,展示了V850 MCU如何确保电池寿命长效使用的能效等级和全面增强的软件功能。由于血糖仪之类的医疗器械要求具有符合Continua指南要求的连接功能,高能效的V850 MCU具备350uA/DMIPS的高性能,具备高达1MB Fla
[单片机]
8051单片机(STC89C52)八段数码管轮流显示0~7
在8个数码管上自右开始, 轮流显示 0 ~ 7. #include STC89C5xRC.H void delay()//提供时延 { int i, j; for(i = 0; i 300 ; i++) for(j = 0; j 300; j++) ; } void f1_3_4_3()//在8个数码管上轮流显示0~7 { unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07}; int i; while(1) { for(i = 0; i 8; i++) { P2 = i 2; //
[单片机]
单片机通讯程序
发送机发送按键信息,接收机把接受的信息用数码管显示出来 发送机程序 #include reg52.h #define uchar unsigned char #define uint unsigned int void delay(uint); void SET_SYSTEM(void); uchar KEY_scan(void); void main() { uchar data i; delay(100); SET_SYSTEM(); while(1) { i=KEY_scan(); if(i) { TI=0; SBUF=i; while(!TI); } } } /*
[单片机]
基于飞思卡尔MCU的电动助力转向系统(EPS)方案
方案描述: 专门用于关键安全应用的先进的16位和32位 MCU ,已成为当前电子助力转向系统的核心组件。这些控制器可提供更强的计算能力和用以支持复杂电机控制功能的专用片内外设。 集成式电源解决方案也是电子助力转向单元的重要组件。它们集成了用于CAN和LIN等各种汽车总线互连能力。 MCU 通常可以通过SPI接口或直接控制内置的预驱动器,对功率MOSFET进行驱动。 方案设计图: 方案关键器件表:
[汽车电子]
义隆新一代语音OTP大幅提高MCU运算速度
义隆电子股份有限公司日前宣布,将于四月推出新一代的语音OTP(One Time Programming)芯片——eSPA系列。除秒数扩增加到80秒、语音信道数增加到四轨之外,MCU运算速度也比已有语音OTP芯片(EM57P300)快二十倍,大幅提升产品效能。适合玩具、礼品等产品。 新一代语音OTP芯片(eSPA系列)将其功能加以提升,具有主频为4MHZ,语音(Speech)/乐音(Midi)为四信道规划。目前已推出20秒与40秒的芯片,并预定在今年六月推出高达80秒的芯片。 该系列芯片除可选择外挂晶振或电阻外,还可选择其内置起振电阻方式(频率误差率在正负百分之五)。另外,其内含的MASK ROM依秒数而不同,但都提供192 n
[新品]