登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:用PLC对旋转编码器的脉冲计数当32位的寄存器溢出咋办?

点击:8494 回复:14

引用 yyddyym 在 2012/7/29 22:03:28 发言【内容省略】

个人觉得用中断也没用,你是靠计数器来计数,计数器清零肯定要一个时间,而在这个时间里,如果编码器有脉冲输出,那么应该就会造成脉冲丢失
最后修改:2012/7/31 11:25:00
12-07-31 11:18
要比较扫描时间和计数频率
12-07-31 11:55
一条复制指令到一条清零指令这个已经很快了吧,如果在这个时间计数器变化,那只有找响应比计数器变化更快执行单元
12-07-31 17:30
32位的计数器的数值是非常大的,估计你没那么容易搞得它溢出,如果真有,不妨要以这样:
拿16位的举例,因为32位的数太大了
16位如果是正负计数的话,拿32000与当前值作比较,如果超过该值则立刻将值移出,然后复零就不担心溢出的问题了
12-07-31 18:51
版主你好,我指的单片机中断是带捕获跟自动重装载的计数功能的中断,初值可以预先放到一个寄存器里,溢出时硬件自动装为初值(也就是跟清零差不多)并产生中断,中断里要执行的只是溢出的次数计数,不会影响到脉冲计数的呀,
12-07-31 22:14

上一页 上一页

工控新闻

更多新闻资讯