coffeekbqn 发表于 2008-10-27 11:44

AB正交编码器的问题

_c_int0   
        SETC   INTM               ; 禁止中断
        CLRCCNF               ;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脉冲(我没转过一圈)

mickeydoll 发表于 2010-6-11 21:22

为什么一进中断就要把T2CNT清0呢
页: [1]
查看完整版本: AB正交编码器的问题