数制与编码:第7.4章 单片机中断系统-异常事件的处理_第1页
数制与编码:第7.4章 单片机中断系统-异常事件的处理_第2页
数制与编码:第7.4章 单片机中断系统-异常事件的处理_第3页
数制与编码:第7.4章 单片机中断系统-异常事件的处理_第4页
数制与编码:第7.4章 单片机中断系统-异常事件的处理_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.4单片机中断系统

-异常事件的处理本节章内容7.4.1中断的概念7.4.2中断系统结构7.4.3中断系统的初始化及实例作业

本章重点掌握中断原理学会编写中断程序日常事务中的中断现象7.4.1中断的概念中断的定义:外部信号中断CPU的当前任务,转向执行特殊任务,执行后CPU仍返回到原断点的过程称为中断。 中断事件的特点:外部事件偶发性执行时间短tel多级中断嵌套流程中断的基本概念1、中断源及请求

产生中断请求的外部事件,称为信号源。51单片机有5个外部硬件中断,每个中断都有特定标志位。2、优先权控制 51有2个优先级,高优先级中断可以嵌套到低优先级中断。3、中断允许与屏蔽

可以单独开启或关闭,也可以统一开启关闭4、响应及返回

有特殊硬件触发响应,将当前PC、PSW等入栈,PC指向中断程序并执行,遇到中断返回指令reti,出栈恢复原PC和PSW。7.4.2MCS-51中断系统结构 80C51单片机有5个中断源,对应5个中断程序入口地址,亦称矢量地址,分别为:INT0 0003HT0 000BHINT1 0013HT1 001BH串行 0023H注意:两个中断之间间隔为8字节在C51中将上述5个中断依次编号为0~4!格式:函数名()interruptn {函数体}5个中断源对应的中断标志IE0、TF0、IE1、TF1和TI或RI分散在TCON和SCON中。某标志位为1,说明对应中断源有请求。 *IT0、IT1为1对应外部中断下降沿触发,否则为低电平触发。

1中断源与中断请求标志TCON(88H)默认值:00HSCON(98H)默认值:00H串行口控制寄存器SCON注意:IE0、IE1、TF0、TF1进入中断后自动清0;TI和RI需手工清0TF1TF0IE1IT1IE0IT0TIRI2MCS-51的中断控制中断控制包括中断的开关和优先级1)

中断的开放和关闭IE中EA位控制总中断开关,其余位控制分中断开关。IE格式如下: 开中断实现:

SETBEA;EA置1

关中断:

CLREA;EA清0

IE(A8)默认值:00HIP(B8H)低默认优先级高默认值:00H2)中断优先级别的设定ESEAET1EX1ET0EX0PSPT1PX1PT0PX0要求:将外部中断设定为高优先级,其余中断为低优先级。解:用位操作指令或赋值语句

SETBPX0SETBPX1CLRPSCLRPT0CLRPT1中断优先级有高到低依次是:???例:优先级设定PX0=1;PX1=1;PS=0;PT0=0;PT1=0;单片机中断系统结构图自然优先级矢量地址自然优先级矢量地址高级中断请求PCPC断请求低级中TI/RI在SCON中断标志IPPX01PT0110PX110PS100PT10IEEX0ET0EX1ET1ESTCONIE0TF0IE1TF1TIRIRXTXT1IT1=1INT1IT1=0T0INT0IT0=1IT0=0源允许总允许优先级硬件查询EA4.中断响应中断处理过程可分为三个阶段:中断响应、中断处理和中断返回。

(1)响应条件 ①允许中断。 ②有中断源发出请求,每个周期的S5P2采样中断源,如中断源有效,则置位相应标志位。

(2)中断响应过程 下一周期S6将检测标志位是否有效。

(3)中断响应时间 再下一周期S1,保护断点,清除相应标志,再将PC指向矢量地址,执行中断程序。 在一个单级中断系统中,在3-8个机器周期后执行中断程序。5.中断处理和返回(1)

中断处理 从矢量地址处开始执行中断任务。

(在汇编中断程序中根据需要保护和恢复现场)。(2)

中断返回在中断服务程序中,最后一条指令必须为中断返回指令RETI。

6.中断标志的清除串行中断标志需手动清除,其余中断标志均由硬件自动清除。执行完中断任务后要将R1和TI清除:

RI=0;//清除接收中断

TI=0;//清除发送中断中断任务执行的条件中断硬件和条件:矢量地址开总中断(EA)开分中断(EX0、ET0等)执行中断任务:外设请求该中断置标志中断主程序执行中断程序中断返回(RETI)接听电话所需硬件和条件:电话号码缴费开通开通电源接电话事件:有人拨打该号码铃声中断当前工作接听通话继续原来工作7.4.3中断实现的实例1.中断系统的初始化

(1)开总中断;

(2)开分中断;

(3)设定中断优先级(可选);

(4)为外部中断设定触发电平方式(通常为下降沿)。

(5)在中断函数中清除串行标志。例:请写出INT1为下降沿触发的初始化程序。中断默认是打开的还是关闭的?2.中断程序结构中断程序包括两部分:主程序部分——中断初始化中断服务程序——完成中断任务

主程序:main(){EA=1;开总中断

EX0=1;开INT0EX1=1;开INT1while(1){;}}

中断服务程序:

INT_SERVER()interruptn{

函数体…

}

实例1-报警器要求:如果有人触发开关,则发光报警。程序如下:#include<reg51.h>#include<intrins.h>sbitK=P3^2;sbitALARM=P1^4;INT0_SOUNDER()interrupt0{ALARM=0;}main(){EA=1;EX0=1;while(1) _nop_();}实例2-车辆计数(1/2)编写主程序,初始化INT1;编写INT1中断程序,累计脉冲数到为整型x变量中(可用于显示)。

实例2-车辆计数(2/2)主程序如下:#include<reg51.h> unsignedintx;//中断服务函数:int_counter()interrupt1{ x++;}main(){ EA=1; //开总中断

EX1=1; //开INT1 IT1=1; //int1下降沿

while(1);}本章总结

中断概念

5个中断源,可构成嵌套结构;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论