📄 txsend.asm
字号:
LIST P=16F72
INCLUDE P16F72.inc
__config( _HS_OSC & _WDT_ON & _PWRTEN_ON &_CP_ALL)
ORG 0x0000
GOTO Label_0001
ORG 0x0004
GOTO Label_0002
ORG 0X0006
TAB ADDWF PCL,1 ;120
RETLW 0x03
RETLW 0X80
RETLW 0X20
RETLW 0X20
RETLW 0X40
RETLW 0X80
RETLW 0X40
RETLW 0x03
RETURN
ORG 0X0010
TABBS ADDWF PCL,1 ;120
RETLW 0x03
RETLW 0X70
RETLW 0XC4
RETLW 0XC4
RETLW 0XA8
RETLW 0X70
RETLW 0XA8
RETLW 0x03
RETURN
ORG 0X001A
Label_001C ADDWF PCL,1
RETLW 0x08
RETLW 0x08
RETLW 0x0C
RETLW 0x10
RETLW 0x14
RETLW 0x18
RETLW 0x1C
RETLW 0x20
RETLW 0x24
RETLW 0x28
RETLW 0x2C
RETLW 0x30
RETLW 0x34
RETLW 0x38
RETLW 0x3C
RETLW 0x40
RETLW 0x45
RETLW 0x4C
RETLW 0x53
RETLW 0x5A
RETLW 0x60
RETLW 0x68
RETLW 0x70
RETLW 0x78
RETLW 0x80
RETLW 0x88
RETLW 0x90
RETLW 0x98
RETLW 0xA0
RETLW 0xA8
RETLW 0xB0
RETLW 0xB8
RETLW 0xC0
RETLW 0xC4
RETLW 0xC7
RETLW 0xCD
RETLW 0xD0
RETLW 0xD4
RETLW 0xD8
RETLW 0xDC
RETLW 0xE0
RETLW 0XE4
RETLW 0xE8
RETLW 0xEC
RETLW 0xF0
RETLW 0xF5
RETLW 0xFA
RETLW 0xFD
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
RETURN
ORG 0X0052;;;;;;0x0049
Label_0001 CALL Label_0003
CALL Label_0005
CALL MMQRS
CLRWDT
CALL Label_0004;延时
FF2 CLRWDT
CALL Label_0005;关闭上下桥
CALL Label_0006;;;;;AD测量多次求平均后与具体参数比较设标志位
CALL Label_0007;;;;;;;;(AN2)AD结果与给定数比较
CALL Label_0008;;;;;;;;换相处理
CALL Label_0009;;;;;;;;电池电压采样,结果在66H
CLRWDT
CALL Label_000A;;;;;;;;刹车电压采样,结果在65H
MOVLW 0x88;;;;;;;;;;;FOSC/32 AN1
MOVWF ADCON0
BSF ADCON0,ADON
BSF INTCON ,GIE
Label_000D ;---------------------
CLRWDT
BTFSC PORTC,0
GOTO JXZCX
CALL JCBJ
BTFSC 0X3A,4
GOTO BS
;---------------------
JXZCX
CALL Label_000B
CALL Label_000C
BTFSS 0x36,4
GOTO Label_000D
CALL Label_000E
CALL Label_000F
CLRF PCLATH
CALL Label_0010;;;;;电池电压〉45V?
LAB_WW CALL Label_0011
GOTO Label_000D
;-------------抱死电机----------------
BS BCF INTCON,GIE
CLRF CCP1CON
BCF PORTC,2
MOVLW 0X03
MOVWF PORTB
;------------------
BSF STATUS , RP0
MOVLW 0xFF
MOVWF ADCON1
MOVWF TRISA
BCF STATUS , RP0
;------------------
CALL EABS
BSBS MOVF PORTC,0
ANDLW 0X70
MOVWF 0X43
MZD CLRWDT
CALL JCBJ
BTFSS 0X3A,4
GOTO Label_0001
MOVF PORTC,0
ANDLW 0X70
MOVWF 0X44
MOVF 0X43,0
SUBWF 0X44,0
BTFSC STATUS,Z
GOTO MZD
;-----------------------------------
MOVF 0X44,0
MOVWF 0X43
SWAPF 0X43,1
;-----------------------------------
MOVLW 0X03
MOVWF PORTB
CLRF CCP1CON
MOVLW 0XA0;;;;;;;; 0X30
MOVWF 0X23
DCXH MOVLW 0XFF
MOVWF 0X24
BSS BSF PORTC,2
CLRWDT
MOVF 0X43,0 ;;;;; MOVLW 0XA8
CALL TABBS ;;;;;;
MOVWF PORTB
MOVLW 0X0D;;;;;;;;;;;0X12
MOVWF 0X6F
BSJS2 DECFSZ 0X6F,1
GOTO BSJS2
BCF PORTC,2
NOP
NOP
NOP
NOP
; NOP
CLRWDT
MOVLW 0XE0
MOVWF PORTB
MOVLW 0X30
MOVWF 0X6F
BSJS3 DECFSZ 0X6F,1
GOTO BSJS3
CLRWDT
DECFSZ 0X24,1
GOTO BSS
DECFSZ 0X23,1
GOTO DCXH;
GOTO BSBS
;-------------------------------------
;;;;;;;;;;;;;测量转把放入52H
Label_000F BTFSC 0x39,4
GOTO Label_0013;;;;欠压
; NOP; BCF PORTC,7
BTFSC 0x38,0
GOTO Label_0013;;;;;;;过流
BTFSC 0x39,2
GOTO Label_0014
MOVF 0x67,0
MOVWF 0x23
MOVLW 0x14;;;;;;;0x20
SUBWF 0x23,0
BTFSS STATUS,C
GOTO Label_0014
BTFSS 0x37,6
GOTO Label_0015
MOVF 0x23,0
SUBLW 0xD8
BTFSS STATUS,C
GOTO Label_0014 ;>4.2v
MOVWF 0x23
Label_0015 BTFSC 0x38,4
RETURN ;如果为巡航,返回
MOVLW 0xA0;;;;;;;0x9E
SUBWF 0x23,0
BTFSC STATUS,C
GOTO Label_0016
BTFSS 0x37,1
GOTO Label_0017
MOVLW 0x23 ;电角度在0.2—0.6v时
SUBWF 0x23,1
BTFSS STATUS,C
GOTO Label_0018
BCF STATUS,C
RLF 0x23,0
MOVWF 0x23
SUBWF 0x52,0
BTFSS STATUS,C
GOTO Label_0019
SUBLW 0x04
BTFSC STATUS,C
GOTO Label_001A
Label_0019 MOVF 0x23,0
MOVWF 0x52
GOTO Label_001A
Label_0017 MOVLW 0X3F;;;;;;;;0X3D;;;;;;;;;;0X35;;;;;;;;;;;;;0x3B
SUBWF 0x23,1
BTFSS STATUS,C
GOTO Label_0018
BCF STATUS,C
RRF 0x23,0
ADDLW 0x01
MOVWF 0x23
Label_001B BCF INTCON,GIE
BTFSC INTCON,GIE
GOTO Label_001B
MOVF 0x23,0
CALL Label_001C
MOVWF 0x52
BSF INTCON,GIE
Label_001A BTFSS 0x39,7
GOTO Label_001D
BCF 0x38,5
BTFSC 0x39,3
GOTO Label_001D
Label_001E BCF INTCON,GIE
BTFSC INTCON,GIE
GOTO Label_001E
CALL Label_0008
BSF INTCON,GIE
Label_001D BCF 0x39,7
;----------------DOUBLE POWER-----------------
BTFSC PORTC,7
GOTO SDL1
BCF STATUS,C
RRF 0X52,1
BCF STATUS,C
RRF 0X52,0
ADDWF 0X52,1
;---------------------------------------------
SDL1 MOVF 0x52,0
MOVWF 0x2F
BSF 0x36,0
BTFSC 0x39,5
GOTO Label_001F
RETURN
Label_001F BCF 0x36,0
CLRF 0x2F
RETURN
Label_0016 MOVLW 0xFF
MOVWF 0x52
GOTO Label_001A
Label_0014 BCF 0x38,4
Label_0018 BSF 0x39,7
BCF 0x36,0
CLRF 0x2F
BCF 0x36,6
CLRF 0x2E
BCF 0x36,5
RETURN
Label_0013 BCF 0x38,4
BCF 0x36,0
CLRF 0x2F
RETURN
;-----------------电角度检测-----------------
Label_0007 BCF 0x37,6
BSF 0x37,5
BSF 0x37,7
CLRF 0x3A
CLRF 0x3B
MOVLW 0x90
MOVWF ADCON0;;;;FOSC/32,AN2
CALL Label_0023;;;;;;AD测量求8次平均
MOVWF 0x22
MOVLW 0x80
SUBWF 0x22,0
BTFSS STATUS,C
GOTO Label_0024;;;;;;;;;;AD结果〈80H GOTO LABEL—0025
BCF 0x37,7
MOVWF 0x22
Label_0024 BTFSC 0x37,7
GOTO Label_0025
MOVLW 0x20
SUBWF 0x22,0
BTFSS STATUS,C
GOTO Label_0026
Label_0027 INCF 0x3B,1
MOVLW 0x40
SUBWF 0x22,0
BTFSS STATUS,C
GOTO Label_0026;;;;;;;;AD结果〈40H RETURN
INCF 0x3B,1
MOVLW 0x60
SUBWF 0x22,0
BTFSS STATUS,C
GOTO Label_0026;;;;;;;AD结果〈60H RETURN
INCF 0x3B,1
Label_0026 RETURN
Label_0025 MOVLW 0x0B
SUBWF 0x22,0
BTFSS STATUS,C
GOTO Label_0026;;;;;;AD结果〈0BH RETURN
MOVLW 0x1F
SUBWF 0x22,0
BTFSC STATUS,C
GOTO Label_0027;;;;;;AD结果〉1FH GOTO LABEL—0027
BSF 0x37,1
RETURN
;----------------巡航检测38h。4 39h。2----------------------------
Label_000E BTFSC 0x37,4
GOTO Label_0028
BCF 0x39,2
BCF 0x37,3
BCF 0x39,3
BTFSS 0x38,4
; NOP ;BCF PORTC,1
MOVLW 0x08
MOVWF 0x23
CLRF 0x24
Label_0029 BTFSS PORTC,3 ;0X7D,0;;;;;;;;;;PORTC,0
INCF 0x24,1
DECFSZ 0x23,1
GOTO Label_0029
MOVLW 0x08
SUBWF 0x24,0
BTFSS STATUS, Z
GOTO Label_002A
MOVF 0x24,0
SUBWF 0x51,0
BTFSC STATUS,Z
GOTO Label_002B
INCF 0x58,1
MOVLW 0x02
SUBWF 0x58,W
BTFSS STATUS,C
RETURN
MOVF 0x24,0
MOVWF 0x51
BTFSS 0x38,4
GOTO Label_002C
BCF 0x38,4
RETURN
Label_002C MOVF 0x30,1
BTFSC STATUS,Z
GOTO Label_002A
BSF 0x38,4
; BSF PORTC,1
RETURN
Label_002A CLRF 0x51
Label_002B BTFSC 0x38,4
GOTO Label_002D
CLRF 0x58
RETURN
Label_002D MOVLW 0x00
MOVWF 0x58
RETURN
Label_0028 BCF 0x38,4
MOVLW 0x10
MOVWF 0x23
CLRF 0x24
Label_002E BTFSS PORTC,3
INCF 0x24,1
DECFSZ 0x23,1
GOTO Label_002E
MOVLW 0x10
SUBWF 0x24,0
BTFSC STATUS,Z
GOTO Label_002F
MOVF 0x24,0
SUBLW 0x02
BTFSC STATUS,C
GOTO Label_0030
RETURN
Label_002F BSF 0x39,2
; BSF 0X7D,0;;;;;PORTC,1
CLRF 0x6A
RETURN
Label_0030 INCF 0x6A,1
MOVLW 0x05
SUBWF 0x6A,0
BTFSS STATUS,C
RETURN
DECF 0x6A,1
;BCF 0X7D,0;;;;PORTC,1
BCF INTCON,GIE
BCF 0x39,2
BCF 0x37,3
BCF 0x39,3
BCF 0x37,0
BSF INTCON,GIE
RETURN
;-------------测静态电流值,设标志------------------------------
Label_0006 MOVLW 0x08
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -