找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4662|回复: 8
收起左侧

如何确定单片机中断函数的执行时间?

[复制链接]
ID:786318 发表于 2020-8-14 11:10 | 显示全部楼层 |阅读模式
请教如何确定中断函数的执行时间
回复

使用道具 举报

ID:123289 发表于 2020-8-17 09:39 | 显示全部楼层
两种:
1、数一下中断函数中执行的指令有多少条,查每条指令执行的时间,累计后得到结果。
2、中断开始时,立即复位并开起某个定时器,如看门狗之类,中断返回前(RETI之前),读取这人定时器的值,这样就可以达成目的了。不过必须保证定时器的极限计时时间>中断运行时间,否则就溢出了。
回复

使用道具 举报

ID:213173 发表于 2020-8-17 16:00 | 显示全部楼层
在中断中设置断点,走一趟即知。
无标题.jpg

回复

使用道具 举报

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

使用道具 举报

ID:786318 发表于 2020-8-29 10:57 | 显示全部楼层
谢谢各位指导
回复

使用道具 举报

ID:795361 发表于 2020-8-29 13:50 来自手机 | 显示全部楼层
debug一下
回复

使用道具 举报

ID:382454 发表于 2020-8-29 22:17 来自手机 | 显示全部楼层
Y_G_G 发表于 2020-8-17 18:56
除了AT系列的8051单片机,基本上可以说是不能,至少对于你来说是不能
前面已经有人告诉你要怎么做了,在KEIL ...

学习了!!!谢谢大师
回复

使用道具 举报

ID:235954 发表于 2020-8-31 09:18 | 显示全部楼层
我们论坛的大佬数量超级多,慢慢来,不要慌。
回复

使用道具 举报

ID:786318 发表于 2020-8-31 11:56 | 显示全部楼层
确实。
AVR单片机上电后正常工作,读取MCUCSR寄存器的值应该是多少,怎么读出来是0x0B呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表