
2.9 数据转换指令
编程时,当实际的数据类型与需要的数据类型不符时,就需要对数据类型进行转换。数据转换指令就是完成这类任务的指令。
数据转换指令将操作数类型转换后,把输出结果存入到指定的目标地址中。数据转换指令包括数据类型转换指令、编码与译码指令以及字符串类型转换指令等。
2.9.1 数据类型转换指令
数据类型转换指令包括字节与字整数间的转换指令、字整数与双字整数间的转换指令、双整数与实数间的转换指令及BCD码与整数间的转换指令。
(1)字节与字整数间的转换指令
① 指令格式 字节与字整数间的转换指令格式如表2-35所示。
表2-35 字节与字整数间的转换指令格式

② 应用举例 按下启动按钮,小灯Q0.0和Q0.1会不会点亮?字节与字整数间转换指令举例如图2-88所示。

图2-88 字节与字整数间转换指令举例
(2)字整数与双字整数间的转换指令
字整数与双字整数间的转换指令格式如表2-36所示。
表2-36 字整数与双字整数间的转换指令格式

(3)双整数与实数间的转换指令
① 指令格式 双整数与实数间的转换指令格式如表2-37所示。
表2-37 双整数与实数间的转换指令格式

② 应用举例 按下启动按钮,小灯Q0.0和Q0.1会不会点亮?双整数与实数间的转换指令实例如图2-89所示。

图2-89 双整数与实数间的转换指令举例
重点提示
以上转换指令是实现模拟量等复杂计算的基础,读者们需予以重视。
(4)BCD码与整数的转换指令
BCD码与整数的转换指令格式如表2-38所示。
表2-38 BCD码与整数的转换指令格式

2.9.2 译码与编码指令
(1)译码与编码指令
① 指令格式 译码与编码指令格式如表2-39所示。
表2-39 译码与编码指令格式

② 应用举例 按下启动按钮,小灯Q0.0和Q0.1会不会点亮?译码与编码指令举例如图2-90所示。

图2-90 译码与编码指令举例
(2)段译码指令
段译码指令将输入字节中16#0~F转换成点亮七段数码管各段代码,并送到输出(OUT)。
① 指令格式 段译码指令的指令格式如图2-91所示。
② 应用举例 编写显示数字3的七段显示码程序,程序设计如图2-92所示。

图2-91 段译码指令的指令格式

图2-92 段译码指令举例
程序解析
按下启动按钮I0.0,SEG指令6传给QB0,除Q0.1外,Q0.0,Q0.2~Q0.6均点亮。