《单片机原理及工程应用》课件-第4章 中断系统及定时器应用(第1次课)中断_第1页
《单片机原理及工程应用》课件-第4章 中断系统及定时器应用(第1次课)中断_第2页
《单片机原理及工程应用》课件-第4章 中断系统及定时器应用(第1次课)中断_第3页
《单片机原理及工程应用》课件-第4章 中断系统及定时器应用(第1次课)中断_第4页
《单片机原理及工程应用》课件-第4章 中断系统及定时器应用(第1次课)中断_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

14.151系列单片机的中断系统4.1.1中断的概念

所谓中断是指计算机在执行某一程序的过程中,由于计算机系统内部或外部的某种原因,CPU必须暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序,待处理结束之后,再回来继续执行被中止的程序的过程。实现这种中断功能的硬件系统和软件系统统称为中断系统。2中断源:中断请求信号的来源。包括中断请求信号的产生及该信号怎样被CPU有效地识别。要求中断请求信号产生一次,只能被CPU接收处理一次,不能一次中断申请被CPU多次响应。这就涉及到中断请求信号的及时撤除问题。3(2)中断响应与返回:CPU采集到中断请求信号后,怎样转向特定的中断服务子程序及执行完中断服务子程序怎样返回被中断的程序继续执行。中断响应与返回的过程中涉及到CPU响应中断的条件、现场保护、现场恢复等问题。4(3)优先级控制:一个计算机应用系统,特别是计算机实时测控系统,往往有多个中断源,各中断源的重要程度又有轻重缓急之分。5中断系统遵循如下规则:

(1)先高后低—对于不同优先级的中断源同时请求中断时,CPU首先响应优先级最高的中断请求。

(2)约定顺序—相同优先级的中断源同时请求中断时,按约定顺序响应。

(3)停低转高—正在处理低优先级中断而又有高优先级中断源请求中断时,中断正在进行的操作,转去响应高优先级中断,处理完成后再返回继续处理低优先级中断。(4)高不理低—CPU正在处理高优先级中断而又有低优先级中断源请求中断时,继续处理高优先级中断,而不理会低优先级的中断请求,待处理完高优先级中断后才响应低优先级的中断请求。651单片机中断系统T1TXRXTCONSCON中断标志IE0TF0IE1TF1TIRI≥IEEX0EA源允许总允许ET0EX1ET1ES中断允许IPPX0PSPT1PX1PT0优先级中断入口地址中断标识查询顺序先级中断请求优高硬件查询中断入口地址中断标识查询顺序优先级中断请求低1010101010IT0=0IT0=1INT0T0IT1=0IT1=1INT1117相关特殊功能寄存器定时器/计数器控制寄存器TCON:地址为88H8IT0(1):外部中断0(1)的触发方式控制位。IE0(1):外部中断0(1)的中断请求标志位。TF0(1):定时器/计数器中断0(1)的中断请求标志位。TR0(1):定时器/计数器中断0(1)启动控制位。9中断允许寄存器IE:地址为A8HEX0(1):外部中断0(1)的中断允许位。EX0=0,禁止外部中断0中断;EX0=1允许外部中断0中断。ET0(1):定时器/计数器T0(1)的溢出中断允许位。ET0=0,禁止T0中断;ET0=1,允许T0中断。ES:串行口中断允许位。ES=0,禁止串行口中断;ES=1允许串行口中断。ET2:定时器/计数器T2的溢出中断允许位,只用于52子系列,51子系列无此位。ET2=0,禁止T2中断;ET2=1,允许T2中断。EA:中断允许总控位。EA=0,禁止所有的中断请求;EA=1,开放所有的中断请求,但是否允许各中断源的中断的中断请求,还要取决于各中断源的中断允许控制位的状态。10中断优先级控制寄存器IP:地址为B8HPX0:外部中断0的中断优先级控制位。PT0:定时器/计数器T0的中断优先级控制位。PX1:外部中断1的中断优先级控制位。PT1:定时器/计数器T1的中断优先级控制位。PS:串行口的中断优先级控制位。PT2:定时器/计数器T2的中断优先级控制位,只用于52子系列。11请注意:

(1)当系统复位后,IP全部清0,所有中断源均设定为低优先级中断。

(2)如果几个同一优先级的中断源同时向CPU申请中断,CPU通过内部硬件查询逻辑,按自然优先级约定顺序确定先响应哪个中断请求。中断源自然优先级外部中断0最高↓↓↓↓↓最低定时器/计数器T0中断外部中断1定时器/计数器T1中断串行口中断124.1.4中断响应1.中断响应的条件单片机响应中断时必须同时满足以下5个条件:(1)有中断源发出中断请求。(2)中断总允许位EA=1(CPU开中断)。(3)申请中断的中断源对应的中断允许控制位为1

(4)当前指令执行完。正在执行RETI中断返回指令或访问专用寄存器IE和IP的指令时,CPU执行完该指令和紧随其后的另一条指令后才会响应中断。(5)CPU没有响应同级或高优先级的中断。

满足以上条件,CPU才会响应中断。132.中断响应过程

CPU响应中断后,由硬件自动执行如下的功能操作:

(1)保护断点,即把程序计数器PC的内容压入堆栈保存。

(2)清内部硬件可清除的中断请求标志位(IE0、IE1、TF0、TF1)。

(3)把被响应的中断服务程序入口地址送入PC,从而转向相应的中断服务程序执行。1451系列单片机中断入口地址功能入口地址系统复位0000H外部中断0(INT0)0003H定时/计数器0(T0)000BH外部中断1(INT1)0013H定时/计数器1(T1)001BH串行口中断0023H定时/计数器2(T2)002BH154.1.5中断系统的应用

必要工作

(1)明确任务,确定采用哪些中断源(2)确定中断源触发方式(3)中断优先级分配(4)中断源及中断标志位的撤除方法(5)中断服务程序要完成的任务(6)中断服务程序入口地址的设置(7)中断允许设置16

若把外部中断设置为边沿触发方式,CPU在每个机器周期都采样。为了保证CPU能检测到负跳变,输入到引脚上的高电平与低电平至少应保持1个机器周期。对于电平触发的外部中断,在中断返回之前,需要外接电路来撤消中断请求输入引脚上的低电平,否则将再次中断,导致一次申请被CPU多次响应而出错。外部中断源的要求17图4.2是电平触发方式下外部中断的请求电路。外部中断请求信号通过D触发器加到单片机/INTX引脚上。当外部中断请求信号使D触发器的CLK端发生负跳变时,由于D端接地,Q端输出0,向单片机发出中断请求。CPU响应中断后,利用一根口线,如P1.0作应答线,用P1.0控制D触发器的置1端。在中断服务程序中用以下两条指令来撤除中断请求。

ANLP1,#0FEH

ORLP1,#01H

外部中断源的拆除18中断系统应用举例例:利用中断方式实现输入输出。在图中,每按一次P按钮便在/INT0的输入端产生一个负脉冲,向CPU请求中断,响应中断后,读取开关K0~K3上的数据,输出到发光二极管L0~L3显示。19要做的工作:(1)明确任务,确定采用哪些中断源(2)确定中断源触发方式(3)中断优先级分配(4)中断源及中断标志位的撤除方法(5)中断服务程序要完成的任务(6)中断服务程序入口地址的设置(7)中断允许设置20请各位动笔写写程序!21解:主程序和中断服务子程序如下:

ORG0000H LJMPMAIN ;上电自动转向主程序

ORG0003H LJMPINT0SUB;指向INT0的中断服务子程序

… ORG0040HMAIN: MOVSP,#60H ;设置堆栈指针

SETBIT0 ;选择INT0为负沿触发方式

SETBEX0 ;允许INT0中断

SETBEA ;开CPU中断HERE: SJMPHERE ;等待中断

;INT0的中断服务子程序

ORG0200HINT0SUB:MOV P1,#0FH;数据送P1口,设置P1.0~P1.3为输入 MOV A,P1 ;读K0~K3上的数据

SWAPA ;A的低4位与高4位交换

ORLA,#0FH MOV P1,A ;数据送L0~L3 RETI ;中断返回

END22课后作业

P143

4.14.2勤学多练!23例:P1口接了8个发光管负极,发光管正极通过上拉电阻接电源,请编程形成一个循环灯。电路如图所示。已有0.5秒的延时程序:YS05 实验内容24

ORG0000H LJMPMAIN;循环灯左循环 ORG0040HMAIN: MOVSP,#60H MOVA,#0FEHLOOP1: M

温馨提示

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

评论

0/150

提交评论