![中断服务子程序为什么不能直接调用吗,第1张 中断服务子程序为什么不能直接调用吗,第1张](/aiimages/%E4%B8%AD%E6%96%AD%E6%9C%8D%E5%8A%A1%E5%AD%90%E7%A8%8B%E5%BA%8F%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E7%9B%B4%E6%8E%A5%E8%B0%83%E7%94%A8%E5%90%97.png)
中断服务
子程序不能直接调用,蚂铅因为它们是特殊的程序,它们的功能是在 *** 作系统中运行,而不是在应用程序中运行。它们可以在 *** 作系统中执行特定的任务,比如处理系统中的中断,但闷差好是它们不能直接被应用程序调用。因此,如果要调用中断服务
子程序,必须使用 *** 作系统提供的特殊接口,这些接口可以让应用程序调用中断服务子程序庆仿。中断程序不是使用的或御,是当
单片机的中断源有中断请求时,以允许中断的情况下,就是自动转到中断裤核程序去执行了。所胡团掘以,编程时,需要在中断完成什么任务,都要写到中断程序中就行了,会自己去执行的。而不需要你去使用的。这样给你说吧。当单片机运行起来的时候是高速运转你while(1)里面的程序。但是这样是不够的,比如你想把某个信号传递给单片机让它处理,比如说:你按了某个键来控制某个灯的亮灭,这时候就需要单片机来响应你的动作,响应的方式就是中断。也就是说你在主程序中滑并磨完成了某个中断的触发条件时,当达到这个条件时程信斗序就会跳转到中断服务函数中去,执行完中断服务函数中的蔽埋程序后再返回主程序中继续循环执行。你说的调用其实不太正确,中断服务函数只能触发,它是由单片机内特定的某些寄存器的标志位控制的,当这些满足触发条件的时候,标志位被硬件置1,然后自动执行你编写的中断服务函数。
说的不是很清楚,请见谅,中断是单片机内最重要的功能之一,与之对应的还有定时器(这是单片机的心脏),这些内容在51里面都是很简单的,但是到了32位单片机里面会变得特别复杂。
希望这些内容能给你一些帮助。
评论列表(0条)