在用51编程时,可不可以在中断函数里关掉当前中断并且打开或关上定时器?

在用51编程时,可不可以在中断函数里关掉当前中断并且打开或关上定时器?,第1张

1、在中断服务程序里,关闭中断允许标志当然可以(只是这个中断暂时被关闭了,如果在其他程序中没有开启中断,则这个中断服务程序不会再被执行),同样也可以启停定时器。

看了你的追问,我觉得你的要求完全可以实现,只是在编程的时候,要细致一些,把逻辑理清楚就可以了。

我以前做过一个出租车计价器,里程数据也是友闭告从外部中断进来,但在空车(也就是没有乘客的时候),我就把这个中断给关了,虽然里程数态此据通过传感器还在不断到达中断口,系统不会做任何反应。

2、声音定位从理论上说是很简单的,两线一点的定位方式。利用一个减速步进电机(带咪头),然后先旋转,利用一个锁相环,比如LM567,当接收到信号后,输出一个脉冲。此时步进电机停住,测出旋转角度好明(也就是说明,声音在那条直线上),然后走过一段路程,再测一次,又获得一根直线,则两根直线的交点就是声音源,跟早年无线电定位,现在微信定位一个道理。

是CPU进入中断周期后自动关中断,为了让主程序和中断服务程序能够处理中断与中断嵌套都要安排开中断指令。

中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前弊碰脊正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行。

CPU进入中断周期后,由中断隐指令自动将使能全局中断标志位置零,即关中断,这就意味着CPU在执行中断服务程序中禁止响应新的中断请求。CPU若想再次响应中断请求,必须开中断,这一任务通常由中断服务程序中的开中断指令实现。

扩展资料:

中断源屏蔽处理的相关技术:

当中断源被屏蔽(屏蔽触发器mask=1)吵仿,此时即使完租渗成触发器D=1,中断查询信号到来时刻只能将中断请求触发器INTR置“0”,CPU接收不到该中断源的中断请求,即它被屏蔽。

若该中断源未被屏蔽(mask=0),当设备工作已完成时(D=1),中断查询信号则将INTR置“1”,表示该中断源向CPU发出中断请求,该信号送至排队器进行优先级判断。

为了保证级别低的中断源不干扰比其级别高的中断源的中断处理过程。可采用屏蔽技术。

参考资料来源:百度百科-可屏蔽中断标志

参考资料来源:百度百科-中断嵌套


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12480435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存