当前位置:首页 > 单片机 > 单片机
[导读]PIC24的DISI指令是禁止中断指令,这条指令可以把1-6优先级中断禁止一个固定的时间,用于一些对时间特性要求严格的代码段执行前关闭中断.禁止中断指令最大可以禁止中断时间为16384 个指令周期.这条指令的执行的时候,1-6

PIC24的DISI指令是禁止中断指令,

这条指令可以把1-6优先级中断禁止一个固定的时间,用于一些对时间特性要求严格的代码段执行前关闭中断.

禁止中断指令最大可以禁止中断时间为16384 个指令周期.

这条指令的执行的时候,1-6级别中断立即被禁止,同时把DISICNT寄存器赋值为16384,DISICNT寄存器赋按每个指令周期递减,当DISICNT为0的时候,中断禁止结束.

在DISI指令禁止中断期间,用户可以写DISICNT延长或者缩短中断禁止时间,或者直接对DISICNT写0,立即结束中断禁止.

注意:

在DISI未执行的时候,直接写DISICNT为非0数值无效,不能禁止中断.

要中断禁止生效必须先执行DISICNT指令

如果要一直禁止中断,可以用如下方法:

1. 使用PUSH 指令将当前的SR 值压入软件堆栈。

2. 通过将值0xE0 与SRL 进行“或”运算而将CPU 优先级强制设置为7。

扩展阅读:PIC单片机中断程序设计技巧

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭