单片机中子程序和中断服务程序有何异同?为什么子程序返回指令RET和中断返回指令RETI不能相互替代?
答案:2 悬赏:10
解决时间 2021-03-03 03:02
- 提问者网友:践踏俘获
- 2021-03-02 06:01
单片机中子程序和中断服务程序有何异同?为什么子程序返回指令RET和中断返回指令RETI不能相互替代?
最佳答案
- 二级知识专家网友:厭世為王
- 2021-03-02 07:39
子程序是一段程序代码,是独立的一个执行部分,你主程序调用就执行,不调用就不执行;而中断服务程序也是是一段程序代码,是独立的一个执行部分;但是只在你主程序开了中断,并且有中断条件(不如中断口接收到低电平,定时时间到了)才会去执行,并且中断服务程序会将你主程序运行时的PC指针寄存器,A累加器就信息都会入栈保护;退出中断后又会出栈进行还原;而子程序则不会;
全部回答
- 1楼网友:晨与橙与城
- 2021-03-02 08:11
在单片机中返回指令有ret、reti或者跳转指令sjmp或ljmp。
ret是一般子程序返回指令,执行该指令,会自动弹出被保护的地址给pc指针。
reti是中断服务程序返回指令,执行该指令,除了弹出被保护的地址指针给pc外,还会恢复影响中断的一些标志位,比如定时器中断的tfn标志。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |