求大侠帮助,怎么采集编码器的数据? 点击:733 | 回复:7



天天UP

    
发表于:2012-06-13 21:46:14
楼主
大侠们,我想采集旋转编码器的数据,假如我1ms采集一次,采集100次,分别采集到数据寄存器DT0-DT100,用什么指令,最好能编写个小程序,详细说下,谢谢了。


楼主最近还看过



联不通

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 272回
  • 年度积分:0
  • 历史总积分:943
  • 注册:2011年6月05日
发表于:2012-06-13 23:31:37
1楼

用堆栈,你看看堆栈的说明,对你这个很好用,1MS堆一次。

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-06-14 08:11:40
2楼

1、采用时间中断,中断间隔设1ms,高速计数器设置为连续计数方式。DT0地址设为指针首址,设一字节存储=100

2、中断服务程序:用该字节存储器与0比较,如=0,中断返回,如≠0,则读取高速计数器值送入指针地址,指针地址加1,一字节存储器减1。

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-06-14 09:17:05
3楼

1ms  太短了, 也只能用时钟中断来处理。。。。。。。。

楼上的 ,貌似 没必要 给字节寄存器 减1 操作;

我是游客

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 261回
  • 年度积分:0
  • 历史总积分:1718
  • 注册:2010年5月17日
发表于:2012-06-14 09:39:47
4楼
用时间中断来做                              

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-06-14 10:16:13
5楼
楼主要求采集100次,如用字节寄存器 减1 操作可确保采集数据100次,否则将不断的进行采集数据,将占据大量数据区。

飘风无影

  • 精华:0帖
  • 求助:5帖
  • 帖子:8帖 | 345回
  • 年度积分:0
  • 历史总积分:1175
  • 注册:2011年11月04日
发表于:2012-06-14 10:49:00
6楼
引用 wyb2866255---王者之师 的回复内容: 1、采用时间中断,中断间隔设1ms,高速计数器设置为连续计数方式。DT0地址设为指针首址,设一字节存储=1002、中断服务程序:用该字节存储器与0比较,如=0,中断返回,如≠0,则读取高速计数器值送入指针地址,指针地址加1,一字节存储器减1。


学习了。。。。。。。。。。。

天天UP

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:67
  • 注册:2012年6月09日
发表于:2012-06-15 20:54:25
7楼
谢谢各位高手了,今天又学到东西了,开心!
SSI ļʱ