导航:首页 > 软件知识 > 如何判别是否为子程序单片机

如何判别是否为子程序单片机

发布时间:2024-12-23 12:52:08

㈠ 子程序的末尾有什么指令

子程序的末尾一定要有RETI指令,子程序的调用是LCALL和ACALL。

RETI是中断返回指令,这条指令的功能和RET指令相似,2条指令的不同之处是:本指令清除了中断响应时,被置1的MCS-51内部不可寻址的 “优先级生效”触发器清零。

执行这条指令后,CPU将会把堆栈中保存着的地址取出,送回PC,那么程序就会从主程序的中断处继续往下执行了。中断指令“RETI”作为中断跳出指令,除了将堆栈中保存着的地址取出,送回PC,使程序从主程序的中断处继凳培续往下执行的作橡搏用外,还有将“优先级梁粗祥生效”触发器清零的功能。

(1)如何判别是否为子程序单片机扩展阅读

单片机汇编指令中RETI和RET的区别

通常情况下,在普通的汇编子程序中用RET做返回,在中断服务子程序中用RETI起中断返回作用。两条指令都能从堆栈中弹出断点地址并装入PC中,使CPU回到原来主程序的断点处继续运行。

然而,RET和RETI有本质的区别:当某一中断源响应后,单片机中的标志寄存器flag H和flag L其中的一个将会自动置位,用于阻止比它低级或同级的中断触发。RETI可以清除“优先级激活触发器”(即flag寄存器),以保证后续中断源的及时响应。

所以,当把RETI替换为RET后,该程序在第一次运行时可能不会出错,但在第二次运行时就会出错了。

㈡ 单片机的循环程序和子程序有什么区别与联系

呵呵 俺来帮你分析吧
单片机的循环程序和子程序有什么区别与联系
1 区别:
循环程序就是一段要反复执行的代码 只能在该处执行一次
即(执行一次要循环多次这一段代码)
子程序是一个相对独立的代码 单片机可以多次使用它 只要需要 就可以多次调用它
调用子程序要用到堆栈
每次运行只执行一次该段代码 但可以多次执行(没有次数上的限制)。
2 联系:
二者都是单片机的一种程序形式,一个子程序内部可以包含一个循环程序(如延时子程序)。

呵呵 满意就给加分喽

阅读全文

与如何判别是否为子程序单片机相关的资料

热点内容
比特便士上的哪个交易平台 浏览:664
合力叉车代理怎么做 浏览:320
糯米可以用什么代理 浏览:823
顺德花鸟市场有什么买 浏览:809
什么人适合学大数据学习 浏览:806
电子产品被换原件怎么投诉 浏览:784
我的抖音为什么不能显示小程序 浏览:700
鄱阳纸业总代理在哪里 浏览:242
ps怎么给产品标尺寸 浏览:92
蜀山代理记账多少钱 浏览:922
北京股交所什么时候交易 浏览:280
如何判别是否为子程序单片机 浏览:269
代理个人公司注册资金多少 浏览:645
噬魂做完怎么不能交易 浏览:170
退保程序多久 浏览:519
如何写电视机主程序 浏览:334
地下工程设计技术标准有哪些 浏览:931
新明珠集团有哪些品牌产品 浏览:693
国内交易所怎么注册 浏览:166
三流程序员如何转行 浏览:481