问:1、彩灯程序:
LD X0
ANI T1
OUT T0 K20
LD TO
OUT T1 K20
LD TO
MOV K85 K2Y0 将控制常数送至Y0-Y7,实现隔灯显示
LD T1
MOV K170 K2Y0 将控制常数送至Y0-Y7,Y0-Y7状态取反,实现显示轮换
以上程序运行后的顺序为:Y0,2,4,6灯亮,隔2秒后,Y1,3,5,7,灯亮
请教问题:将控制常数传送至输出继电器,可达到控制的目的吗?该常数如何取值,我试过
换成其它数据,但不能达到控制目的。小弟翻阅有关书本,找不到有关说明。
2、 MOV K85 K2Y0和MOV K170 K2Y0 为什么常数是设为K85和K170,而不是其它数据呢?我也试过换成其它数据,比如K45和K90,或者是K170和K340,这些数据看似都是倍数关系,但运行后Y0-Y7输出就不是按原来那样了。
3、为什么该程序会按照YO,2,4,6和Y1,3,5,7这样的顺序来动作呢?我翻过编程书好象并没有类似的程序,这也算是MOV指令的其中一个功能吗?
答:1、其实你可以用它的模拟软件仿真试验的。
Y0、Y2、Y4、Y6==0101,0101B算算吧;
Y1、Y3、5、Y7==1010,1010B。
2、85=64+16+4+1(2^6+2^4+2^2+2^0)
170=128+32+8+2(2^7+2^5+2^3+2^1)
MOV K85 K2Y0 的意思是将常数85在Y0-Y7上用2进制表示输出,即2^0=Y0 ON 以此类推。
3、Y0到Y7刚好8位数,85用二进制刚好是01010101,170刚好是10101010.
是1的位灯就亮,懂吗
楼主最近还看过