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

📄 pic12ce519

📁 使用PIC12CE519控制步进电机
💻
📖 第 1 页 / 共 5 页
字号:
        BTFSC        STATUS,ZERO        ;                                33
        GOTO        OVER                ;                                34-35
        MOVF        CV19,0                ;                                35
        ANDLW        01111111b        ;                                36
        BCF        CONSIST                ;                                37
        BTFSS        STATUS,ZERO        ;                                38
        BSF        CONSIST                ;                                39
        XORWF        BT1,0                ; consist?                        40
BCBCK        BTFSS        STATUS,ZERO        ;                                41
        GOTO        CHKPROG                ;                                42-43
        MOVLW        0x2B                ; BT2 + FSR,5                        43
        MOVWF        FSR                ; to 2. byte                        44
;--------------------------------
DECOD        SWAPF        INDF,0                ;                                45
        MOVWF        BT6                ;                                46
        RRF        BT6,0                ;                                47
        ANDLW        00000111b        ;                                48
        ADDWF        PC                ;                                49
        GOTO        DECCON                ; 000                                50-51
        GOTO        ADVAN                ; 001
        GOTO        FORWARD                ; 010
        GOTO        REVERSE                ; 011
        GOTO        FTION                ; 100
        GOTO        FTION1                ; 101
        GOTO        TELNEW                ; 110
        GOTO        PROGREG                ; 111
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

BITMAN        MOVWF        FSR                ;
        MOVLW        00000111b        ;
        ANDWF        BT3,0                ;
        CALL        BITPOS                ;
        BTFSS        BT3,4                ;
        GOTO        VBIT                ; verify bit
        BTFSC        BT3,3                ;
        IORWF        INDF,1                ; set bit
        XORLW        0XFF                ;
        BTFSS        BT3,3                ;
        ANDWF        INDF,1                ; clear bit
        MOVF        FSR,0                ; EEADDR
        GOTO        EEPROG                ; write complete byte
;--------------------------------
VBIT        ANDWF        INDF,0                ;
        BTFSC        STATUS,ZERO        ;
        GOTO        BITCLR                ;
;        NOP                        ;
BITSET        BTFSC        BT3,3                ;
        GOTO        ACKNOW                ; =1
        GOTO        HOPP                ;

BITCLR        BTFSS        BT3,3                ;
        GOTO        ACKNOW                ; =0
        GOTO        HOPP                ;
;--------------------------------
BITPOS        ADDWF        PC                ;
        RETLW        00000001b        ; 0
        RETLW        00000010b        ; 1
        RETLW        00000100b        ; 2
        RETLW        00001000b        ; 3
        RETLW        00010000b        ; 4
        RETLW        00100000b        ; 5
        RETLW        01000000b        ; 6
        RETLW        10000000b        ; 7
;--------------------------------

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

;.....................................................................
DECCON        BTFSC        INDF,5                ; 000>0<CCCD                        52
        GOTO        CONCON                ; 0001 consist control                53-54
        RRF        INDF,0                ; 0000CCC>D< moved to carry        54
        ANDLW        00000111b        ;                                55
        ADDWF        PC                ;                                56
        GOTO        RESET                ; 000 reset / hard reset        57-58
        GOTO        FTEST                ; 001 factory test instruction
        GOTO        HOPP                ; 010
        GOTO        ADVACK                ; 011 advance acknowl. CV29,3
        GOTO        HOPP                ; 100
        GOTO        ADVADR                ; 101 advance adressing CV29,5
        GOTO        HOPP                ; 110
        GOTO        ACKREQ                ; 111 acknowledge request
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

;.....................................................................
LIGHT        MOVF        CV50,1                ; FL/RL to F1-8
        BTFSS        STATUS,ZERO        ; mapped?
        RETLW        0                ; if CV50 <>0 then no light

        BTFSS        INDF,4                ;                                1
        GOTO        NOLIGHT                ;                                2-3
        BTFSC        DIR                ; direction invert?                3
        GOTO        BLIGHT                ;                                4-5
;        NOP                        ;                                5
FLIGHT        BTFSC        LIINV                ; light invert?        (PWRSRC)        6
        GOTO        BLI                ;                                7-8
FLI        BSF        GPIO,4                ;                                8
        BCF        GPIO,5                ;                                9
        RETLW        0                ;                                10-11

BLIGHT        BTFSC        LIINV                ; light invert?        (PWRSRC)        6
        GOTO        FLI                ;                                7-8
BLI        BCF        GPIO,4                ;                                8
        BSF        GPIO,5                ;                                9
        RETLW        0                ;                                10-11

NOLIGHT        BCF        GPIO,4                ;                                4
        BCF        GPIO,5                ;                                5
;        NOP                        ;                                6
;        NOP                        ;                                7
;        NOP                        ;                                8
;        NOP                        ;                                9
        RETLW        0                ;                                10-11
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

;....................................................................
FINDCV        BCF        NOCV                ;
        BCF        ROMCV                ;

        XORLW        (1-1)                ; CV1
        BTFSC        STATUS,ZERO        ;
        RETLW        CV1                ; Primary Adress

        XORLW        (1-1)^(2-1)        ; CV2
        BTFSC        STATUS,ZERO        ;
        RETLW        CV2                ; Vstart

        XORLW        (2-1)^(3-1)        ; CV3
        BTFSC        STATUS,ZERO        ;
        RETLW        CV3                ; Acceleration Rate

        XORLW        (3-1)^(4-1)        ; CV4
        BTFSC        STATUS,ZERO        ;
        RETLW        CV4                ; Deceleration Rate

        XORLW        (4-1)^(5-1)        ; CV5
        BTFSC        STATUS,ZERO        ;
        RETLW        CV5                ; Vhigh

        XORLW        (5-1)^(6-1)        ; CV6
        BTFSC        STATUS,ZERO        ;
        RETLW        CV6                ; Vmid

        XORLW        (6-1)^(17-1)        ; CV17
        BTFSC        STATUS,ZERO        ;
        RETLW        CV17                ; Extended Adress Low Byte

        XORLW        (17-1)^(18-1)        ; CV18
        BTFSC        STATUS,ZERO        ;
        RETLW        CV18                ; Extended Adress High Byte

        XORLW        (18-1)^(19-1)        ; CV19
        BTFSC        STATUS,ZERO        ;
        RETLW        CV19                ; Consist Adress

        XORLW        (19-1)^(29-1)        ; CV29
        BTFSC        STATUS,ZERO        ;
        RETLW        CV29                ; 0=DIR 1=14/28 2=PWSRC 3=ADVACK 4=SPEEDTAB 5=LADRE 6= 7=ACCDEC

        XORLW        (29-1)^(49-1)        ; CV49
        BTFSC        STATUS,ZERO        ;
        RETLW        CV49                ; Output F1-F8 to GP2

        XORLW        (49-1)^(50-1)        ; CV50
        BTFSC        STATUS,ZERO        ;
        RETLW        CV50                ; reserved to map FL/RL to F1-8

        XORLW        (50-1)^(51-1)        ; CV51
        BTFSC        STATUS,ZERO        ;
        RETLW        CV51                ; space

        BSF        ROMCV                ;
        XORLW        (51-1)^(7-1)        ; CV7
        BTFSC        STATUS,ZERO        ;
        RETLW        CV7                ; Version No

        XORLW        (7-1)^(8-1)        ; CV8
        BTFSC        STATUS,ZERO        ;
        RETLW        CV8                ; Manufacturer

        BCF        ROMCV                ;
        BSF        NOCV                ;
        RETLW        0xFF                ; no CV's to program
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

;....................................................................
PROG        MOVF        FSR,0                ;
        ANDLW        00001111b        ;
        XORLW        BT3                ;
        BTFSS        STATUS,ZERO        ;
        GOTO        PROGREG                ; 3 byte command

        MOVF        BT2,0                ;
        CALL        FINDCV                ;
        BTFSC        NOCV                ;
        GOTO        HOPP                ;

        BTFSC        ROMCV                ;
        BTFSS        BT1,3                ; write/verify bit
        GOTO        ROMNEXT                ;
        MOVWF        MAPCV                ;
        MOVLW        MAPCV                ;

ROMNEXT        BTFSS        BT1,2                ;
        GOTO        BITMAN                ; bit manipulation

        BTFSS        BT1,3                ; write/verify bit
        GOTO        EEVERI                ;
;--------------------------------
EEPROG        ANDLW        00001111b        ;
        MOVWF        EEADDR                ;
        CALL        READ_RANDOM        ;
        MOVF        INDF,0                ;
        XORWF        EEDATA,0        ;

        BTFSC        STATUS,ZERO        ;
        BCF        STATUS,SEITE        ; auf ROM seite 0
        BTFSC        STATUS,ZERO        ;
        GOTO        LOADREG                ;

        MOVF        INDF,0                ;
        MOVWF        EEDATA                ;

        BTFSC        PROGBIT                ;
        GOTO        EEIN                ;
        BSF        PROGBIT                ; 2x prog
        GOTO        PROGEX                ;

EEIN        CALL        WRITE_BYTE        ;
        BTFSC        STATUS,ZERO        ; ERROR?
        GOTO        EEIN                ;
        BCF        STATUS,SEITE        ; auf ROM seite 0
        GOTO        LOADREG                ;
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

⌨️ 快捷键说明

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