GOTO STEPOK ; 5-6
BSF LED ; 6
STEPOK MOV LW 11111100b ; FF-03 7
MOV F HI,1 ; 8
BTFSC STATUS,ZERO ; 0? 9
GOTO LOWBIT ; low half of bit 10-11
ADDWF HI,0 ; BIT im Carry 11
DECFSZ PRE,1 ; Pre=0? 12
GOTO PRETEST ; 13-14
BTFSC STATUS,CARRY ; waiting for 0 14
GOTO BYTE ; Preample ok! 15-16
INCF PRE,1 ; 16
NOP ; 17
GOTO INTEST ; next Bit 18-19
PRETEST DECFSZ HI,0 ; HI=1? 15
BTFSC STATUS,CARRY ; 16
GOTO START19 ; no Preample! 17-18
GOTO INTEST ; 18-19
LOWBIT NOP ; 12
GOTO $+1 ; 13-14
BTFSC BITHI ; 15
INCF HI ; 16
BCF BITHI ; 17
INCFSZ LO,1 ; 18
GOTO INTST ; 19-20
GOTO BEGIN ; >10000uS 20-21
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IN BTFSS DCCIN ; ########### input ########## 1 (25)
RETLW 0 ; 2.-3.
INCF HI ; 3.
CLRF LO ; 4.
BSF STEPOK? ; 5.
CALL STEP ; 6.-7.
BTFSS DCCIN ; ########### input ########## 1 (25)
RETLW 0 ; FF-03 2-3
INCF HI ; 3
NOP ; ----------------------------- 4
MOV F IST,0 ; for brown out 5
XORWF SOLL,0 ; to start with 6
MOV WF XOR ; same speed 7
COMF XOR,1 ; ----------------------------- 8
BTFSC FS126 ; 9
GOTO FS126OV ; 10-11
;.....................SPEEDTAB..........................................
CALL SPDTAB ; 11-12
MOV WF SOLL ; 17
BCF STATUS,CARRY ; 18
BTFSC FLAGS2 ; 19
RRF SOLL,1 ; 20
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FS126BK BCF STEPOK? ; 21
INCFSZ HI,0 ; 22
GOTO IN ; 23-24
GOTO BEGIN ; >10000uS 24
FS126OV NOP ; 12
GOTO $+1 ; 13-14
GOTO $+1 ; 15-16
GOTO $+1 ; 17-18
GOTO FS126BK ; 19-20
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;.....................................................................
STEP INCFSZ tmr0,0 ; ISO 25
GOTO INC ; 26-27
MOV F 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
MOV F ACC,0 ; 34
GOTO ACCNEXT ; 35-36
DECNEXT DECF IST,1 ; 34
MOV F DEC,0 ; 35
BSF BRAKE ; 36
ACCNEXT MOV WF tmr0 ; 37
NOP ; 38
NOP ; 39
RETLW 0 ; 40-41
INC DECFSZ PWM,1 ; 28
GOTO MOTOR ; 29-30
BSF MOTOR1 ; 30
BSF MOTOR2 ; HiZ 31
MOV F IST,0 ; 32
NOP ; 33
NOP ; 34
NOP ; 35
NOP ; 36
NOP ; 37
NOP ; 38
NOP ; 39
RETLW 0 ; 40-41
MOTOR MOV F PWM,0 ; 31
SUBWF IST,0 ; 32
BTFSC DIR ; BTFSC Vorward <-> Reverse 33
GOTO REWIND ; 34-35
NOP ; 35
BTFSC STATUS,CARRY ; 36
BCF MOTOR1 ; IST >= PWM 37
BTFSS STATUS,CARRY ; 38
BSF MOTOR1 ; IST < PWM 39
RETLW 0 ; 40-41
REWIND BTFSC STATUS,CARRY ; 36
BCF MOTOR2 ; IST >= PWM 37
BTFSS STATUS,CARRY ; 38
BSF MOTOR2 ; IST < PWM 39
RETLW 0 ; 40-41
EQUAL BCF BRAKE ; 32
MOV F SOLL,0 ; 33
BTFSC FLACKER ; 34
DECFSZ TFLKOFF,1 ; 35
GOTO EQUEX ; 36-37
MOV WF TFLKOFF ; 37
BTFSC LITOPEN ; 38
BCF FLACKER ; 39
BCF LED ; 40
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
本文关键字:单片机 程序 玩具 PIC单片机,单片机-工控设备 - PIC单片机