三菱实例程序分析 点击:344 | 回复:4



江湖混混-余辉

    
  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3351帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2013-05-25 20:03:00
楼主

问: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的位灯就亮,懂吗



楼主最近还看过



研讨会宣传员_3259

  • [版主]
  • 精华:3帖
  • 求助:110帖
  • 帖子:1927帖 | 14403回
  • 年度积分:102
  • 历史总积分:64749
  • 注册:2020年3月27日
发表于:2013-05-25 21:58:29
1楼

用仿真程序能仿真出来不?          

王者之师-帝国时代

  • 精华:0帖
  • 求助:3帖
  • 帖子:28帖 | 3047回
  • 年度积分:0
  • 历史总积分:7188
  • 注册:2006年5月16日
发表于:2013-06-06 16:50:32
2楼

Y0到Y7刚好8位数,85用二进制刚好是01010101,170刚好是10101010.

学习了

30net

  • 精华:0帖
  • 求助:4帖
  • 帖子:8帖 | 408回
  • 年度积分:0
  • 历史总积分:110
  • 注册:2011年8月31日
发表于:2016-06-27 16:22:10
3楼

回答的很好啊,理解位元件,二进制与十进这个东东,我也是刚学习,请大侠请点


热门招聘
相关主题

官方公众号

智造工程师