欢迎来到天天文库
浏览记录
ID:27076499
大小:903.51 KB
页数:37页
时间:2018-12-01
《单片机中断和存储空间的扩展教学》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章单片机中断和存储空间的扩展5.1单片机中断5.1.1中断定义5.1.2中断工作流程5.1.3中断嵌套和中断优先级5.1.4中断潜在危险5.2单片机中断程序设计实例Page1Lecture3Page2单片机的认识与实践中断WhatandWhy中断处理流程标志位使能中断服务程序ISR中断向量表Interruptvectortable中断嵌套和中断优先级nesting/prioirity中断潜伏期latencyLecture3Page3单片机的认识与实践什么是中断中断是一个需要CPU立刻处理的内部/外部事件内部事件:定时器定时时间到AD变换结束
2、…..外部事件:按键动作发生外部通信……Lecture3Page4单片机的认识与实践中断vs轮询轮询:周期/连续的检查外部事件是否发生消耗大量CPU的处理时间轮询过程需要和其他功能代码结合由于CPU需要处理其他事件(可能是无关紧要的),可能丢失关键事件中断由硬件来判断是否发生外部事件并通知CPU专用的中断服务程序来处理事件Lecture3Page5单片机的认识与实践中断vs轮询中断适于处理对响应要求非常高的事件适于处理持续事件非常短的事件适于低功耗的应用程序设计较复杂轮询适于处理对时间响应要求低的场合程序设计简单Lecture3Page6单片机
3、的认识与实践中断工作流程内部/外部事件请求CPU处理CPU停止正常流程,执行中断服务程序ISRISR结束后,CPU返回正常流程正常流程中断请求中断服务子程序PC,程序计数器Lecture3Page7单片机的认识与实践堆栈中断的堆栈占用正常流程中断请求中断处理服务程序为什么?保存返回地址和寄存器上下文(Registercontext)Page8单片机的认识与实践中断的堆栈占用中断的寄存器入栈由CPU硬件完成对于具体的CPU,在中断时哪些寄存器被推入堆栈/寄存器在堆栈的保存顺序是在其手册中指明的。Itistheprogrammer’srespon
4、sibilitytofindoutfromthedatasheet.Lecture3Page9单片机的认识与实践中断vs轮询比如早上7点早起,要听第一节单片机课:反复看钟确定时间。。。Lecture3Page10单片机的认识与实践中断标志位Indications--Interruptflag(IF)每一个中断源都有对应的中断标志中断标志位将引发向CPU的中断请求通过读写操作可以清除中断标志位WhathappenedifIFisnotcleared?Lecture3Page11单片机的认识与实践中断控制中断允许/禁止全局中断控制--enable/
5、disableALLinterruptsCPU的CCR寄存器中一个特殊位.在复位后,全局禁止位是置起的中断发生后,全局禁止位也被置起DedicatedIE–onebitforeachinterruptsources通常在复位后所有的中断都被禁止了InterruptrequestIFGlobalIEdedicatedIELecture3Page12单片机的认识与实践CCR(XandIbit)全局中断控制不可屏蔽中断控制位Lecture3Page13单片机的认识与实践CCR(XandIbit)Resets,theSWIinstructionaren
6、otaffectedbytheXandImaskbits.InterruptservicerequestsfromtheXIRQpinareinhibitedwhenX=1,butarenotaffectedbytheIbit.Xcanbesetfrom1to0only.AllotherinterruptsareinhibitedwhenI=1.IRQXIRQResetMCU快速响应的事件、严重的错误处理绝大多数常规应用Lecture3Page14单片机的认识与实践中断服务子程ISR中断服务子程(ISR,InterruptServiceRou
7、tine)中断服务子程不同于一般的子程序由CPU硬件自动调用,而不是由其他程序调用在ISR执行前,CPU已经进行了一些特殊操作ISR需要特殊的返回处理(指令)对每一个中断,必须调用对应的ISR---how?SCI_RX_ISR:turnonglobalIEifinterruptnestingisenabledcleartheIF………….process…………..rtiLecture3Page15单片机的认识与实践中断向量表中断向量表是一段连续的存储空间在复位后有默认的起始位置通过改写中断向量基址寄存器可以重新定位向量表每个中断在向量表中都有
8、相应的表项,该表项的值为该中断对应的服务程序的地址(地址指针)由程序代码确定中断向量表的每个表项Lecture3Page16单片机的认识与实践中断向量
此文档下载收益归作者所有