共2条
1/1 1 跳转至页
NOP 有关单片机指令NOP抗干扰的问题!!
问
做毕业设计中要用到PID的理论,我自己编了一个数字PID的子程序,后来我毕业设计的指导老师把他以前编好的给我,我看了一下觉,得我的程序和他的十分相似,不过他的就多了许多NOP指令,我知道这是用于软件抗干扰的,而他的NOP一般两个为一组出现的地方主要有四个:PUSH指令的前面,POP指令的前面,调用子程序指令的前面,各类跳转指令的前面,还有子程序返回指令的前面。我对这种抗干扰的原理是一知半解,请各位大虾高手指点!!!
答 1:
nop可以实现抗干扰 ? 小弟实在是不知
答 2:
POP指令的前面没多大必要...
答 3:
冗余指令Hotpower以前喊过的一句口号--"毛主席教导我们--深挖洞,广积粮".
答 4:
无此必要!程序“陷阱”应放置于程序存储器的空白处,但现在已很少这么用了。8031时代俺也用此法,但“单片”时代后就无此必要了,主要是自己的设计水平和器件质量都提高了不少。
答 5:
哈哈...冗余指令实际上这种方法在C语言编程时加NOP几乎也可以说是不能实现的...
由于MCU的指令一般有操作码及操作数等构成的,即一条完整的指令可能由多字节构成.
如3字节指令:
当PC运行在首字节时,它会执行我们预期的操作.
但PC运行在2,3字节处时,它会执行什么操作呢???---鬼才知道!!!
加NOP无非是想减少及降低以上失误的可能性,但只是人们美好的愿望...
在实际上,这只是一种软件抗干扰的设计方法... 答 6: NOP可以抗干扰?NOP居然可以抗干扰? 答 7: 其原理其实hotpower已讲到了NOP是单字节指令,在程序存储器的空白处及某些指令段前后加上NOP,若PC指针乱跳至NOP处则会顺序执行并恢复正常不会对系统造成其它影响,而跳至多字节指令的中间则会有不可预见的后果,所以原理上NOP的引入可以降低程序崩溃的可能,但作用有限,毕竟此方法的提出是基于器件供应十分短缺且原始的年代,现代的设计则应是尽量避免干扰及受干扰后的现场保护和恢复。
由于MCU的指令一般有操作码及操作数等构成的,即一条完整的指令可能由多字节构成.
如3字节指令:
当PC运行在首字节时,它会执行我们预期的操作.
但PC运行在2,3字节处时,它会执行什么操作呢???---鬼才知道!!!
加NOP无非是想减少及降低以上失误的可能性,但只是人们美好的愿望...
在实际上,这只是一种软件抗干扰的设计方法... 答 6: NOP可以抗干扰?NOP居然可以抗干扰? 答 7: 其原理其实hotpower已讲到了NOP是单字节指令,在程序存储器的空白处及某些指令段前后加上NOP,若PC指针乱跳至NOP处则会顺序执行并恢复正常不会对系统造成其它影响,而跳至多字节指令的中间则会有不可预见的后果,所以原理上NOP的引入可以降低程序崩溃的可能,但作用有限,毕竟此方法的提出是基于器件供应十分短缺且原始的年代,现代的设计则应是尽量避免干扰及受干扰后的现场保护和恢复。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |