使用SDEC指令要注意那些事情?
发布时间:2016-11-07 10:32 来源:欧姆龙 阅读:
七段译码指令SDEC格式:SDEC(78) @ SDEC(78)
S SC CR R其中,操作数S为源通道,它可以是IR、SR、AR、LR、hR、TC、DM、*DM;操作数C为控制字,它可以是IR、SR、AR、LR、hR、TC、DM、*DM、#;操作数R为目的开始通道,它可以是IR、SR、AR、LR、hR、DM、*DM。当执行条件为ON时,对S中的数字进行译码(由C确定要译码的起始数字位及译码的位数)。
译码结果存放在R中(由C确定是从R的低8位还是高8位开始存放)。R中的第7位和第5位不用,第0位至第6位及第8位至第14位分别对应数码管的a、b、c、d、e、f、g段。指令的源通道号为hR00,结果通道为hR01。控制字C=#0013,表明从源通道的第3位数字开始,对2个数字进行译码,译码的顺序为第3位数字→第0位数字;从结果通道的低8位开始接受第一个转换结果,每个结果占8位,所以只占用一个结果通道。程序执行后hR01的低8位是00000110(第7位固定为0);hR01的高8位是01001111(第15位固定为0)。
思考题:若C=#0113,则hR01、hR02通道的内容是多少?
使用SDEC指令要注意:
(1)结果通道不能超过其所在区域,例如,在控制字C=#0113时,若结果通道数据为hR19就会出错。因为第一个结果要存放在hR19的高8位,显然第二个译码结果无处存放。
(2)一次最多只能对4个数字进行译码。若C设置错误,程序将无法执行。例如,C设置为#0042,即对5个数字进行译码,这显然是错误的。