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

📄 txsend.asm

📁 本资源提供了采用PIC单片机实现单线通讯的源程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
            MOVWF   0x25
            CLRF    0x26
            CLRF    0x27
Label_0031  MOVLW   0x80
            MOVWF   ADCON0;;;;;;;;;FOSC/32,RA0
            CALL    Label_0023;;;;;;;;;;AD测量8次求平均
            ADDWF   0x27,1
            BTFSC   STATUS,C
            INCF    0x26,1
            DECFSZ  0x25,1
            GOTO    Label_0031;;;;;;;;;;AD测量8次后平均再测8次求平均
            RRF     0x26,1
            RRF     0x27,1
            RRF     0x26,1
            RRF     0x27,1
            RRF     0x26,1
            RRF     0x27,0
            ;*************
            ;MOVLW 0X20;***
            ;*************
            MOVWF   0x4A;;;;;;;;;AD测量结果放入4AH寄存器
            ADDLW   0x06
            MOVWF   0x48;;;;;;;;;;AD测量结果+6放入48H寄存器
            ADDLW   0x10
            MOVWF   0x49;;;;;;;;;;AD测量结果+16放入49寄存器
            MOVLW   0x5C
            SUBWF   0x4A,0
            BTFSC   STATUS,C
            GOTO    Label_0032;;;;;;;;;;AD结果大于1。8V设置标志38H的0位=1
            MOVLW   0x3D
            SUBWF   0x4A,0
            BTFSC   STATUS,C
            GOTO    Label_0033;;;;;;;;;;;;AD结果大于1。19V设置标志37H的4位=1
            MOVLW   0x0C
            SUBWF   0x4A,0
            BTFSC   STATUS,C
            GOTO    Label_0032;;;;;;;;;;;;
            RETURN

;;****************************************************设置标志位38H的0位为1
Label_0032  BSF     0x38,0
            RETURN
;;************************************************************************************


Label_0033  BSF     0x37,4
            GOTO    Label_0034

Label_0035  CLRF    0x2E
            BCF     0x36,5
            CLRF    0x3C
            BCF     0x36,1
            CLRF    0x5A
            RETURN
Label_00CC  BTFSS   0x36,0
            GOTO    Label_0035
            BTFSC   0x38,7
            GOTO    Label_0035
            BTFSC   0x36,1
            GOTO    Label_0035
            MOVLW   0x08
            SUBWF   0x60,0
            BTFSS   STATUS,C
            GOTO    Label_0035
            BTFSC   0x36,1
            GOTO    Label_0035
            MOVF    0x3C,0
            SUBLW   0x04
            BTFSS   STATUS,C
            GOTO    Label_0035
            MOVF    0x3C,0
            CLRF    0x3C
            ADDWF   0x5A,1
            MOVLW   0x0F
            SUBWF   0x5A,0
            BTFSC   STATUS,C
            GOTO    Label_0035
            MOVLW   0x04
            SUBWF   0x2E,0
            BTFSC   STATUS,C
            GOTO    Label_0036
            MOVLW   0x02
            SUBWF   0x2E,0
            BTFSC   STATUS,C
            GOTO    Label_0037
            RETURN
Label_0037  BSF     0x36,5
            RETURN
Label_0036  BSF     0x36,6
            BCF     0x38,4
            RETURN


;------------自检灯输出设置-------------------
;Label_0012 	BTFSC   0x38,2
;            GOTO    Label_0038
;            BTFSC   0x38,0
;            GOTO    Label_0039
;            BTFSS   PORTB,0
;            GOTO    Label_0039
;            BTFSC   0x38,5
;            GOTO    Label_003A
;            BTFSC   0x38,7
;            GOTO    Label_003B
;            BTFSC   0x39,5
;            GOTO    Label_003C
;            BTFSC   0x39,4
;            GOTO    Label_003D
;            BTFSS   0x36,0
;            GOTO    Label_003E
;            BSF     STATUS,RP0
;            MOVF    TRISB,0
;            BCF     STATUS,RP0
;            MOVWF   0x22
;            BTFSC   0x22,1
;            GOTO    Label_003F
;Label_0040  ;BCF     PORTC,7
;            CLRF    0x5D
;            CLRF    0x5F
;            RETURN
;Label_003F  BTFSC   PORTB,1
;            GOTO    Label_0040
;            ;BSF     PORTC,7
;            CLRF    0x5D
;            CLRF    0x5F
;            RETURN
;Label_003A  MOVLW   0x0E
;            MOVWF   0x5D
;            GOTO    Label_0041
;Label_003C  MOVLW   0x0C
;            MOVWF   0x5D
;            GOTO    Label_0041
;Label_0038  BTFSC   0x36,2
;            GOTO    Label_0042
;            MOVLW   0x0A
;            MOVWF   0x5D
;            GOTO    Label_0041
;Label_0042  MOVLW   0x08
;            MOVWF   0x5D
;            GOTO    Label_0041
;Label_0039  MOVLW   0x06
;            MOVWF   0x5D
;            GOTO    Label_0041
;Label_003B  MOVLW   0x04
;            MOVWF   0x5D
;            GOTO    Label_0041
;Label_003E  MOVLW   0x02
 ;           MOVWF   0x5D
 ;           GOTO    Label_0041
;Label_003D  MOVLW   0x10
;            MOVWF   0x5D
;Label_0041  MOVF    0x5D,0
;            SUBWF   0x5E,0
;            BTFSC   STATUS,C
;            GOTO    Label_0043
;            MOVF    0x5F,1
;            BTFSS   STATUS,Z
;            GOTO    Label_0044
;            ;BTFSS   PORTC,7
;            ;GOTO    Label_0045
;            ;NOP;BCF     PORTC,7
;            GOTO    Label_0044
;Label_0045  NOP;BSF     PORTC,7
;Label_0044  INCF    0x5F,1
;            MOVF    0x5F,0
;            SUBLW   0x06
;            BTFSC   STATUS,C
;            GOTO    Label_0046
;            INCF    0x5E,1
;            CLRF    0x5F
;Label_0046  RETURN
;Label_0043  NOP;BCF     PORTC,7
;            INCF    0x5F,1
;            MOVF    0x5F,0
;            SUBLW   0x0A
;            BTFSC   STATUS,C
;            GOTO    Label_0046
;            CLRF    0x5F
;            CLRF    0x5E
;            RETURN

;-------------电池电压测量--------------
Label_0010  MOVF    0x66,0
            SUBLW   0xAB
            BTFSC   STATUS,C
            GOTO    Label_0047;;;;;;;;;;;;;;电池电压大于45V(ABH)

            CLRF    0x56

Label_004E  INCF    0x54,1
            BTFSC   STATUS,Z
            DECF    0x54,1
            MOVF    0x54,0
            SUBLW   0x3D
            BTFSS   STATUS,C
            GOTO    Label_0048
            RETURN

Label_0048  DECF    0x54,1
            CLRF    0x53
            ;NOP; BCF     0X7D,0;PORTC,0
            BCF     0x39,4
            RETURN

Label_004D  INCF    0x53,1
            MOVF    0x60,0
            SUBLW   0x0B
            BTFSC   STATUS,C
            GOTO    Label_0049
            MOVLW   0x30
            SUBWF   0x53,0
            BTFSC   STATUS,C
            GOTO    Label_004A
            RETURN

Label_0049  MOVLW   0x0F
            SUBWF   0x53,0
            BTFSC   STATUS,C
            GOTO    Label_004A
            RETURN

Label_004A  CLRF    0x54
            CLRF    0x53
            ;NOP;BSF     PORTC,0
            BSF     0x39,4;vol<42v
             RETURN

Label_0047  MOVWF   0x56
            SUBLW   0x15
            BTFSC   STATUS,C
            GOTO    Label_004B
            MOVLW   0x1E
            MOVWF   0x56
            GOTO    Label_004C
Label_004B  BCF     STATUS,C
            RRF     0x56,0
            ADDWF   0x56,1
Label_004C  MOVF    0x66,0
            SUBLW   0X9C;;;;0x9D;;;;;;;;;;;电池保护电压(由于稳压电源的变化,电阻的变化引起波动)
            BTFSC   STATUS,C
            GOTO    Label_004D;;;;;;;;电池电压〈9D GOTO 
            BTFSS   0x39,4
            RETURN
          
            ADDLW   0x08
            BTFSS   STATUS,C
            GOTO    Label_004E
            RETURN
;-----------------------------------------
         
Label_000C 
;------------------------------------
           BTFSS   PORTC,7
           GOTO    SDLJL   
;-----------------------------------
          BCF     STATUS,C
          RRF     0X23,1
          BCF     STATUS,C
          RRF     0X23,1
          BCF     STATUS,C
          RRF     0X23,0    ;;;;;;0.125
          ADDWF   0X23,1
          ADDWF   0X23,1
	      ADDWF   0X23,1
          ADDWF   0X23,1
          ADDWF   0X23,1   ;;;;;;0.875
          

SDLJL       MOVF    0x56,0
            SUBWF   0x23,0
            BTFSS   STATUS,C
            GOTO    Label_004F
            MOVWF   0x24
            SUBWF   0x48,0
            BTFSC   STATUS,C
            GOTO    Label_004F
            MOVF    0x24,0
            MOVWF   0x45
            RETURN
Label_004F  MOVF    0x48,0
            MOVWF   0x45
            RETURN
;----------------------------------------------------

Label_000B  GOTO    Label_0050
           
Label_0050  BTFSC   0x36,5
            GOTO    Label_0054
            MOVLW   0x60
            SUBWF   0x30,0
            BTFSS   STATUS,C
            GOTO    Label_0055
            MOVLW   0x58
            BTFSC   0x3B,0
            MOVLW   0x74
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_0056
Label_0055  MOVLW   0x38
            MOVWF   0x24
            GOTO    Label_0057
Label_0054  MOVLW   0x28
            MOVWF   0x24
            GOTO    Label_0057
Label_0056  MOVWF   0x24
            BCF     STATUS,C
            RRF     0x24,1
            BCF     STATUS,C
            RRF     0x24,1
            BCF     STATUS,C
            RRF     0x24,0
            BTFSC   0x3B,1
            GOTO    Label_0058
            BTFSC   0x3B,0
            GOTO    Label_0059
            COMF    0x30,0
            BTFSC   STATUS,Z
            GOTO    Label_005A
            MOVLW   0xE1
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_005B
            MOVLW   0xA9
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_005C
            MOVLW   0x7D
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_005D
            MOVLW   0x61
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_005E
            MOVLW   0x38
            GOTO    Label_0057
Label_005E  MOVWF   0x24
            BCF     STATUS,C
            RRF     0x24,0
            SUBLW   0x0D
            ADDLW   0X2B;;;;;;;;;;;;;;;;;0x2A
            GOTO    Label_0057
Label_005D  MOVWF   0x24
            BCF     STATUS,C
            RRF     0x24,1
            BCF     STATUS,C
            RRF     0x24,0
            SUBLW   0x0A
            ADDLW   0X20;;;;;;;;;;;;;;;;;;0x1F
            GOTO    Label_0057
Label_005C  MOVWF   0x24
            BCF     STATUS,C
            RRF     0x24,1
            BCF     STATUS,C
            RRF     0x24,1
            BCF     STATUS,C
            RRF     0x24,0
            SUBLW   0x06
            ADDLW   0X19;;;;;;;;;;;;;;0x18
            GOTO    Label_0057
Label_005B  MOVLW   0x19;;;;;;;;;;;;0x17
            GOTO    Label_0057
Label_005A  MOVLW   0X19;;;;;;;;;;;;;;;;0x1C
            GOTO    Label_0057
Label_0059  COMF    0x30,0
            BTFSC   STATUS,Z
            GOTO    Label_005F
            MOVLW   0xC9
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_0060
            MOVLW   0xA9
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_0061
            MOVLW   0x7D
            SUBWF   0x30,0
            BTFSC   STATUS,0
            GOTO    Label_0062
            MOVLW   0x61
            SUBWF   0x30,0
            BTFSC   STATUS,C
            GOTO    Label_0063
            MOVLW   0x38
            GOTO    Label_0057
Label_0063  MOVWF   0x24
            BCF     STATUS,C
            RRF     0x24,0
            SUBLW   0x0D
            ADDLW   0x2A
            GOTO    Label_0057
Label_0062  MOVWF   0x24
            BCF     STATUS,C
            RRF     0x24,1
            BCF     STATUS,C
            RRF     0x24,0
            SUBLW   0x0A
            ADDLW   0x1F
            GOTO    Label_0057
Label_0061  MOVLW   0x1F
            GOTO    Label_0057
Label_0060  MOVLW   0x1D
            GOTO    Label_0057
Label_005F  MOVLW   0x22
            GOTO    Label_0057
Label_0064  MOVLW   0x03;;;;;;;;;;;;;;;;0x07
            ADDWF   0x24,0
            GOTO    Label_0057
Label_0058  SUBLW   0x33
            MOVWF   0x24
            COMF    0x30,0
            BTFSC   STATUS,Z
            GOTO    Label_0064
            MOVF    0x24,0
Label_0057  BTFSS   0x37,4
            GOTO    Label_0065
            ADDWF   0x4A,0
            MOVWF   0x23
            RETURN
Label_0065  MOVWF   0x23
            RETURN

Label_0034  MOVLW   0x28
            SUBWF   0x48,0
            MOVWF   0x46
            MOVLW   0x10
            SUBWF   0x48,0
            MOVWF   0x47
            RETURN

Label_0067  MOVF    PORTB,0
            ANDLW   0x03
            MOVWF   PORTB
            BSF     STATUS,RP0
            BSF     TRISB,1
            BCF     STATUS,RP0
            BSF     0x38,6
            RETURN
Label_0068  MOVLW   0x80
            MOVWF   ADCON0;;;;FOSC/32,    AN0
            BSF     0x3A,3
            CALL    Label_0066
            MOVWF   0x24
            SUBWF   0x49,0
            BTFSS   STATUS,C
            BSF     0x38,2
            RETURN
Label_0008  CLRF    CCP1CON;;;;;;;;关上下桥
            CALL    Label_0067
            MOVF    PORTB,0
            IORLW   0xE0

⌨️ 快捷键说明

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