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

📄 txsend.asm

📁 本资源提供了采用PIC单片机实现单线通讯的源程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
            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 + -