单片机编程时中断程序如何使用

单片机编程时中断程序如何使用,第1张

中断程序不是使用的或御,是当单片机的中断源有中断请求时,以允许中断的情况下,就是自动转到中断裤核程序去执行了。所胡团掘以,编程时,需要在中断完成什么任务,都要写到中断程序中就行了,会自己去执行的。而不需要你去使用的。

单片机的中断使用一般遵循如下步骤:

1、按中断号(C语言)或者中断入口地址(汇编)别写中断服务程序。如果是编写汇编中断服务程序,如果中断程序中用到了寄兄信存器或者有可能影响程序状态字的指令,应注意现场保护(C语言会自动保护)。对不能硬件清除中断标志的中断响应,退出中断前要软件清除中断标志。对复合中断(如串口收发中断)服务程序,要判断中断具体来源执行对应程序。

2、使能相应冲消的中断散尘知。

3、开启总中断。

中断连接指令(ATCH)使中断事件(EVNT)与中断程序号码(INT)相联系,并启动中断事件。根据指定事件优先级组,PLC按照先来先服务的顺序对中断提供服务。

任何时刻只能激活一个用户中断。其它中断处于激活状态时,CPU发出中断暂时入队,等待以后处理。如果发生的中断数目过多,队列无法处理,则设定队列溢出状态位。当队空时,重置这些位。

中断程序必须由三部分构成:中断程序标号(即中断事件的编号)、中断程序指令和无条件返回指令。在中断程序中不能使用DISI、ENI、HDEF、LSCR和END指令。

扩展资料:迹逗

中断优先级

给中断源指定处理的次序就是给中断源确定中断优先级。中断按以下固定的优先级顺序执行:通信(最高优先级)、I/O中断和定时中断(最低优先级)。在上述3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。

如果发生中断过于频繁,使中断产生的速率比可处理的速率快,或中断被DISI指令禁止,中断队列溢出状态位被置1。只应在中断程序中使用这些位,因为当队列变空或返回主程序时,这些位会被复位。

参考资料姿仿卖大慧:百度百科-中断指令


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存