shuangyu
工控行業呆的越久越迷茫.......懂得多?少?......
級別: 家園常客
|
有一臺監測設備,監測出來數字存在D0,輸出 Y0 代表顯示數值是10 Y1 13 Y2 16 Y3 18 Y4 22 Y5 24 Y6 28 Y7 32 Y最多只能亮3盞。顯示誤差取最小值.比如D0=45 Y輸出Y0 Y1 Y4 D0=30 輸出 Y1 Y2 D0=33 Y0 閃亮 Y1 常亮 請問怎么編程?最好別用傻瓜式編程。。。。 有什么簡便的方法嗎? |
---|---|
|
randomfly888
級別: *
|
先是把特殊情況搞定,即值為0,10,13,16,18,22,24,28,32時候 然后是三個循環,即在0,10,13,16,18,22,24,28,32(假設存放在D100~D108)中挑出三個計算,三個放在D200~D202中,V0,V1,V2初始化為0,1,2 FOR 7 MOV D100V0 D200 FOR 7 MOV D100V1 D201 FOR 7 MOV D100V2 D202 ADD D200 D201 D203 ADD D202 D203 D203 CMP D203 D100 M1 比較結果相等后,保存當前V0,V1,V2的值,在下面選擇輸出接口然后實現 LD M2 SET M3 INC V2 NEXT INC V1 NEXT INC V0 NEXT LD M3 把D0的值加一再用上面循環計算 在把D0值減一再用上面循環計算,好像也挺煩的... |
---|---|
|