因为main函数使用的就是led散热器第

发布日期:2021-03-04 22:58:22

  通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。

  因为main()函数使用的就是第0组寄存器,中断程序会改变寄存器组的数据。主程序运行时,随时都有可能产生中断,等中断返回主程序时,寄存器R0-R7的值已经被改变了。这是非常严重的错误。而且故障时有时无,错误也是莫明其妙。

  因为高优先级的中断可以打断正在执行的低级中断,转向持行高级中断。这就是所谓的中断的中断。与种错语一样,高级中断的程序,会改变低级中断正在使用的寄存器。

  3、不写using。严格的说,这样写不能算是错误。但这是相当不好的习惯。

  没用using指定寄存器组,编译器就默认分配了第0组寄存器,然后又用8条语句把第0组的R0-R7保存到栈中,退出中断时还需要8个弹栈。这样“笨拙”的写法,占用了程序空间32个字节、占有堆栈8个字节。也许高级版本的编译器会改进吧,搞单片机的还是规矩些好。

  1、写中断程序一定要用using语句指定寄存器组。、2、3组都可以,不能是0.

  2、51单片机的中断有两个优先级。一个中断不会打断另一个相同优先级的中断。这样相同级别中断可以使用同一个组。比如:低优先级的中断函数都用using1,高优先级的中断都用using2。这样不会冲突。
了解更多详情,请访问-电子散热器,插片散热器,led散热器,变频器散热器,型材散热器,铲片散热器-扬州市宏峰电子散热器厂:http://hfdzsrq.com