标题:
51单片机定时器设置1微秒中断一次会影响主程序运行吗
[打印本页]
作者:
丶念
时间:
2024-11-3 20:25
标题:
51单片机定时器设置1微秒中断一次会影响主程序运行吗
定时器中断服务函数设置1微秒加一次,这样短的时间中断一次会影响主程序吗
作者:
angmall
时间:
2024-11-3 22:19
在51单片机上设置定时器每1微秒中断一次,确实会对主程序的运行产生较大影响,主要原因如下:
1.中断频率过高
:1微秒的中断意味着每秒触发100万次中断。对于51单片机这样的8位MCU,时钟频率一般在12MHz到24MHz左右。以12MHz为例,每个机器周期是1微秒,因此每次中断几乎会占满整个系统的处理能力,导致主程序几乎没有时间执行。
2.中断处理时间
:中断发生时,单片机需要保存现场并调用中断服务函数,这会消耗一定的时间。在每微秒中断一次的情况下,中断服务函数还没有执行完,下一次中断可能又发生了,这样会导致中断堆积,主程序几乎不能正常运行。
3.主程序的执行被极大延迟
:主程序中的任务无法顺利执行,因为中断的优先级通常高于主程序,这会导致主程序频繁被打断。若主程序需要一定的连续时间处理任务,这样的频繁中断会严重干扰其执行。
作者:
Y_G_G
时间:
2024-11-3 23:20
没有人会这么干的
1微秒一次的中断,哪怕是STM32,也会一卡一卡的,更不用说8051了
中断中还会++或者if之类的,还会有现场保护,这么一来,主程序几乎没有执行的机会
作者:
rayin
时间:
2024-11-4 07:22
啥活需要1us进中断做一次啊? 设1ms-10ms中断做一次不行吗?
作者:
Y99927
时间:
2024-11-4 08:15
所有时间几乎都一直在处理中断程序,主程序就没办法跑了,这个还不算影响主程序吗?
作者:
cyi8
时间:
2024-11-4 08:27
开玩笑吧,6Mhz的晶振机器周期就要2us了,12Mhz晶振的机器周期也要1us,如果你是1us中断,指令周期就不止1us了,你还让主程序执行什么,不要说主程序,就是中断程序你都执行不了
作者:
wufa1986
时间:
2024-11-4 08:48
再高级的芯片,强如电脑CPU,也不可能使用1us中断
作者:
lightday
时间:
2024-11-4 09:09
好像最快做过100us的中断
作者:
xiaobendan001
时间:
2024-11-4 09:40
我的5A60在22.1184下100US还是可以用的。对12864的显示基本看不出来。
作者:
npn
时间:
2024-11-4 13:59
你定时器设置1us中断一次,中断触发后必须在1us内返回,否则会导致程序异常、计时不准。
作者:
aalij
时间:
2024-11-4 14:14
51单片机的定时器通常是基于机器周期的,计数通常是基于时钟周期,标准定时器模式不支持这样的精确控制。如果成功实现1微秒中断,这将是一个非常高的中断频率。主程序将频繁地被中断,没办法运行的。
作者:
wadsf
时间:
2024-11-5 10:02
在设置定时器中断时,需要权衡中断频率和系统性能之间的关系。建议可以根据实际应用场景的需求来选择合适的中断频率,以确保系统能够稳定、高效
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1