AB正交编码器的问题 点击:308 | 回复:0



空杯小子

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 0回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-10-27 11:46:23
楼主
_c_int0
SETC INTM ; 禁止中断
CLRC CNF ;B0为数据存储区
LDP #0
SPLK #0FFH,IFR ; 清所有系统中断标志
SPLK #000000000B,IMR ; 关所有中断
LDP #0E0H
SPLK #0000001000000100B,SCSR1 ;CLKIN 20M,CLKOUT 40M
SPLK #68H,WDCR ;不用看门狗
LDP #0E1H
LACL MCRA
OR #00111000b
SACL MCRA
LDP #0E8H
SPLK #1001000000000100b,CAPCONA ;禁止捕获功能
SPLK #0FFFFH,T2PR ;设置周期寄存器的值
SPLK #0,T2CNT ;设置T2寄存器初值
SPLK #1001100001110000b,T2CON ;选择正交编码器脉冲作为时钟源
POS_GET
LDP #0E8H
LACC T2CNT
LDP #POSITION
SACL POSITION ;存编码器值
B POS_GET
为什么T2CNT(2407)的值跟AB编码器的值对不上,比哪,同一个方向转,T2CNT时大时小,反方向转回原位置,不会回0?转一圈是10000脉冲(我没转过一圈),我转一圈,应该大概也要计数10000个,T2CNT不谁,线是没接错的。


热门招聘
相关主题

官方公众号

智造工程师