📄 txsend.asm
字号:
BCF TRISB,1
BCF STATUS,RP0
BCF PORTB,1
Label_009B MOVF 0x68,0
SUBWF 0x45,0
MOVWF 0x4B
BTFSC STATUS,C
GOTO Label_009C
ADDLW 0X05;;;;;;;;;;;;;;;;0x06
BTFSS STATUS,C
GOTO Label_0095
GOTO Label_009D
Label_009C MOVF 0x2F,0
SUBWF 0x30,0
BTFSS STATUS,C
GOTO Label_009E
SUBLW 0x04
BTFSS STATUS,C
GOTO Label_0098;;;;;Label_0095
MOVF 0x2F,0
MOVWF 0x30
GOTO Label_009F
Label_009E MOVF 0x4B,0
SUBLW 0x06
BTFSS STATUS,C
GOTO Label_00A0
INCF 0x4C,1
MOVLW 0X60 ;;;;;;;;;;;;;;;;;;;;;0x02
SUBWF 0x4C,0
BTFSS STATUS,C
GOTO Label_009F
Label_00A0 CLRF 0x4C
INCF 0x30,1
GOTO Label_009F
Label_0098 MOVLW 0x04
GOTO Label_00A1
Label_0095 MOVLW 0X03;;;;;;;;;;;;;;;;0x04
GOTO Label_00A1
;MOVLW 0x02
;GOTO Label_00A1
Label_009D MOVLW 0x01
GOTO Label_00A1
Label_00A1 SUBWF 0x30,1
BTFSC STATUS,C
GOTO Label_009F
Label_0096 CLRF 0x30
GOTO Label_009F
MOVF 0x30,1
BTFSC STATUS,Z
GOTO Label_009F
DECF 0x30,1
Label_009F MOVF 0x48,0
SUBWF 0x68,0
BTFSC STATUS,C
GOTO Label_00A2
BSF STATUS,RP0
BSF TRISB,1
BCF STATUS,RP0
Label_00A2 BSF STATUS,RP0
MOVLW 0x3F
MOVWF PR2
BCF STATUS,RP0
MOVF 0x30,0
MOVWF 0x31
COMF 0x31,0
BTFSC STATUS,Z
GOTO Label_00A3;;;;;;;;;;(30H)=FFH; PWM=1
RRF 0x31,0;;;;;;;;;;;FF-(30H)+/2=(3EH)
MOVWF 0x3E
RRF 0x3E,0;;;;;;;;(30H)/4
ANDLW 0x3F
MOVWF CCPR1L
SWAPF 0x31,0
ANDLW 0x30
ADDLW 0x0F
MOVWF CCP1CON
GOTO Label_0078
Label_00A3 CLRF CCP1CON
BSF PORTC,2
GOTO Label_0078
Label_008E MOVF 0x30,0
MOVWF 0x31
COMF 0x31,0
BTFSC STATUS,Z
GOTO Label_00A3
RRF 0x31,0
ANDLW 0x7F
MOVWF CCPR1L
MOVLW 0x0F
MOVWF CCP1CON
; GOTO Label_0078
Label_0078 BTFSC INTCON,INTF
CALL Label_0083
MOVLW 0xC2
SUBWF TMR0,0
BTFSC STATUS,C
GOTO Label_00A4
BTFSS 0x39,0
GOTO Label_00A4
CALL Label_0081
MOVF 0x40,0
SUBWF 0x35,0
BTFSC STATUS,Z
GOTO Label_0078
GOTO Label_0082
Label_00A4 CLRF 0x3A
MOVF 0x57,0
ANDLW 0x7F
BTFSC STATUS,Z
GOTO Label_00A5;;;;;;;57H=80H GOTO
ANDLW 0x3F
BTFSC STATUS,Z
GOTO Label_00A6
ANDLW 0x0F
BTFSC STATUS,Z
GOTO Label_00A7
GOTO Label_00A8
Label_00A6 MOVLW 0x98
MOVWF ADCON0;;;;;;;;;;;;;RA3车把,标志位3A,BIT 0=1
BSF 0x3A,0
GOTO Label_00A9
Label_00A5 MOVLW 0xA0
MOVWF ADCON0;;;;;;;;;;;;;;;;RA5,刹车标志位3A,BIT 1=1
BSF 0x3A,1
GOTO Label_00A9
Label_00A7 MOVLW 0x88;;;;;;;;;;;;;;;;;;RA1,电池电压标志位3A,BIT 2=1
MOVWF ADCON0
BSF 0x3A,2
GOTO Label_00A9
Label_00A8 MOVLW 0x80;;;;;;;;;;;RA0,电流检测标志位3A,BIT 3=1
MOVWF ADCON0
BSF 0x3A,3
GOTO Label_00A9
Label_00B5 BSF 0x39,5
CALL Label_0067
CLRF 0x30
CALL Label_0075
BCF INTCON,INTF
GOTO Label_00AA
Label_00A9 BSF ADCON0,ADON
Label_00AA BCF INTCON,T0IF
SWAPF 0x21,0
MOVWF STATUS
SWAPF 0x20,1
SWAPF 0x20,0
RETFIE
Label_0002 MOVWF 0x20
SWAPF STATUS,0
BCF STATUS,RP0
MOVWF 0x21
BTFSC INTCON,INTF
GOTO Label_007B
BTFSC INTCON,T0IF
GOTO Label_00AB
MOVLW 0xB0
ANDWF INTCON,1
BSF INTCON,T0IE
CLRF 0x0C
GOTO Label_0078
Label_007B CALL Label_0083
GOTO Label_00AA
Label_0083 MOVF PORTB,0
ANDLW 0x03
MOVWF PORTB
BSF STATUS,RP0
BSF TRISB,1
BCF STATUS,RP0
BSF 0x38,6
MOVLW 0x0F
MOVWF CCP1CON
CLRF CCPR1L
BCF PORTC,2
BSF STATUS,RP0
BSF TRISB,1
BCF STATUS,RP0
CLRF 0x30
CLRF 0x31
BSF 0x38,5
BCF 0x38,4
BCF INTCON,INTF
BCF INTCON,T0IF
RETURN
Label_00B7 MOVF PORTB,W
ANDLW 0x03
MOVWF PORTB
BSF STATUS,RP0
BSF TRISB,01
BCF STATUS,RP0
BSF 0x38,6
GOTO Label_0078
;-----------T0定时中断-----------------
;---------------------------------------
Label_00AB BCF INTCON,T0IF
CLRWDT
; CALL DDT
;-----------------------------------
; MOVLW 0x02;0X1E
; SUBWF 0X79,0
; BTFSS STATUS,C
; GOTO CLRDS
; BSF 0X39,1
; MOVLW 0X03
; MOVWF 0X79
; GOTO ZCZJ
;CLRDS BCF 0X39,1
;----------
;ZCZJ BTFSC 0x39,1
; GOTO QTZT
; BTFSS 0x36,0 ;转把不为0
; GOTO DLD1
; BTFSC 0x38,7 ;没有刹车
; GOTO DLD1
; GOTO QTZT
;--------------
;DLD1 BSF PORTC,1;CLRF 0X79
; GOTO NEXT
;QTZT BCF PORTC,1
NEXT INCF 0x57,1
BTFSC STATUS,Z
BSF 0x36,4
INCF 0x61,1
BTFSS STATUS,Z
GOTO Label_00AC
;--------转速判别--
; INCF 0X79,1
;------------------
INCF 0x63,1
MOVLW 0xFF
MOVWF 0x62
Label_00AC BTFSC INTCON,INTF
GOTO Label_007B
Label_00AD MOVLW 0x16
SUBWF TMR0,0
BTFSS STATUS,C
GOTO Label_00AD
BSF ADCON0,2
MOVF 0x60,0
SUBLW 0x01
BTFSS STATUS,C
GOTO Label_00AE
MOVF 0x62,0
SUBLW 0x80
BTFSC STATUS,C
GOTO Label_00AE
MOVF 0x2F,0
SUBLW 0xA0
BTFSC STATUS,C
GOTO Label_0082
MOVLW 0x80
MOVWF 0x2F
GOTO Label_0082
Label_00AE MOVF 0x2F,0
SUBLW 0xF0
BTFSC STATUS,C
GOTO Label_0082
MOVF 0x62,0
SUBLW 0x40
BTFSC STATUS,C
GOTO Label_0082
MOVLW 0xE0
MOVWF 0x2F
Label_0082 INCF 0x5B,1
BTFSC STATUS,Z
DECF 0x5B,1
BCF STATUS,C
RRF 0x69,0
MOVWF 0x3D
BCF STATUS,C
RRF 0x3D,0
ADDWF 0x5B,0
BTFSC STATUS,C
GOTO Label_00AF
SUBLW 0x03
BTFSC STATUS,C
GOTO Label_00B0
;---------------确认霍耳变化-----------------
Label_00AF BSF 0x39,0
CALL Label_0081
MOVF 0x40,0
SUBWF 0x35,0
BTFSC STATUS,Z
GOTO Label_00B0
MOVF 0x40,0
MOVWF 0x41
CALL Label_0081
MOVF 0x40,0
SUBWF 0x41,0
BTFSC STATUS,Z
GOTO Label_00B1
MOVF 0x40,0
SUBWF 0x35,0
BTFSC STATUS,Z
GOTO Label_00B0
MOVF 0x40,0
MOVWF 0x41
CALL Label_0081
MOVF 0x40,0
SUBWF 0x41,0
BTFSC STATUS,Z
GOTO Label_00B1
GOTO Label_00B0
;------------读霍耳状态-40h----------------------
Label_0081 MOVLW 0x04
MOVWF 0x3E
Label_00B2 BTFSC INTCON,INTF
CALL Label_0083
DECF 0x3E,1
BTFSC STATUS,Z
RETURN
MOVF PORTC,0
ANDLW 0x70
MOVWF 0x3F
SUBWF 0x40,0
BTFSC STATUS,Z
GOTO Label_00B2
MOVF 0x3F,0
MOVWF 0x40
GOTO Label_0081
Label_006C MOVLW 0x04
MOVWF 0x42
Label_00B3 DECF 0x42,1
BTFSC STATUS,Z
RETURN
MOVF PORTC,0
ANDLW 0x70
MOVWF 0x43
SUBWF 0x44,0
BTFSC STATUS,Z
GOTO Label_00B3
MOVF 0x43,0
MOVWF 0x44
GOTO Label_006C
Label_00B8 BTFSC 0x37,7
GOTO Label_00B4
MOVF 0x35,0
BTFSC STATUS,Z
GOTO Label_00B5
XORLW 0x70
BTFSC STATUS,Z
GOTO Label_00B5
CALL Label_0022
INCF 0x4D,1
GOTO Label_00B6
Label_00B4 MOVF 0x35,0
XORLW 0x20
BTFSC STATUS,Z
GOTO Label_00B5
MOVF 0x35,0
XORLW 0x50
BTFSC STATUS,Z
GOTO Label_00B5
CALL Label_0022
INCF 0x4D,1
GOTO Label_00B6
;------------确认已经换相-----------------
Label_00B1 INCF 0X70,1
MOVLW 0X02
SUBWF 0X70,0
BTFSS STATUS,0
GOTO JJ_2
CLRF 0X70
CLRF 0X79
;------------
JJ_2 BCF 0x39,0
BTFSC 0x38,2
GOTO Label_00B7
MOVF 0x41,0
MOVWF 0x35
SUBWF 0x34,0
BTFSS STATUS,Z
GOTO Label_00B8
Label_007A BTFSC 0x39,3
GOTO Label_00B9
MOVF 0x31,1
BTFSS STATUS,Z
GOTO Label_00BA
BTFSC 0x39,2
GOTO Label_00BA
Label_00B9 BSF STATUS,RP0
BSF TRISB,1
BCF STATUS,RP0
MOVF PORTB,0
ANDLW 0x03
MOVWF PORTB
BSF 0x38,6
GOTO Label_00BB
Label_00BA CLRF 0x5B
BCF 0x38,6
MOVF PORTB,0
ANDLW 0x03
IORWF 0x32,0
MOVWF PORTB
COMF 0x31,0
BTFSC STATUS,Z
GOTO Label_00BB
CLRF 0x69
MOVF 0x30,0
SUBLW 0x28
BTFSC STATUS,C
GOTO Label_00BB
MOVF 0x48,0
SUBWF 0x68,0
BTFSS STATUS,C
GOTO Label_00BB
SUBLW 0x04
BTFSC STATUS,C
GOTO Label_00BB
MOVF CCP1CON,0
ANDLW 0xF0
MOVWF CCP1CON
BSF PORTC,2
MOVLW 0x80
MOVWF ADCON0
BSF ADCON0,ADON
BSF 0x3A,3
MOVF 0x45,0
SUBWF 0x68,0
BTFSS STATUS,C
GOTO Label_00BC
MOVF 0x45,0
MOVWF 0x68
Label_00BC MOVF 0x48,0
SUBWF 0x68,0
MOVWF 0x3E
SWAPF 0x3E,0
ANDLW 0x07
ADDWF 0x68,1
Label_00C1 CALL Label_00BD
MOVF 0x69,0
SUBLW 0x10
BTFSC STATUS,C
GOTO Label_00BE
MOVF 0x5B,0
SUBLW 0x02
BTFSC STATUS,C
GOTO Label_00BF
MOVF 0x69,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -