dyysam513
级别: 略有小成
精华主题: 0
发帖数量: 231 个
工控威望: 272 点
下载积分: 4163 分
在线时间: 95(小时)
注册时间: 2015-05-21
最后登录: 2024-11-19
查看dyysam513的 主题 / 回贴
楼主  发表于: 2024-06-03 08:57
有一台设备需要点亮50个灯,每次有且只能点亮一个灯,当有一个灯点亮时其他49个灯不允许点亮。用了3个QT16。
灯的Q点为:灯1Q1.0、灯2Q1.1、灯3~灯50:Q8.0~Q9.7、Q12.0~Q13.7、Q16.0~Q17.7。
程序怎么写会方便一点?
现在每个点亮输出都串其他点亮常闭点,写起来太复杂。

方奇10010
级别: 略有小成
精华主题: 0
发帖数量: 98 个
工控威望: 209 点
下载积分: 1605 分
在线时间: 55(小时)
注册时间: 2021-07-29
最后登录: 2024-11-21
查看方奇10010的 主题 / 回贴
1楼  发表于: 2024-06-05 19:09
应该用左移指令,没法用循环左移。50个没法循环。
引用
引用第1楼大番茄于2024-06-03 09:12发表的  :
用移位循环指令ROL-DW,一个ROL-DW不够可以用2个、用3个,一次点亮一个。