这段程序能够运行,但是很可惜的是上位机的发送按钮需要点击多下才能够显示正确的结果,不知道是什么原因造成的,希望各位大侠能够给我看看这里的程序,怎样才能够很快的响应输出?程序怎么改?小弟在此谢谢各位了!
Main
NETWORK 1
LD SM0.1
MOVB B#5, VB200 //接收初始化
MOVD DW#+0, VD201 // 接收清空
MOVD DW#+0, VD205
MOVD DW#+0, VD101 //发送清空
MOVD DW#+0, VD105
MOVB B#16#09, SMB30
MOVB B#16#41, SMB89
MOVW W#+20, SMW90
MOVB B#16#B0, SMB87
MOVB B#20, SMB94
NETWORK 2
LD SM0.1
ENI
MOVB B#10, SMB34
ATCH INT_1, B#10 //定时中断0
ATCH INT_0, B#23 //接收完成
NETWORK 3
LD SM0.0
RCV VB200, B#0 //接收
INT_0
NETWORK 1
LD SM0.0 //千位
MOVB VB202, VB306
ANDB B#16#0F, VB306
BTI VB306, AC0 //字节—>整数
ITD AC0, AC0 //整数—>双字节
DTR AC0, AC0 //双字节—>实数
*R DW#1000.0, AC0
MOVR AC0, AC3
NETWORK 2
LD SM0.0 //百位
MOVB VB203, VB306
ANDB B#16#0F, VB306
BTI VB306, AC0
ITD AC0, AC0
DTR AC0, AC0
*R DW#100.0, AC0
+R AC0, AC3 //累加
NETWORK 3
LD SM0.0 //十位
MOVB VB204, VB306
ANDB B#16#0F, VB306
BTI VB306, AC0
ITD AC0, AC0
DTR AC0, AC0
*R DW#10.0, AC0
+R AC0, AC3
NETWORK 4
LD SM0.0 //个位
MOVB VB205, VB306
ANDB B#16#0F, VB306
BTI VB306, AC0
ITD AC0, AC0
DTR AC0, AC0
+R AC0, AC3
NETWORK 5
LD SM0.0 //符号位
MOVB VB201, VB306
AB= VB306, B#16#31
*R DW#-1.0, AC3
NETWORK 6
LD SM0.0
MOVR AC3, VD30 //处理后结果送到vd30
INT_1
NETWORK 1
MOVB B#5, VB100
RTA VD30, VB101, B#16#50 //转化为ASCII码发送
XMT VB100, B#0