标题: 如何确定单片机中断函数的执行时间? [打印本页]

作者: 786537085    时间: 2020-8-14 11:10
标题: 如何确定单片机中断函数的执行时间?
请教如何确定中断函数的执行时间
作者: yzwzfyz    时间: 2020-8-17 09:39
两种:
1、数一下中断函数中执行的指令有多少条,查每条指令执行的时间,累计后得到结果。
2、中断开始时,立即复位并开起某个定时器,如看门狗之类,中断返回前(RETI之前),读取这人定时器的值,这样就可以达成目的了。不过必须保证定时器的极限计时时间>中断运行时间,否则就溢出了。
作者: wulin    时间: 2020-8-17 16:00
在中断中设置断点,走一趟即知。



作者: Y_G_G    时间: 2020-8-17 18:56
除了AT系列的8051单片机,基本上可以说是不能,至少对于你来说是不能
前面已经有人告诉你要怎么做了,在KEIL环境下仿真是可以看到执行时间,但现在很多入门用都是以STC的为主,STC的指令执行时间和传统的8051是不一样的,所以,仿真计算出来的时间和实际的是不一样的
如果你要相对精确的话,可以在进入中断的时候设定某一个IO,中断返回的时候再取反,然后再用示波器测量这个IO取反的时间,这才是真正的实际执行时间
像这种情况,一般不要在中断中做太多的事,中断用于触发就可以了,处理程序放在中断外部执行,这样也不会影响到其它的功能
作者: 786537085    时间: 2020-8-29 10:57
谢谢各位指导
作者: 林李    时间: 2020-8-29 13:50
debug一下
作者: univers    时间: 2020-8-29 22:17
Y_G_G 发表于 2020-8-17 18:56
除了AT系列的8051单片机,基本上可以说是不能,至少对于你来说是不能
前面已经有人告诉你要怎么做了,在KEIL ...

学习了!!!谢谢大师
作者: 梁廷明    时间: 2020-8-31 09:18
我们论坛的大佬数量超级多,慢慢来,不要慌。
作者: 786537085    时间: 2020-8-31 11:56
确实。
AVR单片机上电后正常工作,读取MCUCSR寄存器的值应该是多少,怎么读出来是0x0B呢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1