预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机的中断系统单片机的中断系统日常事务 中断请求 中断响应 保护断点 中断服务 中断返回 在CPU和外设交换信息时,存在着快速CPU和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为此,单片机中通常采用中断技术。 中断 CPU和外设并行工作,当外设数据准备好(或有某种突发事件发生)时向CPU提出请求,CPU暂停正在执行的程序转而为该外设服务(或处理紧急事件),处理完毕再回到原断点继续执行原程序。 中断源 引起中断的原因,中断申请的来源,中断源可以是I/O设备、故障、时钟、调试中人为设置。中断优先级 当有多个中断源同时向CPU申请中断时,CPU优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的。 中断的嵌套 在中断系统中,高优先级的中断请求能中断正在进行的较低级的中断源处理。 本章将讨论89C51系列单片机的中断系统。8XX51有5个中断源,3个在片内,2个在片外,它们在程序存储器中有固定的中断入口地址,当CPU响应中断时,硬件自动“走进”这些地址,由此进入中断服务程序;并且5个中断源有两级中断优先级,可形成中断嵌套;符号外部中断内部中断2.2中断控制的有关寄存器EA:中断总控开关,是CPU是否响应中断的前提。 EA=1,CPU开中断; EA=0,CPU关中断。 ES:串行口中断允许位, ES=1,允许串行口发送/接收中断; ES=0,禁止串行口中断。 ET1:定时器T1中断允许位, ET1=1,允许T1计数溢出中断; ET1=0,禁止T1中断。 ET0:定时器T0中断允许位, ET0=1,允许T1计数溢出中断; ET0=0,禁止T0中断。 EX1:外部中断INT1允许位, EX1=1,允许INT1中断; EX1=0,禁止INT1中断。 EX0:外部中断INT0允许位, EX0=1,允许INT0中断; EX0=0,禁止INT0中断。说明: IT0和IT1为外中断INT0和INT1中断触发方式选择,若选下降沿触发则相应位置1;若选低电平触发,IT相应位置0。 IE0/IE1表征某中断源有无中断请求,是硬件自动设定的。有中断请求,该中断标志置1;无中断请求,该中断标志置0。 TR0和TR1为定时器T0和T1工作启动和停止控制。(3)中断优先级管理寄存器IP附:MCS_51系列单片机的中断结构3中断响应过程中断返回,断点出栈送PC中断请求、中断响应过程、中断返回由硬件自动完成。但是要事先编程实现中断的各种配置。 中断服务程序(ISR)应根据需要进行编写。程序中要注意保护现场和恢复现场。 中断返回是通过执行一条RETI中断返回指令,使堆栈中被压入的断点地址送PC,从而返回主程序的断点继续执行主程序。另外RETI还有恢复优先级状态触发器的作用,因此不能以RET指令代替“RETI”指令。若某个中断源通过编程设置,处于被打开的状态,并满足中断响应的条件,然而下面三种情况单片机不响应此中断: ①当前正在执行的那条指令没执行完; ②当前响应了同级或高级中断; ③正在操作IE、IP中断控制寄存器或执行RETI指令。 在正常的情况下,从中断请求信号有效开始,到中断得到响应,通常需要3个机器周期到8个机器周期。对电平触发的外部中断,CPU在INT1或INT0的低电平信 号解除后自动清除中断标志,因此,在CPU响应中断后应立 即撤除INT1或INT0的低电平信号。4中断的程序设计ORG0000H AJMPMAIN ORG0003H;INT0中断入口 AJMPWBI;转中断服务程序 ORG0030H;主程序 MAIN:MOVP1,#0FH;全灯灭,低四位输入 SETBIT0;边沿触发中断 SETBEX0;允许外中断0中断 SETBEA;开中断开关 SJMP$ WBI:MOVP1,#0FH;P1先写入“1”且灯灭 MOVA,P1;输入开关状态 SWAPA MOVP1,A;输出到P1高4位 RETI END二、c语言程序设计C程序的模型练习基于proteus的实验每个中断源有固定的中断服务程序的入口地址(称矢量地址或向量地址)。当CPU响应中断以后单片机内部硬件保证它能自动的跳转到该地址。因此,此地址是应该熟记的,在汇编程序中,中断服务程序应存放在正确的向量地址内。(或存放一条转移指令);而在C语言中是靠interruptX的关键字X自动设置的。(2)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器IE,中断优先权寄存器IP,必须在CPU开中断即开全局中断开关EA,开各中断源的中断开关,CPU才能响应该中断源的中断请求,其中缺一不可。 (3)从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌握中断响应的过程,才能理解中断的发生和返回,看得懂中断程序,并能编写高质量中断程序。中断