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

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

发布时间: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 联系:
二者都是单片机的一种程序形式,一个子程序内部可以包含一个循环程序(如延时子程序)。

呵呵 满意就给加分喽

阅读全文

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

热点内容
理财产品保险收益是什么意思 浏览:745
专科的数控技术专业如何 浏览:22
冻干技术到底好在哪里你应该知道 浏览:309
手机附加程序删除了怎么恢复 浏览:638
陕西省招生信息网怎么登录 浏览:516
民用棉市场一年收入多少钱 浏览:435
技术导航网站如何起名字 浏览:755
想要编写程序要下载什么软件 浏览:74
交易银行怎么赚钱 浏览:756
工程技术部部长的能力有哪些 浏览:619
ug产品如何防缩水 浏览:133
目前大型网页用的什么技术 浏览:424
哪些数据可以用来计算众数 浏览:916
代理姐是什么意思 浏览:793
洛阳啤酒代理怎么找 浏览:456
股票软件交易系统看哪个指标 浏览:356
基金交易大师有哪些 浏览:774
酒店工程部需要哪些技术支持 浏览:633
江苏代理乳胶漆多少钱 浏览:192
表格数据如何转移 浏览:803