小少年
级别: 略有小成
精华主题: 0
发帖数量: 25 个
工控威望: 266 点
下载积分: 1648 分
在线时间: 37(小时)
注册时间: 2017-08-18
最后登录: 2024-11-17
查看小少年的 主题 / 回贴
楼主  发表于: 2020-09-03 21:46
D10=1234情况下
BCD  D10  D11  那么D11是不是就等于4660
BIN  D10  D11  那么D11是不是等于1234
小侯
小侯
级别: 工控侠客
精华主题: 0
发帖数量: 482 个
工控威望: 2612 点
下载积分: 8093 分
在线时间: 507(小时)
注册时间: 2008-10-17
最后登录: 2024-11-15
查看小侯的 主题 / 回贴
1楼  发表于: 2020-09-04 08:22
D10=1234= 0100 1101 0010

BCD D10 D11

D11= 0001 0010 0011 0100 = 4660

BIN D10 D11 會報錯 4100

以D10內數據分成 4BIT來看,1101的十進制是13
而BCD的指令每位只能0~9
楼主留言:
程序内有这个指令,用的意义在哪里?
小侯
小侯
级别: 工控侠客
精华主题: 0
发帖数量: 482 个
工控威望: 2612 点
下载积分: 8093 分
在线时间: 507(小时)
注册时间: 2008-10-17
最后登录: 2024-11-15
查看小侯的 主题 / 回贴
2楼  发表于: 2020-09-07 08:23
1、BCD用在外部數據顯示
搭配BCD編碼的七段顯示可以顯示數字

2、BIN用在指撥開關輸入
搭配BCD碼的指撥開關可以輸入0~9

如果是FX有DSW做指撥開關輸入,SEGL做七段顯示輸出

分離位數
當一串數字K1234
經過BCD後會存成
0001 0010 0011 0100
在使用DIS 指令
可以將數據以4BIT為一組切開存在暫存器
然後在用BIN轉換回數字

看自己的需求再去使用這些指令
指令一定是有它的用處才會被開發人員寫入