lzhpsky
工控小菜鸟
级别: 论坛先锋
精华主题: 0
发帖数量: 1045 个
工控威望: 1151 点
下载积分: 2796 分
在线时间: 767(小时)
注册时间: 2009-08-02
最后登录: 2024-12-21
查看lzhpsky的 主题 / 回贴
楼主  发表于: 2011-05-27 13:59



1.我用HSC0的10模式,来计数AB相脉冲,我用状态表监控HSC0的数值不断变化,可是SMD38当前计数值怎么没变化?

2.当前的计数值在哪个寄存器里?怎么取出来?

3.设定值是6000,计数值到6000后产生中断,这个没问题,但是编码器转动时,HSC0还会计数。怎么写程序就可以实现计数到6000后,在中断里HSC0里面的当前值马上清零,旋转编码器旋转时,还不会计数。等再启动时才开始计数,就是说到6000后怎么清掉HSC0的值。
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5212 个
工控威望: 7436 点
下载积分: 158993 分
在线时间: 3172(小时)
注册时间: 2007-11-21
最后登录: 2024-12-22
查看sjm213的 主题 / 回贴
1楼  发表于: 2011-05-27 19:45
引用
1.我用HSC0的10模式,来计数AB相脉冲,我用状态表监控HSC0的数值不断变化,可是SMD38当前计数值怎么没变化?

HSC0中记录的才是你理解的“当前计数值”。SMD38中的当前值是指执行一定的指令时将HC0的当前值改为SMD38中的值。
引用
2.当前的计数值在哪个寄存器里?怎么取出来?

当前的计数值就在HC0中,直接MOVE到某个寄存器中就可使用,或者直接使用HC0;
引用
3.设定值是6000,计数值到6000后产生中断,这个没问题,但是编码器转动时,HSC0还会计数。怎么写程序就可以实现计数到6000后,在中断里HSC0里面的当前值马上清零,旋转编码器旋转时,还不会计数。等再启动时才开始计数,就是说到6000后怎么清掉HSC0的值。


本帖最近评分记录:
  • 下载积分:+2(wsir123) 非常详细!
  • 下载积分:+2(guochunyi) 热心助人
  • 下载积分:+1(wslok) 感谢分享