子程序中定时器的使用范围

子程序中定时器的使用范围,第1张

T192-T199和T246-T249。

根据查询电气控制与PLC技术应用第3章第3功能指令中得知,在子程序中使用的定时器范围规定为T192-T199和T246-T249。

定时器在子程序中的表现是在条件调用子程序的主程序中,在停止子程序调用时,如果计时器已经启动并正在计时,则当停止该子程序调用时计时器失控。

ret用栈的数据修改IP的内容,实现近转移。

ret执行步骤:

(1):(IP)=((SS)*16+SP)

(2):(SP)=(SP)+2

执行过程

ret指令用栈中的数据,修改IP的值,从而实现近转移。

CPU执行ret指令时,进行下面两步 *** 作:

(IP)=((SS)*16+(SP))

(SP)=(SP)+2

另一种用法ret n(n为整数)

等效于

(IP)=((SS)*16+(SP))

(SP)=(SP)+2

(SP)=(SP)+n

例如ret 4

pop ip

add sp,4

返回调用处

例:

push eax

call msgcall标号是把eip压入堆栈,然后再跳到标号msg处[标记1]

继续代码....

msg:

push 0

push 0

push eax

push 0

call dword ptr[MessageBoxA]

ret这是取出EIP,返回到调用处,继续执行[标记1]

扩展资料:

功能:

从堆栈中退出pc的高8位和低8位字节,把堆栈指针减2,从pc值处开始继续执行程序。不影响任何标志。

例子

主程序

MAIN:SETB P1.0(1)开始主程序,P1.0口置1(P1.0口输出为高,可以控制LED点亮)

LCALL DELAY(2)此时当前堆栈指针加2,调用(6)DELAY延时子程序

CLR P1.0(3)P1.0口清零(P1.0口输出为低,可以控制LED熄灭)

LCALL DELAY(4)此时当前堆栈指针加2,调用(6)DELAY延时子程序

LJMP MAIN(5)跳转到主程序,这样LED实现循环点亮

子程序

DELAY:MOV R7,#250(6)250--&gtR7

D1:MOV R6,#250(7)250---&gtR6

D2:DJNZ R6,D2(8)(R6-1),等于零执行下一条,不等于零,则跳转到D2

DJNZ R7,D1(9)(R7-1),等于零执行下一条,不等于零,则跳转到D1

RET(10)当前堆栈指针减2,返回到(3)CLR P1.0继续执行MAIN主程序。

END.(11)程序结束(伪指令)

参考资料:

百度百科——RET指令

百度百科——ret

1.在拆开外罩的情况下开动机床时,衣服可能会卷到主轴或其他部件中,在检查 *** 作时应站在离机床远一点的地方,以确保衣物不会被卷到主轴活其他部件中。在检查机床运转时,要先进行不装工件的空运转 *** 作。开始就进行实物加工,如果机床错误动作,可能会引起工件掉落或刀剑破损飞出,还可能造成切屑飞溅,伤及人身,因此要站在安全的地方进行检查 *** 作。

2.在采用自动方式加工工件时,要首先采用但程序段运行,进给速度倍率要降低,或采用机床锁定功能,并且应在不装道具和弓箭的情况下运行自动循环过程,已确认机床动作是否正确。否则机床动作不正常,可能引起工件和机床本身的损伤及 *** 作者。

3.在机床运行之前要认真检查所输入的数据,防止数据输入错误,自动运行 *** 作中由于子程序或数据错误,可能引起机床动作失控,从而造成事故。

4.给定的进给速度应该适合于预定 *** 作,一般来说对于每一台机床有一个可允许的最大进给速度,不同的 *** 作所适用的最佳进给速度不同,应参考机场说明书中确定最合适的紧急速度,否则会加速机床磨损,甚至造成事故。

5.当采用道具补偿时,要检查补偿方向和补偿量,如果输入的数据不正确,机床可能会动作异常,可能引起工件和机床本身的损害或伤及人员

6.打开电气柜门检查维修时,需要注意电器柜中高压部门,切勿触碰高压部分,尽量不要带点作业,保证人身安全

7.在更换控制元件或者模块时,要关闭系统电源和机床总电源,保证设备安全,防止矿大故障。

8.至少要在庀电源20min后,才可以更换伺服驱动单元。关闭电源后。伺服驱动和主轴驱动的电压会保留一段时间,因此即使驱动模块关闭电源后也有被点击的危险,只要在关闭电源20min后,残余的电压才能消失。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存