⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pic12ce519

📁 使用PIC12CE519控制步进电机
💻
📖 第 1 页 / 共 5 页
字号:
        RRF        MULT2,1                ;        3
        BTFSC        STATUS,CARRY        ;        4
        ADDWF        MULT1,0                ;        5
        DECFSZ        COUNT,1                ;        6
        GOTO        MULTI                ;        7-8
        MOVWF        MULT1                ;        9*8=72                76
;--------------------------------
        RRF        MULT1,1                ;                        77
        RRF        MULT2,1                ;/2                        78
        RRF        MULT1,1                ;                        79
        RRF        MULT2,1                ;/4                        80
        RRF        MULT1,1                ;                        81
        RRF        MULT2,1                ;/8                        82
        RRF        MULT1,1                ;                        83
        RRF        MULT2,1                ;/16                        84

        RETLW        0                ;        END MULTIP        85-86
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

;SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

START        CLRWDT                        ;                                12

        MOVLW        0xFF                ;                                13
        MOVWF        BT4                ;                                14
        MOVWF        BT5                ;                                15
        MOVWF        BT6                ;                                16

        MOVLW        0x09                ; Pointer for ind. Adressing        17
        MOVWF        FSR                ; (BT1 - 1)                        18

        MOVLW        11                ;                                19
        MOVWF        PRE                ; PRE to 10 Bit for Preample        20

;-------------
INTEST        BCF        STEPOK?                ;                                21
        NOP                        ;                                22
        CALL        IN                ;                                23-24
        BTFSC        STEPOK?                ;                                4.
        GOTO        STEPOK                ;                                5.-6
        CALL        STEP                ;                                6.-7.
        BTFSC        GPIO,3                ; ########### input ##########        1  (25)
        BSF        BITHI                ;                                2
        NOP                        ;                                3
        BTFSC        FLACKER                ;                                4
        BCF        LED                ;                                5
        NOP                        ;                                6
STEPOK        MOVLW        11111100b        ; FF-03                                7
        MOVF        HI,1                ;                                8
        BTFSC        STATUS,ZERO        ; 0?                                 9
        GOTO        LOWBIT                ; low half of bit                10-11
        ADDWF        HI,1                ; BIT im Carry                        11
        CLRF        HI                ;                                12
        DECFSZ        PRE,1                ; Pre=0?                        13
        GOTO        PRETEST                ;                                14-15
        BTFSC        STATUS,CARRY        ; waiting for 0                        15
        GOTO        BYTE                ; Preample ok!                        16-17
        INCF        PRE,1                ;                                17
        NOP                        ;                                18
        GOTO        INTEST                ; next Bit                        19-20

PRETEST        NOP                        ;                                16
        NOP                        ;                                17
        BTFSS        STATUS,CARRY        ;                                18
        GOTO        INTEST                ;                                19-20
        GOTO        START22                ; no Preample!                        20-21

LOWBIT        NOP                        ;                                12
        NOP                        ;                                13
        NOP                        ;                                14
        BTFSC        BITHI                ;                                15
        INCF        HI                ;                                16
        BCF        BITHI                ;                                17
        INCFSZ        LO,1                ;                                18
        GOTO        INTEST                ;                                19-20
        GOTO        BEGIN                ; >10000uS                        20-21

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IN        BTFSS        GPIO,3                ; ########### input ##########        1  (25)
        RETLW        0                ;                                 2.-3.
        INCF        HI                ;                                3.
        CLRF        LO                ;                                4.
        BSF        STEPOK?                ;                                5.
        CALL        STEP                ;                                6.-7.
        BTFSS        GPIO,3                ; ########### input ##########        1  (25)
        RETLW        0                ; FF-03                                2-3
        INCF        HI                ;                                3
        NOP                        ;                                 4
        BTFSC        FS126                ;                                5
        GOTO        FS126OV                ;                                6-7
;.....................SPEEDTAB..........................................
        CALL        SPDTAB                ;                                  7-8
        MOVWF        SOLL                ;<-                                13
        CALL        SPDTAB1                ;                                14-15
        MOVWF        SOLL1                ;                                20
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FS126BK        BCF        STEPOK?                ;                                21
        INCFSZ        HI,0                ;                                22
        GOTO        IN                ;                                23-24
        GOTO        BEGIN                ; >10000uS                        24

FS126OV        NOP                        ;                                8
        NOP                        ;                                9
        NOP                        ;                                10
        NOP                        ;                                11
        NOP                        ;                                12
        NOP                        ;                                13
        NOP                        ;                                14
        NOP                        ;                                15
        NOP                        ;                                16
        NOP                        ;                                17
        NOP                        ;                                18
        GOTO        FS126BK                ;                                19-20

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

;.....................................................................

STEP        INCFSZ        tmr0,0                ;                                25
        GOTO        MOTOR                ;                                26-27
        MOVF        SOLL,0                ;                                27
        SUBWF        IST,0                ;                                28
        BTFSC        STATUS,ZERO        ;                                29
        GOTO        EQUAL                ; Speed equal                        30-31
        BTFSC        STATUS,CARRY        ;                                31
        GOTO        DECNEXT                ;                                32-33
        INCF        IST,1                ;                                33
        MOVF        ACC,0                ;                                34
        GOTO        ACCNEXT                ;                                35-36
DECNEXT        DECF        IST,1                ;                                34
        MOVF        DEC,0                ;                                35
        BSF        BRAKE                ;                                36
ACCNEXT        MOVWF        tmr0                ;                                37
        MOVLW        00001000b        ; stepper on                        38
        TRIS        GPIO                ;                                39
        RETLW        0                ;                                40-41

MOTOR        BTFSS        STEPIN                ;                                28
        GOTO        INC                ;                                29-30
        BCF        STEPIN                ;                                30
        CLRW                        ; <--  ab hier wird der         31
        BTFSC        DIR                ;      Stepper angesteuert        32
        IORLW        00001000b        ; W,3                                33
        BTFSC        GPIO,0                ;                                34
        IORLW        00000010b        ; W,1                                35
        BTFSC        GPIO,1                ;                                36
        IORLW        00000100b        ; W,2                                37
        ADDWF        PC                ; DIR GP1 GP0                        38
        BSF        GPIO,0                ;  0   0   0                        39
        RETLW        0                ;                                40-41
        BSF        GPIO,1                ;  0   0   1
        RETLW        0                ;
        BCF        GPIO,1                ;  0   1   0
        RETLW        0                ;
        BCF        GPIO,0                ;  0   1   1
        RETLW        0                ;
        BSF        GPIO,1                ;  1   0   0
        RETLW        0                ;
        BCF        GPIO,0                ;  1   0   1
        RETLW        0                ;
        BSF        GPIO,0                ;  1   1   0
        RETLW        0                ;
        BCF        GPIO,1                ;  1   1   1
        RETLW        0                ; *********** Ende Stepper *******

EQUAL        BCF        BRAKE                ;                                32
        NOP                        ;                                 33
        NOP                        ;                                 34
        MOVF        SOLL,0                ;                                 35
        BTFSS        STATUS,ZERO        ;                                 36
        GOTO        EQALEX                ;                                 37-38
        MOVLW        00001011b        ; STEPPER off                        38
        TRIS        GPIO                ;                                39
        RETLW        0                ;                                40-41

INC        INCFSZ        PWM,1                ;                                31
        GOTO        INCEX                ;                                32-33
        DECF        IST,0                ;                                33
        MOVWF        PWM                ;                                34
        DECFSZ        PWM1,1                ;                                35
        GOTO        INCEX1                ;                                36-37
        MOVF        SOLL1,0                ;                                37
        MOVWF        PWM1                ;                                38
        BSF        STEPIN                ;                                39
        RETLW        0                ;                                40-41

INCEX        MOVF        IST,0                ; -----------------------------        34
        XORWF        SOLL,0                ; for brown out to start         35
        MOVWF        XOR                ; with        same speed                36
        COMF        XOR,1                ; -----------------------------        37
INCEX1        NOP                        ;                                38
EQALEX        NOP                        ;                                39
        RETLW        0                ;                                40-41

;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

LOWBIT1        MOVLW        0x10                ; -----------------------------        12
        SUBWF        FSR,0                ;                                13
        ANDLW        00000111b        ; more than 6 BYTE read                14
        BTFSC        STATUS,ZERO        ; begin new!                        15
        GOTO        START18                ; -----------------------------        16-17
        BTFSC        BITHI                ;                                17
        INCF        HI                ;                                18
        GOTO        INTEST1                ;                                19-20

BYTE        MOVLW        9                ; PRE to 8 Bit for 1.Byte        18
        MOVWF        PRE                ;                                19
        INCF        FSR,1                ; Pointer for ind. Adressing        20

INTEST1        BCF        STEPOK?                ;                                21
        BCF        BITHI                ;                                22
        CALL        IN                ;                                23-24
        BTFSC        STEPOK?                ;                                4.
        GOTO        STEPOK1                ;                                5.-6
        CALL        STEP                ;                                6.-7.
        BTFSC        GPIO,3                ; ########### input ##########        1  (25)
        BSF        BITHI                ;                                2
        NOP                        ;                                3
        NOP                        ;                                4
        NOP                        ;                                5
        NOP                        ;                                6
STEPOK1        MOVLW        11111100b        ; FF-03                                7
        MOVF        HI,1                ;                                8
        BTFSC        STATUS,ZERO        ; 0?                                 9
        GOTO        LOWBIT1                ; low half of bit                10-11
        ADDWF        HI,1                ; BIT im Carry                        11
        CLRF        HI                ;                                12
        DECFSZ        PRE,1                ; Pre=0?                        13
        GOTO        NEXT                ;                                14-15
        BTFSC        STATUS,CARRY        ;                                15
        GOTO        BYTE                ; 9.Bit=0                        16-17
;------------- Letztes BIT=1 -------------
        MOVF        BT1,0                ;                                17
        XORWF        BT2,0                ;                                18
        XORWF        BT3,0                ;                                19
        XORWF        BT4,0                ;                                20
        XORWF        BT5,0                ;                                21
        XORWF        BT6,0                ;                                22
        BTFSS        STATUS,ZERO        ; all Bytes ok?                        23
        GOTO        START2.                ;                                24-1.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -