Re: Incremental Encoder lekezelése

Pintér Dezső skandi at t-email.hu
Tue May 3 15:25:48 CEST 2005


Hello Kardos,

Én pic-re assemblyben ezt használom.
Négyszeres felbontás, 3 byte-ot számol.
Igaz nem megszakításból, így viszont 80 kHz-ig jó.
Ha nagyon pontos kell, akkor kell két d-flop a bemenetekre.

------------------------
dgomb:
                movf    porta,w
                andlw   3
                movwf   new
                movwf   temp
                xorwf   old,w
                btfsc   status,z
                return
;
                bcf     status,c
                rlf     old,f
                movf    new,w
                xorwf   old,f
                btfsc   old,1
                goto    felszam
;
                decf    pos_l,f
                movf    pos_l,w
                xorlw   0ffh
                btfss   status,z
                goto    endgomb
                decf    pos_m,f
                movf    pos_m,w
                xorlw   0ffh
                btfss   status,z
                goto    endgomb
                movf    pos_l,w
                xorlw   0ffh
                btfsc   status,z
                decf    pos_h,f
endgomb:
                movf    new,w
                movwf   old
                return
felszam:
                incfsz  pos_l,f
                goto    endgomb
                incfsz  pos_m,f
                goto    endgomb
                incf    pos_h,f
                goto    endgomb

-- 
Best regards,
 Pintér                            mailto:skandi at t-email.hu




More information about the Elektro mailing list