ILOOP INCFSZ BT6,1 ; 765uS ON 1
GOTO ILOOP ; 2-3
DECFSZ BT5,1 ;
GOTO OLOOP ;
CLRF GPIO ;
BCF ACKBIT ;
BCF FSR,5 ;
BCF STATUS,SEITE ; to ROM page 0
GOTO LOADREG ;
RDROMCV XORWF INDF,0 ;
GOTO VERIBK ;
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;....................................................................
PROGREG MOV F BT1,0 ; CV5=CV29
XORLW 01111101b ; reg6
ANDLW 11110111b
BTFSC STATUS,ZERO ;
GOTO REG6 ;
XORLW (01111101b)^(01111100b) ; reg5
BTFSC STATUS,ZERO ;
GOTO REG5 ;
MOV F BT1,0 ;
ANDLW 00000111b ; lower 3bit
ADDWF MAPCV,0 ;
CALL FINDCV ;
BTFSC NOCV ;
GOTO HOPP ;
PREG BTFSS BT1,3 ;
GOTO EEVERI ;
GOTO EEPROG ;
REG6 DECF BT2,1 ;
BCF STATUS,CARRY ;
RLF BT2,1 ;
RLF BT2,1 ;
REG5 MOV F BT1,0 ;
ANDLW 00000111b ; lower 3bit
GOTO PREG ;
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;....................................................................
FTION1 BTFSS INDF,4 ; 101>1<FFFF
GOTO FTION2 ; 1010xxxx
SWAPF INDF,0 ;
ANDLW 11110000b ;
BCF FSR,5 ;
IORWF F1F8SET,1 ; xxxx00X0
XORLW 0x0F ;
GOTO FT2 ;
;--------------------------------
FTION CALL LIGHT ;
BTFSC INDF,4 ; 100>L<FFFF 28 speed step
BSF FS28 ; automatic detection
FT1 MOV F INDF,0 ;
ANDLW 00001111b ; 1111xxXx
BCF FSR,5 ;
IORWF F1F8SET,1 ; xxxx00X0
XORLW 0xF0 ;
FT2 ANDWF F1F8SET,0 ;
MOV WF F1F8SET ;
MOV WF BT6 ; save for switch to 2nd page
BSF FSR,5 ;
;--------------------------------
ANDWF CV49,0 ; F1F8->GP3
BTFSC STATUS,ZERO ;
GOTO FOFF ;
FON BTFSC FLACKON ;
BSF FLACKER ;
BSF LED ;
GOTO FT50 ;
FOFF BTFSC LITAUTO ;
GOTO FT50 ;
BTFSC FLACKON ;
BCF FLACKER ;
BCF LED ;
;--------------------------------
FT50 MOV F BT6,0 ;
ANDWF CV50,0 ;
BTFSC STATUS,ZERO ;
GOTO NXFT50A ;
BSF REDLT ;
BTFSC RDLTON ;
GOTO FT51 ;
BTFSC RANGIER ; low activ
GOTO NXFT50 ;
BSF LIGHT2 ;
NXFT50 BSF LIGHT1 ;
GOTO FT51 ;
NXFT50A BTFSC RANGIER ; low activ
BCF LIGHT1 ;
BCF REDLT ;
;--------------------------------
FT51 MOV F BT6,0 ;
ANDWF CV51,0 ;
BTFSC STATUS,ZERO ;
GOTO NXFT51 ;
BTFSC SPEED2 ; low activ
BSF LIGHT2 ;
BTFSS SPEED2 ; low activ
BSF FLAGS2 ;
GOTO HOPP ;
NXFT51 BTFSC SPEED2 ; low activ
BCF LIGHT2 ;
BCF FLAGS2 ;
GOTO HOPP
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;.....................................................................
FORWARD BTFSC CV29,0 ; CV29,0 (DIR) invert? 32
GOTO REV ; 33-34
FOR BTFSC CV19,7 ; CV19,7 (DIR) invert?
GOTO REV1 ;
FOR1 BTFSS DIR ; 38
GOTO SPEED ; 39-40
FOREX BCF FSR,5
MOV F IST,0
BTFSC STATUS,ZERO
BCF DIR ;
CLRF SOLL
CLRF S31
GOTO HOPP
;--------------------------------
REVERSE BTFSC CV29,0 ; CV29,0 (DIR) invert?
GOTO FOR ;
REV BTFSC CV19,7 ; CV19,7 (DIR) invert? 35
GOTO FOR1 ; 36-37
REV1 BTFSC DIR ;
GOTO SPEED ;
REVEX BCF FSR,5
MOV F IST,0
BTFSC STATUS,ZERO
BSF DIR ;
CLRF SOLL
CLRF S31
GOTO HOPP
;--------------------------------------------------------------------
SPEED BCF FS126 ; 40
RLF INDF,0 ; 01DSSSSS 41
ANDLW 00011110b ; xxx4321x 42
MOV WF S31 ; 1D04321x 43
BTFSC INDF,4 ; 01D>S<SSSS 44
BSF S31,0 ; MOV pos.4 to pos.0 45
;........................ Arnold Digital ............................
BTFSS FS28 ; 14/28 Speed? 46
BCF S31,0 ; <- 14 Speed 47
BTFSS FS28 ; 14/28 Speed? 48
CALL LIGHT ; 49-50
;^^^^^^^^^^^^^^^^^^^^^^^^ Arnold Digital ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
HI2LOW MOV F S31,0 ;
BTFSC STATUS,ZERO ;
GOTO STOP ;
ANDLW 11111101b ;
BTFSC STATUS,ZERO ;
GOTO ESTOP ;
BTFSC STAB ;
GOTO HOPP ;
BCF STATUS,SEITE ;
GOTO CV2CV5 ;
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RESET MOV LW INOUT ; GP3 input, rest output
TRIS GPIO ; set port GPIO
CLRF GPIO ;
ESTOP BCF MOTOR1 ; break
BCF MOTOR2 ;
BCF FSR,5 ;
CLRF PWM ;
INCF PWM,1 ;
CLRF IST ;
STOP CLRF SOLL ;
CLRF S31
GOTO HOPP ;
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
本文关键字:单片机 程序 玩具 PIC单片机,单片机-工控设备 - PIC单片机