📄 pic12ce519
字号:
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 + -