常用指令详解
常见单片机指令及应用

常见单片机指令及应用常见的单片机指令主要有以下几类:数据传送指令、算术逻辑指令、逻辑运算指令、转移指令和程序控制指令。
下面将详细介绍这些指令及其应用。
1. 数据传送指令:数据传送指令用于将数据从一个寄存器传送到另一个寄存器。
常见的数据传送指令有MOV(Move)、LDR(Load Register)和STR(Store Register)。
这些指令可以用于寄存器之间、存储器和寄存器之间的数据传输。
在应用上,数据传送指令可以用于将传感器数据读取到寄存器中,在处理器中间进行处理,或将处理结果存储到存储器中。
2. 算术逻辑指令:算术逻辑指令用于执行算术和逻辑操作。
常见的算术逻辑指令包括ADD (Addition)和SUB(Subtraction)等算术指令,AND(Logical AND)和OR(Logical OR)等逻辑指令。
这些指令可以用于在单片机中进行各种数学计算和逻辑判断。
在应用上,算术逻辑指令可以用于实现数值计算、逻辑运算以及条件判断等功能。
3. 逻辑运算指令:逻辑运算指令用于执行位操作和逻辑操作。
常见的逻辑运算指令有比特移位指令(LSL、LSR、ASL、ASR)和旋转指令(ROL、ROR)等。
这些指令可以用于在单片机中对数据的位进行移位和旋转操作。
在应用上,逻辑运算指令可以用于实现数据的位操作,如提取、移位和翻转等。
4. 转移指令:转移指令用于实现程序的无条件或有条件转移。
常见的转移指令有JMP(Jump)、CALL(Subroutine Call)和RET(Return)等。
这些指令可以用于实现程序的跳转和子程序的调用。
在应用上,转移指令可以用于控制程序的流程,实现程序的分支和循环等。
5. 程序控制指令:程序控制指令用于控制程序的执行。
常见的程序控制指令有NOP(No Operation)和HALT(Halt Execution)等。
这些指令可以用于实现程序的空操作和停止执行。
在应用上,程序控制指令可以用于实现程序的延时、空闲状态等。
常见汇编语言指令解释

常见汇编语言指令解释:1.Rn 表示R0~R7中的一个2.#data 表示8位的数值 00H~FFH3.direct 表示8位的地址 00H~FFH4.#data16 16位立即数5.@Ri 表示寄存器间接寻址只能是R0或者R16.@DPTR 表示数据指针间接寻址,用于外部64k的RAM/ROM寻址7.bit 表示位地址8.$ 表示当前地址寄存器寻址 MOV A,R1 将R1中的数值赋予A直接寻址 MOV A,3AH 将地址3AH中的数值赋予A立即寻址 MOV A,#3AH 将3AH数值赋予Amov dptr,#1828h寄存器间址 MOV A,@Ri 将 Ri中地址的数值赋予A, Ri或是R0或是R1MOV A,@DPTR变址寻址 MOVC A,@A+DPTR 以A中的数值为地址偏移量进行查表;变址寻址区是程序存储器ROM,而不是数据存储器RAM相对寻址 AJMP MAIN 跳转到行号为MAIN处位寻址 MOV C,7FH 将位地址7FH的数值赋予CMOV C,2FH.7;MOV C,ACC.7MOV A,#3AH 数据传输、赋值命令PUSH direct 将direct为地址的数值压入堆栈中POP direct 将direct为地址的数值弹出堆栈XCH A,direct 将direct中的数值与A进行交换ADD A,direct 将direct中的数值与A中的数值相加INC direct 将direct中的数值加1SUBB A,direct 将A中的数值减去direct中的数值和Cy值,并保存在A中,如果想使用不带Cy减法,可以在运算前对Cy清零 CLR CDEC direct 将direct中的数值减1DA A 用于对BCD码加减法后进行10进制调整MUL AB 将A和B相乘,并把高八位放在B中,低八位放在A中DIV AB 将A和B相除,并把商的整数部分放在A中,余数放在B中ANL A,direct 将A与direct中的数值进行与运算,结果保留在A中(与运算规律:有0出0,全1出1)ORL A,direct 将A与direct中的数值进行或运算,结果保留在A中(或运算规律:有1出1,全0出0)XRL A,direct 将A与direct中的数值进行异或运算,结果保留在A中(异或运算规律:全0出0,全1出0,01、10出1)CLR A 对A清零CPL A 对A取反RL A 对A中数左移RR A 对A中数右移RLC A 对A中数带Cy左移RRC A 对A中数带Cy右移SWAP A 对A中的数高4位低4位互相交换LJMP 长跳转指令,64K地址范围AJMP 短跳转指令,2K地址范围JZ rel 如果A为0就跳转到rel行号处JNZ rel 如果A不为0就跳转到rel行号处CJNE A,#data,rel 如果A不等于data就跳转到rel行号处DJNZ R1,rel 如果R1减1后不为0就跳转到rel行号处ACALL rel 调用rel子程序,2K地址以内LCALL rel 调用rel子程序,64K地址以内RET 子程序返回指令RETI 中断程序返回指令NOP 空操作指令MOV C,bit 将位地址bit中的值赋予CCLR bit 将bit位地址清0SETB bit 将bit位地址置1CPL bit 将bit位地址取反ANL C,bit 将地址bit中的值和C做与运算,结果存放在C中ORL C,bit 将地址bit中的值和C做或运算,结果存放在C中JC rel 如果Cy为1,就跳转到rel行号处JNC rel 如果Cy为0,就跳转到rel行号处JB bit,rel ;若BIT=1则转移JNB bit,rel ;若BIT=0则转移JBC bit,reL ;若BIT=1则转移,且BIT置11 加法指令:ADD A,Rn ;ADD A,direct ; ADD A,@Ri ;ADD A,#DATA2 带CY的加法指令:ADDC A,Rn ;ADDC A,direct ; ADDC A,@Ri ;ADDC A,#DATA3 加一指令:INC A ;INC Rn ; INC direct ; INC @Ri ;INC DPTR4 减法指令:SUBB A,Rn ;SUBB A,direct ; SUBB A,@Ri ;SUBB A,#data5 减一指令: DEC A ;DEC Rn ;DEC direct ;DEC @Ri6 十进制调整指令:DA A7 乘法和除法指令:MUL AB ;乘积高八位放在B中,低八位放在A中DIV AB ;商的整数放在A中,余数放在B中8 逻辑异或: XRL A,Rn。
简单指令集

简单指令集指令集是计算机中用于控制和操作计算机硬件的一组指令。
它决定了计算机的功能和操作方式。
简单指令集是一种精简而高效的指令集,它只包含了最基本的指令,以提高计算机的执行效率。
本文将介绍几个常见的简单指令集。
1. 加载指令(LOAD):将数据从主存储器加载到寄存器中。
加载指令通常用于将数据从内存中读取到CPU中进行进一步处理。
例如,LOAD R1, 100表示将内存地址100处的数据加载到寄存器R1中。
2. 存储指令(STORE):将数据从寄存器存储到主存储器中。
存储指令通常用于将处理结果保存到内存中。
例如,STORE R1, 200表示将寄存器R1中的数据存储到内存地址200处。
3. 算术指令(ADD、SUB、MUL、DIV):用于执行基本的算术运算。
这些指令通常用于对寄存器中的数据进行加、减、乘、除运算。
例如,ADD R1, R2, R3表示将寄存器R2和R3中的数据相加,并将结果存储到寄存器R1中。
4. 逻辑指令(AND、OR、NOT):用于执行逻辑运算。
逻辑指令通常用于对二进制数据进行逻辑与、逻辑或、逻辑非运算。
例如,AND R1, R2, R3表示将寄存器R2和R3中的数据进行逻辑与运算,并将结果存储到寄存器R1中。
5. 跳转指令(JUMP):用于改变程序的执行顺序。
跳转指令通常用于无条件或有条件地改变程序的执行路径。
例如,JUMP 100表示无条件地跳转到内存地址100处执行。
6. 条件指令(CMP):用于比较两个数据的大小关系。
条件指令通常用于根据比较结果决定程序的执行路径。
例如,CMP R1, R2表示比较寄存器R1和R2中的数据,根据比较结果设置条件码。
7. 移位指令(SHIFT):用于对数据进行位移操作。
移位指令通常用于将数据的各位向左或向右移动一定的位数。
例如,SHIFT R1, 2表示将寄存器R1中的数据向左移动2位。
8. 输入输出指令(IN、OUT):用于与外部设备进行数据的输入和输出。
ABB机器人常用指令详解-中文

ABB常用指令详解-中文ABB常用指令详解-中文一、简介及背景ABB是一种先进的自动化设备,具有广泛的应用领域。
本文档将详细介绍ABB常用指令,帮助用户快速了解和掌握的操作技巧和功能。
二、基础指令1.MOVE指令:用于控制的移动,包括直线和旋转方向的移动。
2.SPEED指令:设置的运动速度。
3.HOME指令:将恢复到初始位置。
4.STOP指令:停止的运动。
5.PAUSE指令:暂停的运动,可以手动恢复。
6.WT指令:等待指定条件满足后再继续执行下一步指令。
三、高级指令1.ROBOT指令:控制的工作模式,包括自动模式和示教模式。
2.PROGRAM指令:创建、编辑和运行的程序。
3.CALL指令:调用其他程序或子程序。
4.IF指令:根据条件执行不同的操作。
5.FOR指令:循环执行一系列指令。
6.WHILE指令:在条件满足的情况下重复执行一系列指令。
四、IO指令1.SET指令:设置的输入输出状态。
2.READ指令:读取的输入输出状态。
3.WTIO指令:等待的输入输出状态满足指定条件后再继续执行。
五、系统指令1.DATE指令:获取或设置的日期。
2.TIME指令:获取或设置的时间。
3.ERROR指令:获取或清除的错误信息。
4.POSITION指令:获取当前的位置信息。
5.TOOL指令:设置或校准的工具。
6.SPEEDLIMIT指令:设置的速度限制。
六、附件本文档涉及附件如下:1.附件1:ABB常用指令示例程序2.附件2:ABB常用指令使用手册七、法律名词及注释1.:指能够自动执行任务的可编程设备。
2.指令:语句或命令,用于控制的操作。
3.输入输出(IO):用于与外部设备之间的数据传输和通信。
4.程序:包含一系列指令的有序集合。
5.条件:一种逻辑判断,用于根据不同的情况执行不同的操作。
6.工具:所用的工作设备。
常用汇编指令

常用汇编指令汇编语言是一种低级机器语言的抽象表示,通过使用汇编指令可以编写出与硬件相关的程序。
在计算机科学领域中,汇编指令是非常重要的,是理解计算机底层原理和实现的关键。
本文将介绍一些常用的汇编指令,以帮助读者更好地理解和应用这些指令。
一、数据传输指令1. MOV指令:MOV指令用于将数据从一个位置复制到另一个位置。
例如,MOV AX, BX将寄存器BX的内容复制到AX中。
2. LEA指令:LEA指令用于将内存地址加载到寄存器中。
例如,LEA BX, [SI+10]将[S1+10]的内存地址加载到寄存器BX中。
3. PUSH指令:PUSH指令用于将数据压入栈中。
例如,PUSH AX将AX中的数据压入栈中。
4. POP指令:POP指令用于从栈中弹出数据。
例如,POP BX将栈中的数据弹出到BX中。
二、算术运算指令1. ADD指令:ADD指令用于将两个操作数相加,并将结果存储在目标操作数中。
例如,ADD AX, BX将BX的值加到AX中。
2. SUB指令:SUB指令用于将源操作数的值从目标操作数中减去,并将结果存储在目标操作数中。
例如,SUB AX, BX从AX中减去BX的值。
3. MUL指令:MUL指令用于将源操作数与累加器中的值相乘,并将结果存储在累加器中。
例如,MUL BX将累加器的值与BX相乘。
4. DIV指令:DIV指令用于将累加器的值除以源操作数,并将商存储在累加器中,余数存储在另一个寄存器中。
例如,DIV BX将累加器的值除以BX。
三、逻辑运算指令1. AND指令:AND指令用于对两个操作数进行逻辑与运算,并将结果存储在目标操作数中。
例如,AND AX, BX将AX与BX进行逻辑与操作。
2. OR指令:OR指令用于对两个操作数进行逻辑或运算,并将结果存储在目标操作数中。
例如,OR AX, BX将AX与BX进行逻辑或操作。
3. NOT指令:NOT指令用于对操作数进行逻辑非运算,并将结果存储在目标操作数中。
汇编语言指令详解

汇编语言指令详解汇编语言是一种低级语言,它直接操作计算机的硬件。
与高级语言相比,汇编语言更具操作性,可以更精确地控制计算机的执行过程。
在编写汇编语言程序时,我们需要使用指令来完成各种操作,并且对不同的指令进行详细的了解。
本文将详细介绍一些常用的汇编语言指令及其功能。
一、数据传输指令数据传输指令用于在寄存器间传输数据或将数据从寄存器传送到内存中。
常用的数据传输指令包括MOV、LDA、STA等。
MOV指令用于将数据从一个寄存器传送到另一个寄存器。
例如,MOV AX, BX表示将寄存器BX中的数据传送到寄存器AX中。
LDA指令用于将一个内存单元的数据传送到累加器中。
例如,LDA 1000H将内存单元1000H中的数据传送到累加器中。
STA指令用于将累加器的数据传送到一个内存单元中。
例如,STA 2000H将累加器中的数据传送到内存单元2000H中。
二、算术运算指令算术运算指令用于对数据进行加、减、乘、除等运算操作。
常用的算术运算指令包括ADD、SUB、MUL、DIV等。
ADD指令用于将两个操作数相加,并将结果存储在目的操作数中。
例如,ADD AX, BX表示将寄存器AX和寄存器BX的数据相加,并将结果存储在寄存器AX中。
SUB指令用于将目的操作数减去源操作数,并将结果存储在目的操作数中。
例如,SUB AX, BX表示将寄存器AX减去寄存器BX的数据,并将结果存储在寄存器AX中。
MUL指令用于执行无符号整数乘法运算。
例如,MUL AX, BX表示将寄存器AX和寄存器BX的数据相乘,并将结果存储在寄存器AX 中。
DIV指令用于执行无符号整数除法运算。
例如,DIV AX, BX表示将寄存器AX的数据除以寄存器BX的数据,并将商存储在寄存器AX 中,余数存储在寄存器DX中。
三、逻辑运算指令逻辑运算指令用于对数据进行逻辑操作,如与、或、非、位移等。
常用的逻辑运算指令包括AND、OR、NOT、SHL等。
AND指令用于对两个操作数执行位与操作,并将结果存储在目的操作数中。
汇编语言基本指令详解

汇编语言基本指令详解在计算机科学和计算机工程领域,汇编语言是一种计算机底层编程语言,用于直接控制计算机硬件。
它是机器语言的文本形式,使用符号和助记符来代表机器指令,相对于高级编程语言来说更加底层。
汇编语言基本指令是使用汇编语言进行编程时必不可少的内容。
下面将详细介绍汇编语言中常用的基本指令。
1. 数据传送指令数据传送指令用于在寄存器之间传递数据,常见的指令有MOV、ADD、SUB、MUL等。
MOV指令用于将数据从一个位置传送到另一个位置,格式为MOV 目标操作数, 源操作数。
例如,MOV AX, BX可以将BX的值传送给AX。
ADD指令用于将两个操作数相加,并将结果保存到目标操作数中。
格式为ADD 目标操作数, 源操作数。
例如,ADD AX, BX可以将AX与BX的值相加,并将结果保存在AX中。
SUB指令用于将源操作数的值从目标操作数中减去,并将结果保存到目标操作数中。
格式为SUB 目标操作数, 源操作数。
例如,SUB AX, BX可以将BX的值从AX中减去,并将结果保存在AX中。
MUL指令用于将两个操作数相乘,并将结果保存到目标操作数中。
格式为MUL 目标操作数, 源操作数。
例如,MUL AX, BX可以将AX与BX的值相乘,并将结果保存在AX中。
2. 算术逻辑指令算术逻辑指令用于进行各种算术和逻辑运算,例如加法、减法、乘法、除法、与、或、非等。
ADD指令在前面已经提到,用于将两个操作数相加。
SUB指令在前面已经提到,用于将源操作数的值从目标操作数中减去。
MUL指令在前面已经提到,用于将两个操作数相乘。
DIV指令用于将目标操作数除以源操作数,并将商保存到目标操作数,余数保存在DX中。
格式为DIV 操作数。
例如,DIV BX可以将AX的值除以BX,并将商保存在AX中,余数保存在DX中。
AND指令用于对两个操作数进行按位与运算,并将结果保存到目标操作数中。
格式为AND 目标操作数, 源操作数。
例如,AND AX,BX可以将AX与BX的值按位与,并将结果保存在AX中。
ABB机器人常用指令详解-中文(一)

ABB常用指令详解-中文(一)ABB常用指令详解-中文(一)本文档旨在介绍ABB常用指令的详细信息,以帮助用户更好地了解和使用ABB系统。
下面将对各个章节进行详细阐述。
1.运动控制指令1.1.MOVEJ指令MOVEJ指令用于将关节直线移动到目标位置。
可以通过设置目标位置、运动速度和加速度来实现精确的运动控制。
该指令的语法如下:MOVEJ {目标位置},v{速度},a{加速度}其中,目标位置可以用关节角度或者工具坐标系位置进行表示。
1.2.MOVEL指令MOVEL指令用于将工具坐标系下的TCP(工具中心点)位置沿直线移动到目标位置。
通过设置目标位置、运动速度和加速度参数,可以实现精确的运动控制。
该指令的语法如下:MOVEL {目标位置},v{速度},a{加速度}其中,目标位置可以用工具坐标系下的坐标进行表示。
1.3.MOVEC指令MOVEC指令用于沿一条圆弧轨迹将点A移动到点B。
可通过设置起始点和终点的TCP位置,沿圆弧轨迹实现精确的运动控制。
该指令的语法如下:MOVEC {起始点TCP位置},{终点TCP位置},v{速度},a{加速度}2.系统控制指令2.1.SPEED指令SPEED指令用于设置运动的速度和加速度参数。
可以通过设置关节速度、坐标系速度和时间倍率三个参数来控制的运动速度。
该指令语法如下:SPEED v{速度},a{加速度},t{时间倍率}2.2.SETDO指令SETDO指令用于设置数字输出口的状态。
可以通过该指令将数字输出口的状态设置为高(1)或低(0)。
该指令的语法如下:SETDO x{数字输出口号},{状态}2.3.SETTOOL指令SETTOOL指令用于设置工具坐标系。
可以通过该指令将工具坐标系的原点和方向设置为指定的TCP位置。
该指令的语法如下:SETTOOL p{x},{y},{z},{q0},{q1},{q2},{q3}3.数据处理指令3.1.WT指令WT指令用于暂停程序的执行,直到满足指定的条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位逻辑指令
将新值写入输出点的过程映象寄存器。
立即输出 当指令执行时,立即输出指令(=I)将新值同时写到物理输出 点和相应的过程映象寄存器中。 置位和复位 置位(S)和复位(R)指令将从指定地址开始的N个点置位或 者复位。您可以一次置位或者复位1--255个点。 如果复位指令指定的是一个定时器位(T)或计数器位(C),指令不但 复位定时器或计数器位,而 且清除定时器或计数器的当前值。 立即置位和立即复位指令将从指定地址开始的N个点立即置位或者立即 复位。您可以一次置位或复位1到128个点。 “ I”表示立即,当指令执行时,新值会同时被写到物理输出和相应的 过程映象寄存器。这一点不同于非立即指令,只把新值写入过程映像寄 存器。
转换指令
ASCⅡ转换指令:
整数转ASCII码:将一个整数字IN转换成一个ASCII码字符串。 格式FMT:0000cnnn(二进制),c=0(逗号),c=1(点号);nnn表 示小数点右边的位数。nnn的合理范围是0到5。 转换结果存储在从OUT开始的连续8个字节中。 双整数转ASCII码:将一个双字IN转换成一个ASCII码字符串。 格式FMT:同上 转换结果存储在从OUT开始的连续12个字节中。
SHR_B SHR_W SHE_DW
ROL_B ROL_W ROL_DW
ROR_B ROR_W ROR_DW
立即触点 立即触点并不依赖于S7--200的扫描周期刷新,它会立即刷新。常开立即 触点指令和常闭立即触点指令在指令执行时得到物理输入值,但过程映 像寄存器并不刷新。
取反指令(NOT)改变能流输入的状态(也就是说,它将栈顶 值由0变为1,由1变为0)。 正跳变触点指令(EU)检测到每一次正跳变(由0到1),让能流接通一 个扫描周期。负跳变触点指令(ED)检测到每一次负跳变(由1到0), 让能流接通一个扫描周期。对于正跳变指令,一旦发现有正跳变发生 (由0到1),该栈顶值被置为1,否则置0。对于负跳变指令,一旦发现 有负跳变发生(由1到0),该栈顶值被置为1,否则置0。
表指令
• 表指令:
TBL:指定表格 PIN:要查找的数据 INDX:指定开始的条目数 CMD:1(=)、2(<>)、3(<)、4(>)
注意:
所有的表格读取和表格写入指令必须用边缘 触发器指令激活。
移位、循环指令
• 移位、循环移位指令:
SHL_B SHL_W SHL_DW
IN:输入值;N移动位数;OUT:输出。 左移右补零,右移左补零;如果N大于或等于最大 允许值(对于字节操作为8,对于字操作为16,对 于双字操作为32),N为最大允许值。 如果移位次数大于0,溢出标志位(SM1.1)上就是 最近移出的位值。如果移位操作的结果为0,零存 储器位(SM1.0)置位。字节操作是无符号的。 对于字和双字操作,当使用有符号数据类型时,符 号位也被移动。
字符串比较: 字符串比较指令比较两个字符串的ASCII码字符: IN1=IN2 IN1<>IN2 当比较结果为真时,比较指令使触点闭合。
转换指令
• 标准转换指令:
字节:B=Byte;单整:I=INT ;双整DI=Double INT;实数R=Real; 注意转换后的精度损失; 四舍五入指令将一 个实数转为一个双 整数值,并将四舍 五入的结果存入 OUT指定的变量中。 取整指令将一个实 数转为一个双整数 值,并将实数的整 数部分作为结果存 入OUT指定的变量
TON TOF
1 ห้องสมุดไป่ตู้0 100
表指令
• 表指令:
填表指令:VW500:表格最大长度;VW502:表格实 际条目数。每次向表格中增加新数据后, 条目计数加 1。
新数据被增加至表格中的最后一个条目之后,即无法再向 表格中添加数据。表格最 多可包含 100 个条目,不包括 VW500和VW502
FIFO 先进先出指令:从表(VW500)中移走第一个数据,并将 此数输出到 DATA 中( VW300)。 剩余数据依次上移一个 位置。每执行一条本指令,表中的实际条目数减 1。
字节块传送(BMB)、字块传送(BMW)和双 字块传送(BMD)指令传送指定数量的数据到 一个新的存储区,数据的起始地址IN,数据长度 BLKMOV_W 为N个字节、字或者双字,新块的起始地址为 (OUT)。 BLKMOV_D N的范围为1到255 字节交换指令用来交换输入字IN的高字节和低字节。 输入只能是字类型。
转换指令
• 标准转换指令:
要点亮七段码显示器中的段,可以使用段码指令。段码 指令将IN中指定的字符(字节)转换生成一个点阵并存 入OUT指定的变量中。
转换指令
ASCⅡ转换指令:
1. ASCII码转十六进制数指令(ATH)将一个长度为LEN从IN开 始的ASCII码字符串转换成从OUT开始的十六进制数。十六进 制数转ASCII码指令(HTA)将从输入字节IN开始的十六进制 数,转换成从OUT开始的ASCII码字符串。被转换的十六进制 数的位数由长度LEN给出。 2. 能够被转换的ASCII码字符串或者十六进制数的最大数量为 255。 3. 有效的ASCII码输入字符是0到9的十六进制数代码值30到39, 和大写字符A到F的十六进制数代码值41到46这些字母数字字 符
实数转ASCII码:将一个实数值IN转为ASCII码字符串。 格式FMT:sssscnnn(二进制),c=0(逗号),c=1(点号);nnn表示 小数点右边的位数。nnn的合理范围是0到5。ssss表示输出缓冲区的大 小。 0、 1或者2个字节的大小是无效的。
转换指令
字符串转换指令:
整数转换字符串:将一个整数字IN转换为8个字符长的ASCII码字 符串。 FMT:0000cnnn,nnn表示输出缓冲区中小数点右侧的数字位数。 nnn的合理范围为0到5。C=0逗号,c=1点号。 结果字符串被写入从OUT开始的9个连续字节中。 双整转换字符串:将一个双整数IN转换为一个长度为12个字符的 ASCII码字符串。 FMT:0000cnnn,nnn表示输出缓冲区中小数点右侧的数字位数。 nnn的合理范围为0到5。C=0逗号,c=1点号。 结果字符串被写入从OUT开始的13个连续字节中。 实数转字符串:将一个实数值IN转换为一个ASCII码字符串。 FMT:sssscnnn,c=0(逗号),c=1(点号);nnn表示小数点右 边的位数。nnn的合理范围是0到5。ssss表示输出缓冲区的大小。 转换结果放在从OUT开始的一个字符串中。结果字符串的长度 由格式操作数给出,它可以是3到15个字符。
输入、输出都是实数类型,三角函数输入为弧度 值(π/180)
整数、浮点数计算指令
• 其他计算指令
传送指令
• 传送指令:
MOV_B MOV_W MOV_DW MOV_BIR MOV_BIW BLKMOV_B 字节立即读(BIR)指令读物理输入(IN),并 将结果存入内存地址(OUT),但过程映像寄存 器并不刷新。 字节立即写指令(BIW)从内存地址(IN)中读 取数据,写入物理输出(OUT),同时刷新相应 的过程映像区。
位逻辑指令
• RS触发器指令
置位优先触发器是一个置位优先的锁存器。当 置位信号(S1)和复位信号(R)都为真时, 输出为真。 S1=0,R=0,则Out=之前状态; S1=0,R=1,则Out=0 S1=1,R=0,则Out=1 S1=1,R=1,则Out=1 复位优先触发器是一个复位优先的锁存器。当 置位信号(S)和复位信号(R1)都为真时, 输出为假。 S1=0,R=0,则Out=之前状态; S1=0,R=1,则Out=0 S1=1,R=0,则Out=1 S1=1,R=1,则Out=0 Bit参数用于指定被置位或者复位的布尔参数。可选的输出反映Bit参 数的信号状态。
LIFO 后入先出指令:将表格( VW500)中的最新(或最后) 一个条目移至输出内存地址( VW300), 方法是移除表格 ( TBL)中的最后一个条目,并将数值移至 DATA 指定的位 置。每次执行指令时,表 格中的条目数减 1。
内存填充指令:用包含在地址 IN 中的字值( 0) 写入 N 个 ( 10 个) 连续字,从地址 OUT( VW500) 开始。 N 的范 围是 1 至 255。 通常用作对某个存储区进行大范围的赋值, 比如清零。
常用指令详解
一.位逻辑指令 二.比较指令 三.转换指令 四.整数、浮点数计算指令 五.传送指令 六.计数器指令 七.定时器指令 八.表指令 九.移位、循环指令 一○.程序控制指令 一一.诊断/看门狗复位/时钟指令
位逻辑指令
标准触点 常开触点指令与常闭触点指令从存储器或者过程映象寄存器中得 到参考值。标准触点指令从存储器中得到参考值。(如果数据类 型是I或Q,则也可从过程映象寄存器中得到参考值。)
比较指令
数值比较:
字节比较 等于 不等于 ==B <>B 整数比较 ==I <>I 双字比较 ==D <>D 实数比较 ==R <>R 梯形图中表 示方法:
大于等于 小于等于
大于 小于
>=B <=B
>B <B
>=I <=I
>I <I
>=D <=D
>D <D
>=R <=R
>R <R 满足条件时 导通。
定时器指令
• 定时器指令:
定时器类型 TONR
分辨率(ms) 最长定时(s) 1 10 100 32.767 327.67 3276.7 32.767 327.67 3276.7
定时器号 T0,T64 T1-T4,T65-T68 T5-T31,T69-T95 T32,T96 T33-T36,T97-T100 T37-T63,T101-T255
整数、浮点数计算指令
• 标准计算指令
ADD_I ADD_DI ADD_R SUB_I SUB_DI SUB_R MUL DIV MUL_I MUL_DI MUL_DI DIV_I DIV_DI DIV_R 输入输出数据格式 是保持一致的,整 数除法命令除不尽 时,直接舍去小数 部分。