【傻瓜51单片机讲义】 第8课 中断实验教学.ppt
文本预览下载声明
一气呵成学51 第8课 中断实验教学 1.中断原理和中断源。 2.C语言相关语法。 3.中断程序分析。 4.实际操作,验证程序。 1.中断原理和中断源 1.1 认识中断 所谓中断,是指当单片机执行程序时,系统中出现某些急需处理的异常情况和特殊请求,CPU暂时中止现行程序,转去对随机发生的更紧迫事件进行处理;处理完毕后,CPU自动返回原来的程序继续执行。 8051单片机有5个中断源,2个中断优先级,每个中断源的优先级可以编程控制。中断允许受到CPU开中断和中断源开中断的两级控制。 1.2 单片机的中断系统 在51系列单片机中,可以通过特殊功能寄存器来设置中断,并按照中断矢量来识别各个中断。当某个中断发生的时候,首先CPU响应中断,将中断源的入口地址装载到程序计数器PC中,中断服务程序便是从该地址开始执行的。当中断服务程序执行完毕后,将返回原来的断点。下面分别介绍和中断系统相关的特殊功能寄存器及其C51程序的访问,以及中断的C51处理过程。 1.3 单片机的中断类型 通常按照中断源的不同,大致可以分为三类:外部中断源、定时中断源和串行中断源。在8051单片机中共有5个中断源,包括2个外部中断源、2个定时中断源和1个串行中断源。下面分别介绍这三类中断源。 1. 外部中断源 2. 定时中断源 3. 串行中断源 1.4 中断请求标志及其C51访问 51系列单片机的5个中断请求,分别对应一个中断请求标志位。当中断发生时,将置位相应的中断请求标志位,并向CPU提出请求。这里,特殊功能寄存器TCON控制外部中断和定时器溢出中断,特殊功能寄存器SCON控制串行接口中断。下面分别进行介绍。 1.TCON的中断标志 2.SCON的中断标志 1.5 中断允许标志及其C51访问 对于51系列单片机的5个中断请求,分别对应一个中断允许或禁止标志位,其均由中断允许控制寄存器IE控制。用户可以在程序中使用中断允许标志位来允许或者禁止相应的中断请求。 中断允许控制寄存器IE的位定义格式,如图所示。其字节地址为A8H,可以位寻址。其中D7位为总控制位,D0~D4分别控制各个中断请求,D5和D6位未定义。下面分别介绍各位的定义。 1.6 中断优先级标志及其C51访问 51系列单片机支持两级中断优先级,其5个中断请求,分别对应一个中断优先级标志位。中断优先级标志由寄存器IP来控制,用于设置中断的优先等级。 中断优先级控制寄存器IP各位的定义,如图所示。其字节地址为B8H,可以位寻址。其中D7~D5位未定义,D4~D0位分别控制各个中断请求。下面分别介绍各位的定义。 1.7 中断源服务程序入口地址 1.8 中断的C51处理过程 51系列单片机对中断的处理分为4步:中断响应、中断处理、中断请求的撤离和中断返回。下面分别介绍这四个过程。 1.中断的响应:是指在单片机主程序运行过程中,如果遇到中断请求,在满足中断响应条件的情况下,CPU对该中断做出的响应。 2.中断的处理:8051单片机CPU对中断处理的过程可以分为两类,一个是单片机硬件自动完成的部分,另一个是C51软件处理的部分。 3.中断请求的撤离:中断请求的撤离主要保证对于一次中断信号只执行一次中断响应。单片机响应某个中断后,应及时将中断请求标志TCON或SCON中对应的标志位清除,否则会导致一个中断信号触发多次中断响应。 4.中断的返回:中断的返回是指中断服务例程结束后,返回主程序的过程。在8051单片机中,中断服务例程的返回比较简单,直接在中断服务程序最后面加上一个中断返回指令RETI即可。而如果使用C51语言进行程序设计,则将由编译系统完成此工作。 2. C语言相关语法 2.1 interrupt 关键字 C51编译器支持C语言中断程序,语法如下: 返回值 函数名 interrupt n n对应中断源的编号。 返回值一般为空。 2.2 寄存器组切换 8051具有4个寄存器组。 每个寄存器组有8个寄存器。 程序运行时使用1组寄存器,当发生中断时,为了保护正在使用的寄存器组,要切换到另一组寄存器。 void fun(void) interrupt n1 using n2 n2 = (0、1、2、3) 3.中断程序分析 3.1 外部中断源的C51程序设计 8051单片机提供了2个外部中断源,下面分别进行介绍。 外部中断0请求,占用P3.2引脚,其中断请求号为0。 外部中断1请求,占用P3.3引脚,其中断请求号为2。 3.2 外部中断相关电路 3.3 外部中断0初始化分析 void main(void) { PX0 = 1; // 设置为高优先级; EX0 = 1; // 外部中断0开中断; EA = 1; // 使能全局中断。 for(;;) {} } 3.4 外部中
显示全部