单片机里的中断和调用指令有什么不同点和相同点?

来源:百度知道 编辑:UC知道 时间:2024/05/21 08:47:04
毕业已有好些年了如今工作上突然用起了单片机,而对以面问题现在是百思不得其解。请高人指教一二。
如果中断是并行处理的话,那它的主要作用是干嘛呢?比如呢?
如果我把主程序里的有先后顺序直接驱动外部端口的一部分程序写进中断里,而中断又是随机触发,那不是打乱了先后逻辑了吗?请再次指点。

调用就是主程序执行的时候,要完成某项功能,必须去调用子程序。这时主程序就在执行子程序的语句。
中断的调用不在主程序里调用,他是外界条件符合时,单片机在后台执行相应的程序,不会与主程序发生冲。主程序跟中断程序同时进行。直到中断程序结束。
相同点就是有时候需要恢复现场。有些寄存器里面的数据,在子程序或者中断程序执行过程中可能会被更改,所以在调用的时候,需要将那些寄存器里的数据事先存起来,等到中断或者子程序结束后恢复寄存器的数据。

调用是程序中自己调用子程序,而中断是通过外部中断或计时计数等条件出发的,就是说你不会确切知道中断程序执行的时间。
中断的返回除了和调用子程序的返回一样要恢复现场外,还有清除当前中断优先级标志,开放低级优先级的作用

楼主可以简单的理解为主动和被动!
中断:由于某些因素使得MCU不得不停止当前的工作,去做中断服务。
调用:根据程序编写的需要,拿一些成型的程序使用!

调用是随时可以调用某个子程序,但是中断则是需要一定的触发,比如定时器中断,外币中断等,中断后去处理相应的子程序,处理完了再回来接着做没有做完的事情。