中断优先级控制寄存器.ppt

中断优先级控制寄存器.ppt

第5章 单片机的中断系统 ;执行主程序;5.1.1 中断的定义; ;中断的优点;5.1.2 中断源 ;中断源入口地址;;2.定时器中断源;;5.1.3 中断的优先级;中断响应的基本原则是:;;中断优先级寄存器;5.1.4 中断控制;1.定时控制寄存器TCON ;;3.串行口控制寄存器SCON ;5.1.5 中断响应;响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断的电平触发为最快。 1个周期(查询)+2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。 ;3.中断处理 ;4.中断返回 中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。;5.1.6 中断响应的撤除 ;5.2 外部中断的使用 ;;;4.软件 ORG 0000H AJMP MAIN ORG 0003H ;中断服务程序入口地址 AJMP ZHD0 ORG 0030H MAIN: MOV SP,#70H ;设置堆栈指针 SETB IT0 ;外部中断0为边沿触发方式 MOV IE, ;开放外部中断0 MOV A,#0FEH ;设置P1口的初始状态 LOOP: MOV P1,A AJMP LOOP ;循环等待外部中断 ZHD0: MOV A,P1 ;中断服务程序开始 RL A ;P1口的数据左移 MOV P1,A ;数据再送P1口 RETI ;中断服务程序返回 END;【例5-3】利用单片机扩展5个外部中断源,中断的优先次序为X0~X4,其中X0接到外部中断INT0上,X1~X4接到外部中断INT1上;单片机的P1.4~P1.7接4个发光二极管用来作输出指示;当有X1~X4其中一个外部中断发生时,相应的发光二极管D1~D4点亮;当X0外部中断发生时,4个发光二极管全亮。 ; ORG 0000H AJMP MAIN ORG 0003H ;中断服务程序入口地址 AJMP ZHD0 ORG 0013H ;中断服务程序入口地址 AJMP ZHD1 ORG 0030H MAIN:MOV SP,#70H SETB IT0 SETB IT1 MOV IP,;外部中断0最高优先级 MOV IE,; END ; ;5.2.3 多级外部中断的扩展应用 ;【例5-6】图5-7是利用74LS148扩展单片机的8个外部中断源的硬件电路图。根据74LS148的真值表可知:当8个中断源IN0~IN7中有中断申请时(低电平有效),与其对应的一组编码就出现在单片机的P1.0~P1.2线上,且外部中断源只要有中断申请,在74LS148的GS端就有低电平输出,因此单片机的外中断INT0也为低电平。 ; ORG 0003H LJMP YDAO ORG 0030H …… YDAO: ORL P1,;设置P1.0~P1.2为输入线 MOV A,P1 ;读P1口的内容送累加器A ANL A,;屏蔽P1口的其他位 RL A ;中断向量低字节地址×2 MOV DPL,A ;中断向量低8位地址送DPL MOV DPH,#10H ;中断向量高8位地址送DPH CLR A ;清累加器 JMP @A+DPTR ;跳转到中断服务程序的转移表 …… ORG 1000H TAB: AJMP IN0 ;8个中断服务子程序分支转移表 AJMP IN1 ;每个分支转移指令占2字节

文档评论(0)

1亿VIP精品文档

相关文档