yangjiejie
朝花夕拾
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 308 個
工控威望: 5906 點
下載積分: 13712 分
在線時間: 722(小時)
注冊時間: 2010-02-26
最后登錄: 2024-10-17
查看yangjiejie的 主題 / 回貼
樓主  發(fā)表于: 2011-02-15 13:49
       各位大俠好,小弟看編程手冊。自己實習做一個練習題:就是當X1 ON時,把50 ,55,60,65.......100這11個數據,用循環(huán)指令傳送到D10到D20中去。
編寫的程序如下:

   可是,我用模擬軟件監(jiān)控,為什么,循環(huán)的V是1,也只能傳送50,55,60,小弟很納悶,不知是什么地方出了問題,請各位同仁大俠,指導指導。
朝花夕拾
detect
小心慎言,莫走邪道
級別: 略有小成
精華主題: 0
發(fā)帖數量: 286 個
工控威望: 474 點
下載積分: 1356 分
在線時間: 145(小時)
注冊時間: 2009-02-10
最后登錄: 2015-03-29
查看detect的 主題 / 回貼
1樓  發(fā)表于: 2011-02-15 22:30
我電腦上現在無法模擬,但從程序分析,最初的程序的確是沒考慮到v0到10以后的問題,換句話說,也就是x0接通給D10賦值之后的第二第三及至更后掃描周期,原賦值循環(huán)程序將繼續(xù)無限制執(zhí)行,直到出錯
V0是16位寄存器,當V0的賦值數據超過其數據容量時將溢出,
同樣,D寄存器的允許使用地址也存在限制,
當V0和D的內容超過其允許值時,出錯在所難免啊
因此,在賦值循環(huán)程序之前加上跳轉完全有必要。
而二樓的程序應該能達到樓主的要求,但是存在無效的反復循環(huán)
個人見解,僅供借鑒
如有理解不當之處,請指正
[ 此帖被detect在2011-02-15 22:37重新編輯 ]
本帖最近評分記錄:
  • 下載積分:+1(dl2006) 熱心助人
  • 下載積分:+2(yangjiejie) 熱心助人