wap15289704
級別: 正式會員
|
假設有32個燈,要求這樣的控制方式: 1. 每個燈單獨工作時,啟動哪個X點就動作哪個Y點。如啟動X10,就有Y10輸出,如此類推,X1—Y1 X2—Y2 …….. 2. 如果有2個或2個以上啟動,就輸出那個Y編號最小那個Y點。如啟動了X1 X4 X17 ,那么輸出端只能輸出Y1(編號最小),如此類推 : 啟動 X3 X20 X25 X30 ,輸出就是Y3 .。。。。。 大神們幫忙看看有什么辦法可以實現,萬分感謝!!! |
---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
第一個是 X?輸入,Y?就輸出是吧。 [MOV K4X0 K4Y0] 第二個得想個復雜的程序來實現 |
|
---|---|---|
|
fxf958
級別: 探索解密
|
要是編號最大的亮到是蠻簡單的,用個Enco再用個Deco就搞定,最小的還沒想到用什么指令簡單 |
---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
如下思路供參考 一、 使用 DSUM 求K4X0 ON的位數,如果等于1,執行A程序,如果等于2,執行B程序。 二、 使用CJ跳轉,讓V0不斷從0到32之間來回循環。 比如INC V0,V0到32后又歸零繼續循環 循環的中間加上X0V0 ON,就跳出循環 通常這時ON的應該是最低的X,讓他輸出相應的Y。這時MOVP保存一下K4X0的數值到D0 如果X反生變化,比如又按了更小的X。K4X0不等于D0,以此為條件再引發循環找到最小的X。 |
|
---|---|---|
|