收藏 分享(赏)

C语言电子教案-2.1中断.ppt

上传人:ysd1539 文档编号:4789559 上传时间:2019-01-13 格式:PPT 页数:14 大小:1.03MB
下载 相关 举报
C语言电子教案-2.1中断.ppt_第1页
第1页 / 共14页
C语言电子教案-2.1中断.ppt_第2页
第2页 / 共14页
C语言电子教案-2.1中断.ppt_第3页
第3页 / 共14页
C语言电子教案-2.1中断.ppt_第4页
第4页 / 共14页
C语言电子教案-2.1中断.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、2.1 8051中断应用的C编程,1.中断的概念,中断根据某种需要断开正在执行的程序而转向另一专门程 序,结束后再返回到原断开处继 续执行被中止的程序,这个过程称为中断。 中断源能引起中断的事件。 中断服务程序为实现中断源期望而编写的服务程序。 中断请求中断源对主程序或中断服务程序提出中断要求。 中断响应主程序或中断服务程序接受中断请求,转去执 行中断服务程序的过程。 中断返回中断服务程序执行完后自动回到主程序或上一级中断服务程序的过程。 中断屏蔽主程序或中断服务程序阻止中断请求。 中断优先级多个中断源同时请求中断时响应的先后顺序。 中断嵌套暂停级别低的中断转去执行更高级别的中断。 中断向量中

2、断服务程序的入口地址。 断点原程序被断开的地址。,中断服务程序1,中断源1,主程序,中断服务程序2,中断请求,中断响应,中断返回,中断源2,中断返回,中断请求,中断响应,2.AT89X51中断系统,51系列单片机中断系统的硬件结构如下图所示。对中断信号进行锁存、屏蔽、优先级控制是通过设置一些特殊功能寄存器(如寄存器TCON、SCON、IE和IP)来进行的。,3.中断源,AT89S51单片机共有5个中断源:2个外部中断,即/INT0 (P3.2)和 /INT1(P3.3)。3个片内中断,即定时器T0的溢出中断、定时器T1的溢出中断和串行口中断。 外部中断外部中断是由外部信号引起的,请求有低电平触

3、发和下降沿触发两种信号触发方式。 定时器中断定时/计数器中断由单片机内部定时器产生。在启动定时/计数器后,每来一个机器周期或在对应的引脚上每检测到一个脉冲信号时,定时/计数器就加1一次,当计数器的值从全1变为全0时,就去置位一个溢出标志位,产生定时/计数器的溢出中断申请。 串行中断串行口中断请求是在单片机芯片内部自动发生的。每当串行口发送/接收完一组串行数据时,就会使串行发送/接收中断标志位置1,作为串行口中断请求标志,产生一个中断请求。,3.中断源,中断源请求标志位分别由特殊功能寄存器TCON和SCON的相应位锁存,用来判断每个中断源是否产生了请求。 (1)定时器/计数器控制寄存器TCON,

4、字节地址为88H。 IT0和IT1:外部中断请求0或1触发方式控制位,由软件置“0”或“1”。IT0(IT1)=1 脉冲触发方式,下降沿有效。IT0(IT1)=0 电平触发方式,低电平有效。 IE0和IE1:外部中断请求0或1标志位。当外部中断请求0或1依据触发方式满足条件产生中断请求时,IE0或IE1位由硬件置“1”。当CPU响应中断时,再由硬件将该位自动清“0”。 TF0和TF1:定时/计数器溢出中断请求标志位。当定时/计数器0或1计数溢出时, TF0或TF1由硬件置“1”。当采用中断方式时,它作为中断请求标志位来使用,在转向中断服务程序后,由硬件自动清“0”;当采用查询方式时,它作为查询

5、状态位来使用,并由软件清“0”。,3.中断源,(2)串行口控制寄存器SCON,字节地址为98H。其中与中断请求标志有关的位如下:TI:串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,需要用软件对该位清“0”。RI:串行口接收中断请求标志位当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,需要用软件对该位清“0”。串行中断请求由TI和RI的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。,4.中断的控制,中断的控制主要实现中断的开关管理和中断优先级的管理。这个管理主要通过对特殊功能寄存器IE和IP的编程实现。 (1)中断允许

6、寄存器IE,字节地址为A8H,可实现对所有或个别中断屏蔽。其中各位的含义如下(置1允许中断,清0屏蔽中断):EA:所有中断允许/禁止位,它是中断请求的总开关。当EA=0时,将 屏蔽所有中断请求。ES:允许/屏蔽串行口中断。ETl:允许/屏蔽定时器T1中断。EXl:允许/屏蔽外部中断1。ET0:允许/屏蔽定时器T0中断。EX0:允许/屏蔽外部中断0。 AT89S51单片机复位后,将IE寄存器清零,单片机处于关中断状态。若要开放中断,必须使EA=l且相应响应中断允许位也为1。开中断既可使用置位指令,也可使用字节操作指令实现。,4.中断的控制,(2)中断的优先级控制中断的优先级有两层含义:其一,多个

7、中断源同时请求中断时,优先响应高级别中断;其二,当一个中断已经响应,有高级别中断提出请求,后者可以中断前者,是先中断嵌套。但同级或低级别中断不能中断高级别中断。MCS-51单片机的中断系统只规定了两个优先级,即高优先级和低优先级,可实现两级中断嵌套。每个中断源均可通过对中断优先级寄存器IP编程为高优先级或低优先级中断。,4.中断的控制,(2)中断优先级寄存器IP,字节地址为B8H,各中断相应控制位置1为高优先级、清0为低优先级。其中各位的含义如下:PS:串行口中断优先级控制位。PTl:定时/计数器T1中断优先级控制位。PXl:外部中断1中断优先级控制位。PT0:定时/计数器T0中断优先级控制位

8、。PX0:外部中断0中断优先级控制位。,4.中断的控制,(2) AT89S51单片机中,当几个同一级的中断源提出中断请求时,哪一个的请求能够得到服务取决于单片机内部的硬件查询顺序,其硬件查询顺序便形成了中断的自然优先级。自然优先级是按照外部中断0、定时/计数器0、外部中断1、定时/计数器1、串行口的顺序依次来响应中断请求。,5.C51中的中断函数,在C51中规定,中断服务程序中,必须指定对应的中断号,用中断号确定该中断服务程序是哪个中断所对应的中断服务程序。(1)中断服务程序格式为:void 函数名(参数) interrupt n using m函数体语句;其中:interrupt后面的n是中

9、断号;关键字using后面的m是所选择的寄存器组,取值范围是0-3,定义中断函数时,using是一个选项,可以省略不用。AT89S51的中断过程通过使用interrupt关键字和中断号来实现,中断号告诉编译器中断程序的入口地址。,5.C51中的中断函数,(2)中断应用的C语言编程一般包括主函数:A.中断初始化(触发方式选择、优先级设置、开中断等);B.循环等待中断。中断服务函数:A.若为电平触发的外部中断,应有中断标志清零操作。若为串行中断,应有接收/发送中断标志清零操作。若为定时器中断,应有定时器初值重载操作。B.中断服务的其他操作。,6.C51中断应用举例,(1)首先通过P2.0口点亮led0,然后通过按键控制发光二级管的亮和灭。 (2)课本任务5-3。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 教学研究

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报