欢迎来到天天文库
浏览记录
ID:50337136
大小:305.50 KB
页数:26页
时间:2020-03-08
《单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第5章 单片机中断系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.1中断技术概述1、中断的基本概念5.28051中断系统结构及其控制1、中断系统结构8051单片机中断系统支持:5个中断源,2个中断优先级,可实现2级中断嵌套。TCON、SCON、IE和IP进行设置自然优先级矢量地址自然优先级矢量地址高级中断请求PCPC断请求低级中SCON中断标志IPPX01PT0110PX110PS100PT10IEEX0ET0EX1ET1ESTCONIE0TF0IE1TF1TIRIRXTXT1IT1=1INT1IT1=0T0INT0IT0=1IT0=0源允许总允许优先级硬件查询EA2、中断源及中断标志(1)5个中断源:串行口T1INT1T0INT0(2)
2、中断控制寄存器TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0其中:ITx:外部中断触发方式,0:低电平触发,1:负跳变触发IEx:外部中断请求标志,0:无中断请求,1:有中断请求TFx:定时器/计数器溢出标志,0:定时器无溢出,1:有溢出TRx:启、停止定时器/计数器,0:停止,1:启动3、中断的控制??CPU如何控制允许中断源的中断申请???两个以上中断源同时中断申请,先响应哪一个?(1)中断允许寄存器IE地址:(A8H)可位寻址EAESET1EX1ET0EX0CPU串行口T1INT1T0INT0相应位为1时,表示对应的中断请求可以得到响应,其中EA为总中
3、断允许,(2)中断允许设置对相应的位置1或者清除来允许或者禁止例:SETBEA;开放CPU中断,可接受中断申请SETBEX0;允许INT0中断CLRES;禁止串行口中断注:①复位时IE清零,即禁止所有中断,用SETB指令置位IE中相应的位来开启中断。②必须逐级开放中断。总开关和子开关.③IE中相应位置0,该位对应的中断源被屏蔽,禁止其中断(3)8031的中断优先级顺序为:外部0,定时0,外部1,定时1,串行口中断优先级寄存器IP控制IP(B8H)可位寻址串行口T1INT1T0INT0PSPT1PX1PT0PX0IP中某位置1时,该中断源为高优先级,相反为低优先级。例:SETBP
4、T0;PT0置1,定时器0为高优先级中断IP值为:时,其优先级顺序为:T0、INT0、INT1、T1、串行口000104、中断处理中断过程可分:中断请求、中断响应、中断服务和中断返回等。(1)中断响应必须满足以下6个条件:IE寄存器中的总允许位EA=1。相关中断源的中断请求标志位置“1”,即有中断请求。相关中断源的中断允许位为“1”,即该中断被允许。无同级或更高级中断在被服务。当前指令已执行到最后一个机器周期并已经结束。当前正在执行的指令不是返回指令或访问IE、IP指令。中断响应的基本步骤:获取目标地址(中断向量):硬件自动执行长跳转指令“LCALLaddre16”;断点保护:
5、下一条指令的地址(PC值)入栈保护;转向目标地址:目标地址“adrr16”赋给PC,转入目标地址处执行中断服务子程序;清除相应的中断标志位:串行口中断除外,需要用户程序软件清除。中断源中断向量地址外部中断0()0003H定时器/计数器0(T0)000BH外部中断1()0013H定时器/计数器1(T1)001BH串行口中断0023H中断向量表(2)中断服务中断响应后即进入中断服务环节,通常需要进行“现场保护”。(3)中断返回中断服务结束后需要通过RETI指令结束中断服务,已恢复至断点处执行程序。(4)中断请求的撤销CPU在响应对应的中断请求后都会自动的清除中断请求标志位,但需要考
6、虑中断请求信号的撤销。5.3外部中断的实现1、触发方式选择边沿触发CPU在连续两个机周期采样INTx时,前一个周期为高电平,后一个周期为低电平,则判断该负跳变触发中断,则置位中断标志IEx,申请中断。电平触发CPU采样到INT0或INT1脚为低电平则会触发中断。2、多中断源系统硬件扩展5.4中断系统程序设计明确中断源,正确设置好中断向量,即中断服务程序入口地址的确定。在主程序中完成IE、IP等寄存器相关标志位的中断初始化工作。明确中断服务任务,编写中断服务程序,保护好主程序相关寄存器内容,完成中断任务,正确返回主程序断点。1、中断程序基本结构(1)汇编程序结构ORG0000HA
7、JMPSTARTORG0003HAJMPWB0ORG000BHAJMPDS0ORG0013HAJMPWB1ORG001BHAJMPDS1ORG0023HAJMPCKSTART:…..…..SJMP$WB0:…..RETIDS0:…..RETIWB1:….RETIDS1:….RETICK:…..RETI(2)C51中断程序结构8051单片机C51程序结构中断服务函数结构形式:函数类型函数名()[interruptn][usingi]n为中断类型号,取值范围为n=0~4,用以区分5个中断源;关键
此文档下载收益归作者所有