单片机寄存器中的数据进入堆栈后受不受中断程序控制

单片机寄存器中的数据进入堆栈后受不受中断程序控制,第1张

如果你的中断程序不去改动,当然不受影响。不过,因为中断,堆栈会压入断点地址,这样堆栈指针就受影响了。

有改动的话当然是影响的,因为堆栈是RAM的一部分,而所有的RAM都是全局的。因此任何一部分程序的改动都是有影响的。

不受程序中断和关机影响,那数据肯定不能只保存在内存中。如果数据少的话,可以写文件,保存在文件中,程序启动加载文件。也可以把数据保存在数据库中。启动的时候从数据库读取。方法很多,关键是要把数据固化到硬盘。

当然要用中断,但不是外部中断,是定时器中断

定时器中断产生时基例如50ms,

我的思路是主程序不断地查询P2 口 ,当查询到某一位为0时(如P20),立即将对应的P1引脚(如P10)置0,点亮LED0,并且对某个变量如TIME0置初值100(100*50ms=5s)

在定时器中断程序里,不断查询P1口各引脚的状态,如果这个引脚状态是0,就对其对应的变量(如TIME0)进行减1 *** 作,并且判断其值是否为0,若为0,说明5S已到,则熄灭该LED

这样主程序在查询,中断程序也在查询,查询的结果都是 *** 作LED和 TIMEX变量

主程序负责点亮LED,中断程序负责定时熄灭LED.

主程序负责设置TIME初值,中断程序负责将其逐步归0

你认为行吗?

不是必须要用中断的,中断是为了使主程序暂停中断的内容立即执行而设置的,如果主程序很小主程序的扫描周期可以忽略不计,那么用不用中断无所谓了,相反如果主程序很大,扫描周期很长,要执行通讯的话必须等待本次扫描周期完成才能执行,那么通讯的内容就会有延迟,为了避免这种延迟提高通讯速度或使某些必须立即执行的内容马上响应而使用中断程序,所以说用不用中断要看你的具体要求。个人见解,希望有用。

您好,感谢您使用三星产品!

若是使用手机自带录音机进行普通录音,来电时会自动中断并保存录音。

很抱歉,手机无相关更改设置,建议您登陆第三方手机论坛搜索查询是否有第三方软件支持。

欢迎登陆三星数字服务平台提问:>

以上就是关于单片机寄存器中的数据进入堆栈后受不受中断程序控制全部的内容,包括:单片机寄存器中的数据进入堆栈后受不受中断程序控制、c语言中数据不受程序中断和关机影响的处理办法、51单片机里面不用中断可以同时控制多个引脚吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10089414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存