- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三课-单片机中断系统
第三章 中 断 一、中断概述 中断源——优先级—— 中断允许——中断响应 ——中断例子 二、单片机中断请求源 1、外部中断请求源: 外部中断0:INT0(P3.2)、 外部中断1:INT1(P3.3). 2、内部中断请求源 片内定时器/计数器T0、T1的溢出中断请求源 定时器0:TF0(TCON.5)、 定时器1:TF1(TCON.7) 片内串行口的发送接收中断请求源 TI(SCON.1)或RI(SCON.0). 定时器\计数器控制寄存器TCON格式外部中断请求源及其触发方式控制定时器T0、T1溢出中断请求位 三、中断允许控制寄存器IE的格式 四、中断优先级中断源自然优先级排序 中断优先级控制寄存器IP的格式 五、中断响应中断源入口地址表 例:中断程序框架 ORG 0000H AJMP START ORG 0003H LJMP INT_0 ORG 30H START: MOV SP,#5FH ;初始化堆栈 SETB IT0 ;下降沿触发 SETB EA ;开总中断允许 SETB EX0 ;开外部中断0 ………….. ;主程序 LJMP $ ;跳转至本行等待中断 中断服务子程序 INT_0: ………. ;中断响应处理程序 RETI ;中断返回 END ;程序结束 中断响应过程 1、CPU进行中断响应的条件 第一个机器周期:发现中断标志位置位 第二个机器周期:对采样要的中断标志按照优先级顺序查询 第三个周期:根据优先级顺序依次通过硬件将对应的中断入口地址装入pc程序计数器。 此后程序就转入了中断入口处执行中断服务子程序。 2、CPU不响应中断的情况 没有在中断控制寄存器IE中开此中断 CPU正在处理同一级或者高一级的中断 现在正在执行指令的后面的机器周期,也就是说要保证一条指令被完整的执行完毕 当前正在执行中断返回指令RETI、访问IE\IP的指令。 3、中断响应过程 (1)CPU自动将正在被响应的中断优先级触发器设置为高优先级,,以防止后来的同级或者低级的中断请求。 (2)撤出被响应的中断标志位,外部中断和定时器中断由硬件自动撤除,串行口中断标志位需要在中断处理程序中撤除。 (3)CPU自动执行一条调用指令LCALL,先把目前断点的地址入栈,然后把中断服务子程序入口地址赋值给PC。 (4)执行完中断服务子程序之后,运行最后一条RETI指令,自动清除掉最初置位的优先级触发器,把保存在堆栈中的地址出栈返还给pc,从而返回子程序。 注意:CPU在响应中断后,只保护断点,而不保护现场有关寄存器的状态,如果在中断之前程序正在利用如A,PSW,等,需要在中断服务子程序开始将其入栈保护。 4、中断响应时间 3~8个机器周期的响应时间 1、查询中断标志 2、中断优先级判断 3、响应中断时调用LCALL指令 2个周期 4、如果申请到中断时正在运行别的指令,要加上指令执行时间1~3个周期,如果正在执行前一个中断的返回指令+2个周期 5、正在执行其他中断,时间更长。 六、综合应用实例 外部中断的例子,在外部中断引脚接一个按钮,用按钮按下产生一个中断,写出按钮按一下灯亮,再按灯灭的程序。 画出电路图,写出程序 下降沿触发和低电平触发的区别 ORG 0000H AJMP START ORG 0003H ;外部中断地址入口 AJMP INT_0 ;转到真正的处理程序处 ORG 30H START: MOV SP,#5FH ;初始化堆栈 MOV P1,#0FFH ;灯全灭 MOV P3,#0FFH ;P3口置高电平 CLR IT0 ;低电平触发,或者SETB IT0 SETB EA ;开总中断 SETB EX0 ;开外部中断0 AJMP $ INT_0: PUSH ACC ;进入中断服务程序,保护ACC值 PUSH PSW ;保护PSW的值 CPL P1.0 ;取反 POP PSW ;PSW出栈 POP ACC ;ACC出栈 RETI END * * IT0 IE0 IT1 IE1 TF0 TF1 功能 D0 D1 D2 D3 D4 D5 D6 D7 位 串行口控制寄存器SCON格式串行口发送或者接收中断请求标志位 RI TI 功能 D0 D1
文档评论(0)