yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò )英雄
![]() |
各位大俠好,小弟看編程手冊。自己實(shí)習做一個(gè)練習題:就是當X1 ON時(shí),把50 ,55,60,65.......100這11個(gè)數據,用循環(huán)指令傳送到D10到D20中去。 編寫(xiě)的程序如下: ![]() 可是,我用模擬軟件監控,為什么,循環(huán)的V是1,也只能傳送50,55,60,小弟很納悶,不知是什么地方出了問(wèn)題,請各位同仁大俠,指導指導。 |
|
---|---|---|
|
yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò )英雄
![]() |
百度查了一下,如下列1加到10,可能是缺少條件判,如大于10次,就不執行循環(huán)指令 ![]() 有點(diǎn)明白了 |
|
---|---|---|
|
ysheng9099
三人行必有吾師
級別: 工控俠客
![]() |
圖片:
![]() 請樓主看看這個(gè)程序,可以滿(mǎn)足樓主的要求 |
---|---|
|
detect
小心慎言,莫走邪道
級別: 略有小成
![]() |
我電腦上現在無(wú)法模擬,但從程序分析,最初的程序的確是沒(méi)考慮到v0到10以后的問(wèn)題,換句話(huà)說(shuō),也就是x0接通給D10賦值之后的第二第三及至更后掃描周期,原賦值循環(huán)程序將繼續無(wú)限制執行,直到出錯 V0是16位寄存器,當V0的賦值數據超過(guò)其數據容量時(shí)將溢出, 同樣,D寄存器的允許使用地址也存在限制, 當V0和D的內容超過(guò)其允許值時(shí),出錯在所難免啊 因此,在賦值循環(huán)程序之前加上跳轉完全有必要。 而二樓的程序應該能達到樓主的要求,但是存在無(wú)效的反復循環(huán) 個(gè)人見(jiàn)解,僅供借鑒 如有理解不當之處,請指正 [ 此帖被detect在2011-02-15 22:37重新編輯 ] |
---|---|
本帖最近評分記錄: |
yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò )英雄
![]() |
2樓的我在線(xiàn)模擬,在X0不為ON時(shí),D10 ,D11,D12 .......都有數據,且當XO為ON時(shí),不僅傳送了D10到D20,還有D21等的數據。三樓思路正確的,但我怎么看下面的程序不要調用或跳轉也能正確的執行循環(huán)加指令次數 ![]() 程序如下: ![]() 請高手繼續解答,謝謝.... ![]() |
|
---|---|---|
本帖最近評分記錄:
|
gk1234
有反饋,才控制
級別: 論壇先鋒
![]() |
主要因為INCP只能運行一次,用INC就好了,必須加上循環(huán)完成后將V0清零,否則會(huì )一直加下去 [ 此帖被hnyyl12在2011-02-16 11:12重新編輯 ] |
---|---|
本帖最近評分記錄: |