第4章-MCS-51中断系统与外部中断_第1页
第4章-MCS-51中断系统与外部中断_第2页
第4章-MCS-51中断系统与外部中断_第3页
第4章-MCS-51中断系统与外部中断_第4页
第4章-MCS-51中断系统与外部中断_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第4章MCS-51中断系统与外部中断本章内容4.1中断的概念及其优点4.2中断源4.3中断系统的功能4.4MCS-51单片机的中断结构4.5中断系统的控制与实现4.6中断系统的处理过程4.7中断系统设计举例4.1中断的概念及其优点等待执行任务查询方式、中断方式查询程序→询问状态→准备就绪?→没有→查询缺点:CPU不能进行其它操作中断计算机内部/外部,请求CPU处理CPU→暂时中断当前工作→处理发生事件→继续被中止的工作优点:分时操作实时处理故障处理中断源/主程序/断点4.2中断源有以下几种输入/输出设备:键盘、打印机等实时时钟:定时器故障源:电源掉电MCS-51单片机,5个中断源外部中断(2个)、定时中断(2个)、串行中断(1个)矢量地址:(ROM中)固定的中断服务程序入口地址中断源符号名称中断标志中断服务程序入口地址优先级顺序/INT0外部中断0IE00003H高T0定时器0中断TF0000BH↓/INT1外部中断1IE10013H↓T1定时器1中断TF1001BH↓TI/RI串行口中断RI或TI0023H↓T2定时器2中断TF2或EXF2002BH低P99表4-14.3中断系统的功能实现中断及返回响应?→响应→保护断点/现场→转中断服务程序→恢复断点/现场→返回断点→执行主程序优先权排队轻重缓急,每个中断源一个中断级别先处理高级别,后处理底级别可以中断嵌套高级能中断低级4.4MCS-51单片机的中断结构外部中断触发方式控制位中断请求标志位中断允许标志位串口接收/发送中断标志位中断优先级设定位4.5中断系统的控制与实现1.定时/计数器的控制寄存器TCON2.串行口控制寄存器SCON3.中断允许寄存器IE4.中断优先级寄存器IP1.定时/计数器的控制寄存器TCON位D7D6D5D4D3D2D1D0字节地址TCONTF1TR1TF0TR0IE1IT1IE0IT088H定时/计数器0和1的运行控制位定时/计数器器0和1的溢出中断请求标志1:T0计数最高位溢出时,硬件置位0:中断响应后,硬件自动清零外部中断请求标志1:外部事件请求中断时,硬件置位0:中断响应后、转向中断服务时,硬件清零外部中断触发方式0:低电平1:下降沿可位寻址2.串行口控制寄存器SCON位D7D6D5D4D3D2D1D0字节地址SCONTIRI98H串口接收中断请求标志位1:CPU每接收完一个串行帧,由硬件置位0:响应中断时,不能自动清0,必须软件清0串口发送中断请求标志位1:CPU每发送完一个串行帧,由硬件置位0:响应中断时,不能自动清0,必须软件清0可位寻址单片机复位后,TCON和SCON各位清0所有能产生中断的标志位均可由软件置1或清03.中断允许寄存器IE控制:中断源的开放和屏蔽1,开放;0,屏蔽可由软件设定CPU复位时,IE各位清“0”,禁止所有中断位D7D6D5D4D3D2D1D0字节地址IEEAESET1EX1ET0EX0A8HCPU中断总允许位外部中断允许位串行口中断允许位定时/计数器中断允许位可位寻址4.中断优先级寄存器IPMCS-51单片机,2个中断优先级可二级中断嵌套IP相应位,规定中断优先级1,高级;0,低级位D7D6D5D4D3D2D1D0字节地址IPPSPT1PX1PT0PX0B8H定时/计数器T0和T1中断优先级设定位外部中断优先级设定位串行口中断优先级设定位可位寻址同一优先级内,各中断同时提出中断请求时,按自然优先级次序响应MCS-51中断优先级控制原则同时接收几个同级别中断按自然响应优先级顺序确定执行哪一个中断中断过程不能被新的同级或低级中断请求所中断低级中断服务能被高级中断请求所中断4.6中断系统的处理过程四个阶段中断请求→中断响应→中断服务→中断返回中断请求和响应硬件自动完成以下内容1.中断响应条件2.中断响应过程3.执行中断服务程序4.中断返回5.中断请求的清除1.中断响应条件响应条件中断源发出中断申请EA=1中断源的中断允许位为1不响应的条件?2.中断响应过程(1)相应的优先级状态触发器置1阻断后来的同级或低级中断请求(2)硬件LCALL指令PC→堆栈中断服务程序入口地址→PC(3)进入中断服务程序后自动清除中断请求标志:TF0、TF1、IE0、IE1不能清除TI和RI3.执行中断服务程序注意在主程序中,中断初始化中断服务程序入口地址单元放LJMP(跳转范围:64KB)硬件LCALL指令断点地址→堆栈中断服务程序保护现场中断服务之后、中断返回之前恢复现场4.中断返回RETI中断服务程序的最后一条指令返回到断点,执行主程序RETI指令操作断点地址→PC相应中断优先级状态触发器清0中断服务程序中,PUSH、POP必须成对使用不能用RET指令代替RETI指令5.中断请求的清除中断响应后TCON或SCON中的中断请求标志应及时清除,否则会引起另一次中断。TF0、TF1硬件自动清除TI、RI用软件清除IE0、IE1边沿触发中断,硬件自动清除电平触发中断,硬件自动清除不能彻底解决撤除问题,应该在外部连接电路上采取措施电平触发的外部中断请求撤除电路CPDQnQn+1×××Qn↑0×0↑1×18051QP1.0CPD外部中断请求信号D触发器CPU响应中断后可用如下两条指令: ANLP1,#0FEH ORLP1,#01H4.7中断系统设计举例[例1]如图4.3所示,按键K1接至外部中断,按一次键LED点亮,蜂鸣器发声,再按一次键LED灭,蜂鸣器关闭,循环往复。图4.4按键控制声光电路在ROM内存放?[例2]中断里的堆栈操作现有外部中断1提出申请,且主程序中有DPTR、A需保护ORG 0000H AJMP MAINORG 0013H LJMP INT1 …ORG 0100HMAIN: … ;主程序 … SJMP$ORG 1000H

INT1: PUSHACC ;中断服务程序 PUSHDPH PUSHDPL … POPDPL POPDPH POPACC RETI END多中断源系统当外部中断源多于中断输入引脚时,可采取以下措施:1.用定时器计数输入信号端T0、T1作外部中断入口引脚2.用一个中断入口接受多个外部中断源,并加入中断查询电路。[例]P107 ORG 0000H ;复位入口地址 AJMP TO_INTMA ;转主程序 ORG 003H AJMP IO_POOP ;转中断服务程序TO_INTMA: MOV P1,#0FFH ;置P1口输出全为1 SETB IT0 ;INT0为沿触发中断方式 SETB EX0 ;允许INT0中断 SETB EA ;CPU开中断LOOP1_YO: SJMP LOOP1_YO ;去LOOP1_YO等待中断IO_POOP: JNB P1.0,L1_POOP ;查询中断源 CLR P1.1 ;P1.1送“1”使对应灯亮 SJMP L2_POOP L1_POOP: SETB P1.1L2_POOP: JNB P1.2,TO_L23 CLR P1.3 SJMP TO_L4_PTO_123: SETB P1.3TO_L4_P: JNB P1.4,TO_L5_P CLR P1.5 SJMP

温馨提示

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

评论

0/150

提交评论