lzhpsky
工控小菜鳥
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 1045 個
工控威望: 1151 點
下載積分: 2796 分
在線時間: 767(小時)
注冊時間: 2009-08-02
最后登錄: 2024-10-16
查看lzhpsky的 主題 / 回貼
樓主  發(fā)表于: 2011-05-27 13:59



1.我用HSC0的10模式,來計數AB相脈沖,我用狀態(tài)表監(jiān)控HSC0的數值不斷變化,可是SMD38當前計數值怎么沒變化?

2.當前的計數值在哪個寄存器里?怎么取出來?

3.設定值是6000,計數值到6000后產生中斷,這個沒問題,但是編碼器轉動時,HSC0還會計數。怎么寫程序就可以實現計數到6000后,在中斷里HSC0里面的當前值馬上清零,旋轉編碼器旋轉時,還不會計數。等再啟動時才開始計數,就是說到6000后怎么清掉HSC0的值。
lzhpsky
工控小菜鳥
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 1045 個
工控威望: 1151 點
下載積分: 2796 分
在線時間: 767(小時)
注冊時間: 2009-08-02
最后登錄: 2024-10-16
查看lzhpsky的 主題 / 回貼
1樓  發(fā)表于: 2011-05-27 16:04
lzhpsky
工控小菜鳥
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 1045 個
工控威望: 1151 點
下載積分: 2796 分
在線時間: 767(小時)
注冊時間: 2009-08-02
最后登錄: 2024-10-16
查看lzhpsky的 主題 / 回貼
2樓  發(fā)表于: 2011-05-27 18:44
大家沒知道的嗎?
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數量: 5196 個
工控威望: 7419 點
下載積分: 158540 分
在線時間: 3152(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-05
查看sjm213的 主題 / 回貼
3樓  發(fā)表于: 2011-05-27 19:45
引用
1.我用HSC0的10模式,來計數AB相脈沖,我用狀態(tài)表監(jiān)控HSC0的數值不斷變化,可是SMD38當前計數值怎么沒變化?

HSC0中記錄的才是你理解的“當前計數值”。SMD38中的當前值是指執(zhí)行一定的指令時將HC0的當前值改為SMD38中的值。
引用
2.當前的計數值在哪個寄存器里?怎么取出來?

當前的計數值就在HC0中,直接MOVE到某個寄存器中就可使用,或者直接使用HC0;
引用
3.設定值是6000,計數值到6000后產生中斷,這個沒問題,但是編碼器轉動時,HSC0還會計數。怎么寫程序就可以實現計數到6000后,在中斷里HSC0里面的當前值馬上清零,旋轉編碼器旋轉時,還不會計數。等再啟動時才開始計數,就是說到6000后怎么清掉HSC0的值。


本帖最近評分記錄:
  • 下載積分:+2(wsir123) 非常詳細!
  • 下載積分:+2(guochunyi) 熱心助人
  • 下載積分:+1(wslok) 感謝分享
    回憶依然最美
    一不小心混進社會, 浪子回頭已經白費... ...
    級別: 工控俠客
    精華主題: 0
    發(fā)帖數量: 1240 個
    工控威望: 2873 點
    下載積分: 21628 分
    在線時間: 1322(小時)
    注冊時間: 2008-06-16
    最后登錄: 2024-10-31
    查看回憶依然最美的 主題 / 回貼
    4樓  發(fā)表于: 2011-05-27 19:46
    1.不能直接監(jiān)視SMD38的值;
    2.想要讀取HSC0的當前值可以在程序里直接雙字尋址HC0,也可以用MOV_DW指令傳送到一個雙字寄存器地址;
    3.可能是在中端程序里設置的HSC0參數不正確,或者設置玩參數并將當前值清零后沒有再次調用HSC指令啟用高速計數器,請樓主查查看!
    本帖最近評分記錄:
  • 下載積分:+1(guochunyi) 熱心助人
    liuhuaxing
    LIUHUAXING
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 966 個
    工控威望: 1172 點
    下載積分: 3446 分
    在線時間: 624(小時)
    注冊時間: 2011-03-26
    最后登錄: 2024-06-26
    查看liuhuaxing的 主題 / 回貼
    5樓  發(fā)表于: 2011-05-27 20:43
    今天是個特別的日子,版主、高手大聚會,要是天天這樣,我該請假來這兒向老師們學習學習。
    woaqqdfq
    級別: 略有小成
    精華主題: 0
    發(fā)帖數量: 54 個
    工控威望: 208 點
    下載積分: 490 分
    在線時間: 18(小時)
    注冊時間: 2009-09-08
    最后登錄: 2016-04-15
    查看woaqqdfq的 主題 / 回貼
    6樓  發(fā)表于: 2011-05-27 21:07
    1.不能直接監(jiān)視SMD38的值;
    2.想要讀取HSC0的當前值可以在程序里直接雙字尋址HC0,也可以用MOV_DW指令傳送到一個雙字寄存器地址;
    3.可能是在中端程序里設置的HSC0參數不正確,或者設置玩參數并將當前值清零后沒有再次調用HSC指令啟用高速計數器,請樓主查查看!
    lzhpsky
    工控小菜鳥
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 1045 個
    工控威望: 1151 點
    下載積分: 2796 分
    在線時間: 767(小時)
    注冊時間: 2009-08-02
    最后登錄: 2024-10-16
    查看lzhpsky的 主題 / 回貼
    7樓  發(fā)表于: 2011-05-28 08:50
    謝謝大家的解答。
    lzhpsky
    工控小菜鳥
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 1045 個
    工控威望: 1151 點
    下載積分: 2796 分
    在線時間: 767(小時)
    注冊時間: 2009-08-02
    最后登錄: 2024-10-16
    查看lzhpsky的 主題 / 回貼
    8樓  發(fā)表于: 2011-05-28 20:20



    問題已解決,中斷程序這樣寫,可以馬上清除當前計數值,關閉HSC1,即使旋轉編碼器動作也不計數。OK。謝謝大家