历史上的今天
今天是:2025年02月22日(星期六)
2020年02月22日 | PIC16F877中断系统初探——过程和特点
2020-02-22 来源:eefocus
对于PIC单片机来说,一次中断活动的全过程大致可以归纳成一下9个阶段:
1、中断请求:中断事件一旦发生或者中断条件一旦构成,中断源就提交“申请报告”(将中断标志位置1),欲请求CPU暂时放下目前的工作而转向为该中断源作为专项服务;
2、中断屏蔽:虽然中断源提交了“申请报告”,但是,是否得到CPU的响应,还要取决于“申请报告”是否能够通过2道或者3道“关卡”(中断屏蔽)送达CPU(相应的中断屏蔽位等于1,为关卡放行;反之相应的中断屏蔽位等于0,为关卡禁止通行);
3、中断响应:如果一路放行,则CPU响应中断后,将被打断的工作断点记录下来(把断点地址保护到堆栈),挂起“不再受理其他申请报告牌”(清除全局中断标志位GIE=0),跳转到中断服务子程序;
4、保护现场:在处理新任务时可能破坏原有的工作现场,所以需要对工作现场和工作环境进行适当保护;
5、调查中断源:检查“申请报告”是由哪个中断源提交的,以便作出有针对性的服务;
6、中断处理:开始对查明的中断源进行有针对性的中断服务;
7、清除标志:在处理完毕相应的任务之后,需要进行撤消登记(清除中断标志),以避免造成重复响应;
8、恢复现场:恢复前面曾经被保护起来的工作现场,以便继续执行被中断的工作;
9、中断返回:将被打断的工作断点找回来(从堆栈中恢复断点地址),并摘下“不再受理其他申请报告牌”(GIE=1),继续执行原先被打断的工作。
在上述的9个阶段中,第1、2、3和9阶段是由硬件自动实现的,而第4、5、6、7、8阶段则是用户软件完成的。
PIC16F877单片机的中断源多达14种,不过中断向量只有一个(0004H),并且各个中断源之间也没有优先级之分,不具备非屏蔽中断(即所有中断都是可以被屏蔽的)。具有中断功能的PIC系列单片机采用的是多源中断的设计方案(即一个中断向量对应着多个中断源),只有唯一的一个中断向量,或者说只有一个中断服务子程序入口地址。
参考文献:
李学海 《PIC单片机实用教程——基础篇》 北京航空航天大学航出版社
上一篇:深入理解PIC系列单片机
史海拾趣
|
最近在做毕业设计,要求发射红外信号,得知红外信号是38K的载波PAM调制形成的,现在是用的定时器中断9us一次再在中断处理中实现PAM,但是在Protues里面显示的波形却是40us的。请问这是怎么回事?请问各位大牛有什么更好的办法实现上述要求。谢谢。… 查看全部问答> |
|
问题是这样的:我现在要把一个“密室”里的音视频信号采集以后传输出来,信号采集传感器装在一个小车上,平时小车在“密室”预装的轨道上来回移动,轨道铺到密道口,密道是“S”形的,周围是1.8m厚的水泥墙,不能用有线通信,但是用无线的话信号也 ...… 查看全部问答> |
|
如题。。wince6下能不能用ACESS数据库? 做个CE5下用EVC写ACESS比较麻烦。。 CE6能不能直接用VS2005连ACESS?… 查看全部问答> |
|
各位高手大侠,我目前用TDA7419做音频处理,结果是MCU与TDA7419的I2C通信正常了,TDA7419都能正常ACK。但是就是没有声音出来。 请求各位高手帮帮忙指点小弟。 我的外部硬件设置是,外部MUTE脚悬空,其他的是SE2先做一路输入,输入信号为1V ...… 查看全部问答> |




