⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 txsend.asm

📁 本资源提供了采用PIC单片机实现单线通讯的源程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
            MOVWF   PORTB
            CALL    Label_0068
            BTFSS   0x38,2
            GOTO    Label_0069
            MOVF    0x49,0
            SUBWF   0x24,0
            SUBLW   0x05
            BTFSS   STATUS,C
            GOTO    Label_006A
            BCF     0x38,2
            MOVF    PORTB,0
            IORLW   0xE0
            MOVWF   PORTB
            CALL    Label_0068
            BTFSS   0x38,2
            GOTO    Label_0069
            BTFSC   STATUS,C
            GOTO    Label_006A
Label_0069  MOVF    PORTB,0
            IORLW   0x1C
            MOVWF   PORTB
            BSF     PORTC,2
            CALL    Label_0068
            BCF     PORTC,2
            BTFSC   0x38,2
            GOTO    Label_006B
            MOVF    PORTB,0
            IORLW   0xE0
            MOVWF   PORTB
            CALL    Label_0068
            BTFSC   0x38,2
            GOTO    Label_006A
            CLRF    0x15
            MOVLW   0x0F
            MOVWF   CCP1CON
            GOTO    Label_0022
Label_006B  BSF     0x36,2
Label_006A  RETURN

;---------测霍尔,输出对应桥开启---------------

Label_0022  CLRF    0x3D
Label_0074  INCF    0x3D,1
            CALL    Label_006C;;;;;;;;;换相处理
            MOVF    0x44,0
            MOVWF   0x35
            ;*****************
             ;MOVLW 0X10
             ;MOVWF 0X35
            ;*****************
            BSF     0x38,1
            BCF     0x39,5
            BTFSC   0x37,7
            GOTO    Label_006D
            MOVLW   0x10
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_006E;;;;;;;;;HALL=001
            MOVLW   0x30
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_006F;;;;;;;;;HALL=011
            MOVLW   0x20
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0070;;;;;;;;;HALL=010
            MOVLW   0x60
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0071;;;;;;;;;;HALL=110
            MOVLW   0x40
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0072;;;;;;;;;;HALL=100
            MOVLW   0x50
            SUBWF   0x35,0
            BTFSC   STATUS, Z
            GOTO    Label_0073;;;;;;;;;;HALL=101
Label_0076  BCF     0x38,1
            MOVF    0x3D,0
            SUBLW   0x04
            BTFSC   STATUS,C
            GOTO    Label_0074
            BSF     0x39,5
            CALL    Label_0067
            CLRF    0x30
            GOTO    Label_0075
Label_006D  MOVLW   0x30
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_006E
            MOVLW   0x10
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_006F
            MOVLW   0x00
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0070
            MOVLW   0x40
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0071
            MOVLW   0x60
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0072
            MOVLW   0x70
            SUBWF   0x35,0
            BTFSC   STATUS,Z
            GOTO    Label_0073
            GOTO    Label_0076
Label_006F  MOVLW   0x30
            BTFSC   0x37,7
            MOVLW   0x10
            MOVWF   0x34
            MOVLW   0x28
            MOVWF   0x32;;;;;;;;;;(32H)=28对应011状态B口输出28H
            GOTO    Label_0077
Label_0070  MOVLW   0x20
            BTFSC   0x37,7
            MOVLW   0x00
            MOVWF   0x34
            MOVLW   0x30
            MOVWF   0x32;;;;;;;;;;(32H)=30对应001状态B口输出30H
            GOTO    Label_0077
Label_0071  MOVLW   0x60
            BTFSC   0x37,7
            MOVLW   0x40
            MOVWF   0x34
            MOVLW   0x50
            MOVWF   0x32;;;;;;;;;;(32H)=50对应101状态B口输出50H
            GOTO    Label_0077
Label_0072  MOVLW   0x40
            BTFSC   0x37,7
            MOVLW   0x60
            MOVWF   0x34
            MOVLW   0x44
            MOVWF   0x32;;;;;;;;;;(32H)=44对应100状态B口输出44H
            GOTO    Label_0077
Label_0073  MOVLW   0x50
            BTFSC   0x37,7
            MOVLW   0x70
            MOVWF   0x34
            MOVLW   0x84
            MOVWF   0x32;;;;;;;;;;(32H)=84对应110状态B口输出84H
            GOTO    Label_0077
Label_006E  MOVLW   0x10
            BTFSC   0x37,7
            MOVLW   0x30
            MOVWF   0x34
            MOVLW   0x88
            MOVWF   0x32;;;;;;;;;;(32H)=88对应010状态B口输出88H
Label_0077  BTFSS   0x38,1
            GOTO    Label_0078
            BTFSS   0x38,3
            GOTO    Label_0079
            BCF     0x38,1
            BCF     0x38,3
            RETURN
Label_0079  BSF     0x38,3
            MOVLW   0x02
            SUBWF   0x3C,1
            BTFSC   STATUS,C
            GOTO    Label_007A
            CLRF    0x3C
            GOTO    Label_007A

;-----选择相应的通道采集AD--------------------------------

Label_00B0  BTFSC   INTCON,INTF
            GOTO    Label_007B
            BTFSC   0x3A,3
            GOTO    Label_007C  ;电流
            BTFSC   0x3A,1
            GOTO    Label_007D  ;刹车
            BTFSC   0x3A,2
            GOTO    Label_007E  ;电池
            BTFSC   0x3A,0
            GOTO    Label_007F  ;转把
            GOTO    Label_0078

Label_007F  BTFSS   0x39,0
            GOTO    Label_0080
            CALL    Label_0081
            MOVF    0x35,0
            SUBWF   0x40,0
            BTFSS   STATUS,Z
            GOTO    Label_0082
Label_0080  BTFSC   INTCON,INTF
            CALL    Label_0083
            BTFSC   0x1F,2
            GOTO    Label_0080
            MOVF    0x1E,0
            ADDWF   0x67,1
            RRF     0x67,1
            ;**********************
             ;MOVLW 0X20
             ;MOVWF 0X67
            ;**********************
            GOTO    Label_0078

Label_007E  BTFSS   0x39,0
            GOTO    Label_0084
            CALL    Label_0081
            MOVF    0x35,0
            SUBWF   0x40,0
            BTFSS   STATUS,Z
            GOTO    Label_0082
Label_0084  BTFSC   INTCON,INTF
            CALL    Label_0083
            BTFSC   0x1F,2
            GOTO    Label_0084
            MOVF    0x1E,0
            ADDWF   0x66,1
            RRF     0x66,1
            ;****************
            ;MOVLW 0XA0
            ;MOVWF 0X66
            ;****************
            GOTO    Label_0078

Label_007D  BTFSS   0x39,0
            GOTO    Label_0085
            CALL    Label_0081
            MOVF    0x35,0
            SUBWF   0x40,0
            BTFSS   STATUS,Z
            GOTO    Label_0082
Label_0085  BTFSC   INTCON,INTF
            CALL    Label_0083
            BTFSC   0x1F,2
            GOTO    Label_0085
            MOVF    0x1E,0
            ADDWF   0x65,1
            RRF     0x65,1
            ;**************
            ;MOVLW 0X00
           ; MOVWF 0X65
            ;***************
            BTFSC   0x39,3
            GOTO    Label_0086
            BTFSC   0x38,2
            GOTO    Label_0086
            BTFSC   0x37,5
            GOTO    Label_0087
            MOVF    0x65,0
            SUBLW   0x70
            BTFSC   STATUS,C
            GOTO    Label_0086
            BCF     0x38,7
            GOTO    Label_0078
Label_0087  MOVLW   0x66
            SUBWF   0x65,0
            BTFSC   STATUS,C
            GOTO    Label_0086
            BCF     0x38,7
            GOTO    Label_0078
Label_0086  BCF     0x38,4
            BSF     0x38,7
            GOTO    Label_0078
Label_0097  BTFSS   0x39,2
            GOTO    Label_0088
            BTFSC   0x37,0
            GOTO    Label_0089
            BTFSC   0x37,2
            GOTO    Label_008A
            BSF     STATUS,RP0
            MOVLW   0x7F
            MOVWF   0x12
            BCF     STATUS,RP0
            MOVLW   0x03
            ADDWF   TMR0,0
            MOVWF   0x3E
            BCF     STATUS,C
            RRF     0x3E,0
            MOVWF   0x11
Label_008A  BSF     0x37,2
            BTFSC   0x39,3
            GOTO    Label_0078
            MOVF    0x64,0
            SUBLW   0x02
            BTFSS   STATUS,C
            GOTO    Label_008B
            MOVF    0x63,0
            SUBLW   0x02
            BTFSS   STATUS,C
            GOTO    Label_008B
            MOVF    0x64,1
            BTFSS   STATUS,Z
            GOTO    Label_008C
            MOVF    0x63,1
            BTFSS   STATUS,Z
            GOTO    Label_008C
            MOVF    0x62      , W
            SUBLW   0x90
            BTFSS   STATUS,C
            GOTO    Label_008C
            MOVF    0x61,0
            SUBLW   0x90
            BTFSS   STATUS,C
            GOTO    Label_008C
            BTFSC   0x37,3
            GOTO    Label_0078
            MOVF    0x66,0
            SUBLW   0xF8
            BTFSC   STATUS,C
            GOTO    Label_008D
Label_0089  BSF     STATUS,RP0
            BSF     TRISB,1
            BCF     STATUS,RP0
            CLRF    0x30
            BSF     0x37,0
            GOTO    Label_008E
Label_008D  MOVLW   0x1C
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_008F
            BTFSC   0x38,6
            CALL    Label_0022
            MOVLW   0x1B
            MOVWF   0x30
            BSF     STATUS,RP0
            BCF     TRISB,1
            BCF     STATUS,RP0
            BCF     PORTB,1
            MOVF    0x68,0
            SUBWF   0x47,0
            BTFSS   STATUS,C
            GOTO    Label_0090
            DECF    0x6B,1
            BTFSC   STATUS,Z
            INCF    0x6B,1
            MOVF    0x68,0
            SUBWF   0x46,0
            BTFSS   STATUS,C
            GOTO    Label_008E
            GOTO    Label_0091
Label_0090  INCF    0x6B,1
            MOVF    0x68,0
            SUBWF   0x48,0
            BTFSC   STATUS,C
            GOTO    Label_0092
            MOVLW   0x06
            ADDWF   0x6B,1
            BTFSC   STATUS,C
            GOTO    Label_0093
Label_0092  MOVF    0x6B,0
            SUBLW   0xF0
            BTFSC   STATUS,C
            GOTO    Label_008E
Label_0093  BSF     0x37,3             ;DU ZHUAN
            CLRF    0x30
            GOTO    Label_008E
Label_008C  BTFSC   0x38,6
            CALL    Label_0022
            BSF     STATUS,RP0
            BCF     TRISB,1
            BCF     STATUS,RP0
            BCF     PORTB,1
            BSF     0x37,3
            CLRF    0x30
            GOTO    Label_008E
Label_008B  BSF     0x39,3
            BSF     STATUS,RP0
            BSF     TRISB,1
            BCF     STATUS,RP0
            CLRF    0x30
            MOVF    PORTB,0
            ANDLW   0x03
            MOVWF   PORTB
            BSF     0x38,6
            CLRF    0x6B
            GOTO    Label_008E
Label_008F  BSF     STATUS,RP0
            BCF     TRISB,1
            BCF     STATUS,RP0
            BCF     PORTB,1
            DECF    0x6B,1
            BTFSC   STATUS,Z
            INCF    0x6B,1
            MOVF    0x61,0
            SUBLW   0x02
            BTFSC   STATUS,C
            GOTO    Label_008E
            MOVF    0x68,0
            SUBWF   0x46,0
            BTFSC   STATUS,C
            GOTO    Label_0091
            MOVLW   0x04
            SUBWF   0x30,0
            MOVWF   0x30
            SUBLW   0x1C
            BTFSS   STATUS,C
            GOTO    Label_008E
            MOVLW   0x1B
            MOVWF   0x30
            GOTO    Label_008E
Label_0091  MOVLW   0x06
            ADDWF   0x30,1
            BTFSS   STATUS,C
            GOTO    Label_008E
            MOVLW   0xFF
            MOVWF   0x30
            GOTO    Label_008E
Label_007C  BTFSS   0x39,0
            GOTO    Label_0094
            CALL    Label_0081
            MOVF    0x35,0
            SUBWF   0x40,0
            BTFSS   STATUS,Z
            GOTO    Label_0082
Label_0094  BTFSC   INTCON,INTF
            CALL    Label_0083
            BTFSC   0x1F,2
            GOTO    Label_0094
            MOVF    0x1E,0
            ADDWF   0x68,1
            RRF     0x68,1
            MOVF    0X68,0
			MOVWF   0X5F

	        BTFSC   0x38,5;;;;;;;;;;;;;;;RB1=0,BIAIZHIWEI
            GOTO    Label_0095
            BTFSC   0x39,5;;;;;;;;;;;;;;NO HALL
            GOTO    Label_0096
            BTFSC   0x36,6
            GOTO    Label_0095
            BTFSC   0x37,4
            GOTO    Label_0097
Label_0088  BCF     0x37,2
            CLRF    0x6B
            BTFSC   0x38,7
            GOTO    Label_0098
            MOVF    0x31,1
            BTFSC   STATUS,Z
            GOTO    Label_0099
            BTFSC   0x38,6
Label_0099  CALL    Label_0022
            MOVF    0x48,0
            SUBWF   0x68,0
            BTFSC   STATUS,C
            GOTO    Label_009A
            CLRF    0x60
            BSF     STATUS,RP0
            BSF     TRISB,1
            BCF     STATUS,RP0
            GOTO    Label_009B

Label_009A  MOVWF   0x60
            BSF     STATUS,RP0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -