单片机中使用中断程序会延长主程序执行的时间吗

如题所述

可以的,但是得判断中断标志位,判断有中断时跳转到REtI,正常执行主程序时不跳转。 其实还不如把主程序写两遍,一个是不带REI的主程序,一个是中断服务程序,后面要加REtI 举个例子,假设你可以判断TF0(中断0的溢出标志) ORG 000BH ajmp main1 ORG 0100h main: …… …… main1: …… …… JB TF0,INT0 …… …… AJMP MAIN INT0: CLR TF0 RETI END 这下够明白了吧
温馨提示:内容为网友见解,仅供参考
无其他回答

C51单片机的中断操作,与直接在主函数内写入中断服务程序有什么区别?
而你的整个主程序的运行时间是10ms,那么你这个中断操作就延迟了10ms。如果放在中断服务程序中,不论何时发生中断,CPU将会跳到中断服务程序中去处理中断操作。这是单片机的一种并行操作方式。第二个问题:因为P0口是漏极开路的。你去看看P0口的内部结构图,再用一点点的电路知识就能分析出来。

请教:进入中断后主程序仍然运行
只是比没中断前数字的变化时间长了很多,是因为要执行中断占用了时间 单片机执行中断程序后,会回到主程序继续执行,如果还有中断触发则在进入中断程序,如此循环。主程序当然是在运行了。不明白可以去看看书关于中断的那章,说的明白的 其实我不是很明白你的意思 ^-^ ...

...单片机中定时器中中断过多是不是会影响程序的执行准确率?
会影响的 这个和CPU处理能力有关 所有中断(不论什么等级)时间之和一定要小于系统时间 否则时钟就会变慢(或者低级中断得不到执行)这取决于你设计的调度机制是抢先式还是时间片式的 如果是抢先式,则可能出现高级中断总能得到执行,低级中断老是轮不到执行 如果是时间片轮转的,则大家轮流坐庄,都能...

单片机执行中断程序会影响定时器的累加么
不会!因为定时器是独立的,无论你是否执行中断程序,定时器依然按照原来节奏、步调执行。

51单片机中中断服务程序占用时间不?
在某种意思上,中断更具有实时性,中断处理是根据程序段的大小花费时间的,中断程序段如果比定时时间还长,那个这个定时在主程序里失去意义了;比如中断定时为10个机器周期,而中断程序段需要执行11个机器周期,那么意味着紧着的中断程序失去了理论的实时性;CPU无法在设计的要求下执行指令,所以,一般情况下...

单片机为什么按下外部中断后程序仍会进行,只是比原来慢了
所以,凡是多个任务穿插执行的程序中,通常不用这种延迟子程序来掌握时间。而是用定时器中断来协调各项任务的进行,适当掌控各个动作的间隔时间。例如,您可以利用一个定时器,设定1秒钟中断一次,把你的主循环中每秒要做的操作编入到这个中断服务程序中去。而主程序中,初始化并开中断以后只要反复做空操作...

单片机C语言编程中延时函数和定时器中断有何关系
延时函数(延时子程序)是主程序正常运行时执行的,---主程序运行的时间即是延时函数的延时时间。定时器中断是在主程序中插入的事件,是在主程序的某个时间点,跳出主程序去执行定时器中断要做的事情。所以如果一个延时子程序不停地被中断(包括定时器中断或者其他中断)打断,就没有时间完成自身运行一次...

单片机中,有一个定时中断函数,在中断里有很长的循环程序,这里问题来了...
的确,这种程序没有什么实用的意义,从原理上分析,更不会有人这么做的。你非要这么做,也没有人管,但不符合逻辑。既然采用中断的方式,就是为了充分利用单片机的时间。像你说的这个问题一种解决的办法是延长中断的时间,中断的时间要长于执行中断程序的时间,因每次中断的执行任务需要30ms,而中断时...

疑惑…单片机进入中断后不能执行调延时程序?中断服务程序里已写延时程序...
通常在中断子程序中是不调用延时子程序的,这样会增加中断处理时间,如果有其它低级中断了,就会延误响应中断了。所以,中断子程序中不要写调用延时子程序,中断子程序也不要写得过长,处理过多的任务,要尽快处理后及时返回,如果中断一次有很多任务需要执行完全,可以在中断子程序中设置一个标志位,在主...

关于单片机的中断问题,请教各位
1、尽可能的精炼、短小,花费最少的时间。2、不要再中断服务程序里出现循环、延时等程序段。3、中断优先级设置要合理,保证最高优先级给最需要及时性的事件。至于你说的中断程序时间最多多长,当然是越短越好,溢出的问题可能出现在定时中断上,定时中断服务程序执行时间不要超过设置的定时时间。

相似回答