PIC16F877中断系统初探(1)——过程和特点

博客介绍了PIC单片机一次中断活动的9个阶段,包括中断请求、屏蔽、响应等,其中部分阶段由硬件自动实现,部分由用户软件完成。还提到PIC16F877单片机中断源、向量及优先级等情况,采用多源中断设计方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      对于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单片机实用教程——基础篇》 北京航空航天大学航出版社

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值