子程序的末尾有什么指令

子程序的末尾有什么指令,第1张

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

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

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

扩展资料

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

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

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

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

参考点是CNC机床上的固定点,可以利用参考点返回指令将刀架移动到该点。可以设置最多四个参考点,各参考点的位置利用参数事先设置。接通电源后必须先进行第一参考点返回,否则不能进行其它 *** 作。参考点返回有两种方法:

(1)手动参考点返回。

(2)自动参考点返回。该功能是用于接通电源已进行手动参考点返回后,在程序中需要返回参考点进行换刀时使用的自动参考点返回功能。

自动参考点返回时需要用到如下指令:

(1)返回参考点检查G27

G27用于检验X轴与Z轴是否正确返回参考点。指令格式为:

G27 X(U)____  Z(W)____

X(U)、Z(W)为参考点的坐标。执行G27指令的前提是机床通电后必须手动返回一次参考点。

执行该指令时,各轴按指令中给定的坐标值快速定位,且系统内部检查检验参考点的行程开关信号。如果定位结束后检测到开关信号发令正确,则参考点的指示灯亮,说明滑板正确回到了参考点位置;如果检测到的信号不正确,系统报警,说明程序中指令的参考点坐标值不对或机床定位误差过大。

(2)参考点返回指令G28、G30

 G28 X(U) ____ Z(W) ____;    第一参考点返回,其中X(U)、Z(W)为参考点返回时的中间点,X、Z为绝对坐标,U、W为相对坐标。参考点返回过程如图3-14所示。

 G30 P2 X(U)____  Z(W)____;    第二参考点返回,P2可省略

 G30 P3 X(U)____  Z (W)____;    第三参考点返回

 G30 P4 X(U)____ Z(W)____;    第四参考点返回

 第二、第三和第四参考点返回中的X(U)、Z (W)的含义与G28中的相同。

如图3-14所示为刀具返回参考点的过程,刀具从当前位置经过中间点(190,50)返回参考点,其指令为:

G30 X190 Z50;

G30 U100 W30;

如图3-14中的虚线路径所示,如果参考点返回时不经过中间点,则刀具会与工件发碰撞,引起事故。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7697372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存