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

📄 aaa1-87g1.asm

📁 PIC16F74单片机A/D10位模拟量采集,12864LCD汉显,显示4位数带小数点
💻 ASM
📖 第 1 页 / 共 5 页
字号:
      ;  BTFSC   STATUS,C
      ;  INCF    RSY
        MOVLW   0x02
        ADDWF   LS_XSY,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_3G

        MOVLW   0x03
        MOVWF   LS_XSN
        MOVLW   0x40
        MOVWF   LS_XSX
        MOVLW   0XBA
        MOVWF   LS_XSY
        MOVLW   0xC0
        MOVWF   RSY
        MOVFW   LS_XSX                 ;":"
	MOVWF   DIS_STX
PAGE_3H
        MOVFW   LS_XSY
        MOVWF   DIS_STY
	MOVLW   0x04
	MOVWF   DIS_XNUM
	MOVLW   0x02
	MOVWF   DIS_YNUM
	MOVFW   RSY
	MOVWF   DISADDRL
	MOVLW   0X0E
	MOVWF   DISADDRH
	CALL	DISPLAYR
      ;  MOVLW   0x10
      ;  ADDWF   RSY,1
      ;  BTFSC   STATUS,C
      ;  INCF    RSY
        MOVLW   0x02
        ADDWF   LS_XSY,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_3H

        MOVLW   0x03
        MOVWF   LS_XSN
        MOVLW   0x70
        MOVWF   LS_XSX
        MOVLW   0XBA
        MOVWF   LS_XSY
        MOVLW   0xB0
        MOVWF   RSY
        MOVFW   LS_XSX                 ;%
	MOVWF   DIS_STX
PAGE_3I
        MOVFW   LS_XSY
        MOVWF   DIS_STY
	MOVLW   0x08
	MOVWF   DIS_XNUM
	MOVLW   0x02
	MOVWF   DIS_YNUM
	MOVFW   RSY
	MOVWF   DISADDRL
	MOVLW   0X0E
	MOVWF   DISADDRH
	CALL	DISPLAYR
      ;  MOVLW   0x10
      ;  ADDWF   RSY,1
      ;  BTFSC   STATUS,C
      ;  INCF    RSY
        MOVLW   0x02
        ADDWF   LS_XSY,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_3I
PAGE_3AD
        MOVLW   0x03
        MOVWF   LS_XSN
        MOVLW   0x50
        MOVWF   LS_XSX
        MOVLW   0x60
        MOVWF   LS_XSY

        MOVFW   AD7TEMP       ;OUTPUT AD1# AI
        MOVWF   CHG_N1
        CALL    CHG_NUMD
PAGE_3ED
        MOVLW   0xBA
	MOVWF   DIS_STY
	MOVFW   LS_XSX
	MOVWF   DIS_STX
	MOVLW   0x08
	MOVWF   DIS_XNUM
	MOVLW   0x02
	MOVWF   DIS_YNUM
	MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
	MOVWF   DISADDRL
	INCF    LS_XSY,1
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
	MOVWF   DISADDRH
	CALL	DISPLAYR
        INCF    LS_XSY,1
        MOVLW   0x08
        ADDWF   LS_XSX,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_3ED
        NOP
PAGE_3BD
        MOVLW   0x03
        MOVWF   LS_XSN
        MOVLW   0x50
        MOVWF   LS_XSX
        MOVLW   0x60
        MOVWF   LS_XSY

        MOVFW   AD8TEMP       ;OUTPUT AD2# BI
        MOVWF   CHG_N1
   ;     RLF     CHG_N1,1
        CALL    CHG_NUMD
PAGE_3FD
        MOVLW   0xBC
	MOVWF   DIS_STY
	MOVFW   LS_XSX
	MOVWF   DIS_STX
	MOVLW   0x08
	MOVWF   DIS_XNUM
	MOVLW   0x02
	MOVWF   DIS_YNUM
	MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
	MOVWF   DISADDRL
	INCF    LS_XSY,1
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
	MOVWF   DISADDRH
	CALL	DISPLAYR
        INCF    LS_XSY,1
        MOVLW   0x08
        ADDWF   LS_XSX,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_3FD
PAGE_3CD
        MOVLW   0x03
        MOVWF   LS_XSN
        MOVLW   0x50
        MOVWF   LS_XSX
        MOVLW   0x60
        MOVWF   LS_XSY

        MOVFW   AD9TEMP       ;OUTPUT AD3# CI
        MOVWF   CHG_N1
    ;    RLF     CHG_N1,1
        CALL    CHG_NUMD
PAGE_3GD
        MOVLW   0xBE
	MOVWF   DIS_STY
	MOVFW   LS_XSX
	MOVWF   DIS_STX
	MOVLW   0x08
	MOVWF   DIS_XNUM
	MOVLW   0x02
	MOVWF   DIS_YNUM
	MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
	MOVWF   DISADDRL
	INCF    LS_XSY,1
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
	MOVWF   DISADDRH
	CALL	DISPLAYR
        INCF    LS_XSY,1
        MOVLW   0x08
        ADDWF   LS_XSX,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_3GD

        NOP
        GOTO    PROG_BEG

PAGE_4A
        MOVLW   0x03
        MOVWF   LS_XSN        ;字个数
        MOVLW   0x50
        MOVWF   LS_XSX        ;X首址
        MOVLW   0xB8
        MOVWF   LS_XSY        ;Y首址
        MOVLW   0x60
        MOVWF   LS_XSY

        MOVLW   0xFF
        MOVWF   CHG_N1
        CALL    CHG_NUM
        NOP
PAGE_4B
        MOVLW   0xB9
        MOVWF   DIS_STY
        MOVFW   LS_XSX
        MOVWF   DIS_STX
        MOVLW   0x08
        MOVWF   DIS_XNUM
        MOVLW   0x02
        MOVWF   DIS_YNUM
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
        MOVWF   DISADDRL
        INCF    LS_XSY,1
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
        MOVWF   DISADDRH
        CALL	DISPLAYL
        INCF    LS_XSY,1
        MOVLW   0x08
        ADDWF   LS_XSX,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_4B
        NOP
        GOTO    PROG_BEG
PAGE_5A
        MOVLW   0x03
        MOVWF   LS_XSN        ;字个数
        MOVLW   0x50
        MOVWF   LS_XSX        ;X首址
        MOVLW   0xB8
        MOVWF   LS_XSY        ;Y首址
        MOVLW   0x60
        MOVWF   LS_XSY

PAGE_5B
        MOVLW   0xFF
        MOVWF   RSY
        MOVFW   RSY
        MOVWF   CHG_N1
        CALL    CHG_NUM
        NOP
;PAGE_5B
        MOVLW   0xBA
        MOVWF   DIS_STY
        MOVFW   LS_XSX
        MOVWF   DIS_STX
        MOVLW   0x8
        MOVWF   DIS_XNUM
        MOVLW   0x02
        MOVWF   DIS_YNUM
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
        MOVWF   DISADDRL
        INCF    LS_XSY,1
        MOVFW   LS_XSY
        MOVWF   FSR
        MOVFW   INDF
        MOVWF   DISADDRH
        CALL	DISPLAYL
        INCF    LS_XSY,1
        MOVLW   0x8
        ADDWF   LS_XSX,1
        DECFSZ  LS_XSN,1
        GOTO    PAGE_5B
        NOP
        GOTO    PROG_BEG
PAGE_6A
	MOVLW   0xBA
	MOVWF   DIS_STY
        MOVLW   0x50
	MOVWF   DIS_STX
	MOVLW   0x10
	MOVWF   DIS_XNUM
	MOVLW   0x02
	MOVWF   DIS_YNUM
        MOVLW   0xC0
	MOVWF   DISADDRL
	MOVLW   0x09
	MOVWF   DISADDRH
	CALL	DISPLAYL

        NOP
        GOTO    PROG_BEG

DELAY1
	MOVLW	0xFF
        MOVLW   JS1
	MOVWF	JS2
        MOVWF   JS3
DELAY_2
	DECFSZ	JS1,1
	GOTO 	DELAY_2
DELAY_3
        DECFSZ  JS2,1
        GOTO    DELAY_3
DELAY_4
        DECFSZ  JS2,1
        GOTO    DELAY_4
	return

DELAY2
        MOVLW   0XFF
        MOVWF   JS1
DELAY_5
        DECFSZ  JS1,1
        GOTO    DELAY_5
        RETURN

DELAY3
    	MOVLW	0xFF
    	MOVWF	R3
DELAY_7
        MOVLW   0XFF
        MOVWF   R4
DELAY_8
    	DECFSZ	R4
    	GOTO 	DELAY_8
        DECFSZ  R3
        GOTO    DELAY_7      
    	RETLW   0
DELAY
	MOVLW	0x0F
	MOVWF	R0
DELAY_1
	DECFSZ	R0,1
	GOTO 	DELAY_1
	return
writecmdR

	BSF	PORTC,LCD_E
	BCF	PORTC,LCD_CS0
	BSF	PORTC,LCD_CS1
	BCF	PORTC,LCD_DI
	BCF	PORTC,LCD_RW
	MOVFW	cmd
	MOVWF	PORTB
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	BCF	PORTC,LCD_E
	return
writecmdL

	BSF	PORTC,LCD_E
	BSF	PORTC,LCD_CS0
	BCF	PORTC,LCD_CS1
	BCF	PORTC,LCD_DI
	BCF	PORTC,LCD_RW
	MOVFW	cmd
	MOVWF	PORTB
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	BCF	PORTC,LCD_E
	return
writedataR

	BSF	PORTC,LCD_E
	BCF	PORTC,LCD_CS0
	BSF	PORTC,LCD_CS1
	BSF	PORTC,LCD_DI
	BCF	PORTC,LCD_RW
	MOVFW	dis_data
	MOVWF	PORTB
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	BCF	PORTC,LCD_E
	return
writedataL

	BSF	PORTC,LCD_E
	BSF	PORTC,LCD_CS0
	BCF	PORTC,LCD_CS1
	BSF	PORTC,LCD_DI
	BCF	PORTC,LCD_RW
	MOVFW	dis_data
	MOVWF	PORTB
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	BCF	PORTC,LCD_E
	return
clearStreen
	MOVLW	0x08
	MOVWF	Reg1
	CLRF	R1
CLR_P1	MOVLW	0xB8
	ADDWF	R1,0
	MOVWF	cmd
	CALL	writecmdL
	CALL	DELAY
	CALL	writecmdR
	NOP
	NOP
	MOVLW	0x40
	MOVWF	cmd
	CALL	writecmdL
	CALL	DELAY
	CALL	writecmdR
	MOVLW	0x40
	MOVWF	R0
CLR1
	;MOVLW	0x0F
	;MOVWF	dis_data
	CLRF	dis_data
	CALL	writedataL
	CALL	writedataR
	NOP
	NOP
	;INCF	R1,1
	DECFSZ	R0,1
	GOTO	CLR1
	INCF    R1,1
	DECFSZ	Reg1,1
	GOTO	CLR_P1
	return
init
	MOVLW	0xC0
	MOVWF	cmd
	CALL	writecmdL
	CALL	DELAY
	CALL	writecmdR
	NOP
	NOP
	NOP
	MOVLW	0x3F
	MOVWF	cmd
	CALL	writecmdL
	CALL	DELAY
	CALL	writecmdR
	return
;DIS_STX,DIS_STY,DIS_XNUM,DIS_YNUM,DISADDRH,DISADDRL
;R1,R3,R5,R4
DISPLAYL
	MOVFW   DIS_YNUM
	MOVWF	R3
	MOVFW   DIS_STY
	MOVWF   R1
	CLRF	R5
DISPLAY1_P
	BCF	STATUS,RP0
	BCF	STATUS,RP1
	MOVFW	R1
	MOVWF	cmd
	CALL	writecmdL
	CALL	DELAY
	MOVFW   DIS_STX

	MOVWF	cmd
	CALL	writecmdL
	MOVFW	DIS_XNUM
	MOVWF	R4
DISPLAY1
	MOVFW	DISADDRL;,0
	BCF	STATUS,C
	ADDWF	R5,0
	MOVWF	TEMP
	MOVFW	DISADDRH
	BTFSS	STATUS,C
	GOTO	dis_addr
	ADDLW	0x01
dis_addr
	BSF	STATUS,RP1
	BCF	STATUS,RP0
	MOVWF	EEADRH
	BCF	STATUS,RP1
	MOVFW	TEMP
	BSF	STATUS,RP1
	MOVWF	EEADR
	BSF	STATUS,RP0
    BSF EECON1,EEPGD
	BSF	EECON1,RD
	NOP
	NOP
	BCF	STATUS,RP0
	MOVFW	EEDATA
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVWF	dis_data
	CALL	writedataL
	INCF	R5,1
	DECFSZ	R4,1
	GOTO	DISPLAY1
	INCF    R1,1
	DECFSZ	R3,1
	GOTO	DISPLAY1_P
	return

;DIS_STX,DIS_STY,DIS_XNUM,DIS_YNUM,DISADDRH,DISADDRL
;R1,R3,R5,R4
DISPLAYR
	MOVFW   DIS_YNUM
	MOVWF	R3
	MOVFW   DIS_STY
	MOVWF   R1
	CLRF	R5
DISPLAY1_PR
	BCF	STATUS,RP0
	BCF	STATUS,RP1
	MOVFW	R1
	MOVWF	cmd
	CALL	writecmdR
	CALL	DELAY
	MOVFW   DIS_STX

	MOVWF	cmd
	CALL	writecmdR
	MOVFW	DIS_XNUM
	MOVWF	R4
DISPLAY1R
	MOVFW	DISADDRL;,0
	BCF	STATUS,C
	ADDWF	R5,0
	MOVWF	TEMP
	MOVFW	DISADDRH
	BTFSS	STATUS,C
	GOTO	dis_addrR
	ADDLW	0x01
dis_addrR
	BSF	STATUS,RP1
	BCF	STATUS,RP0
	MOVWF EEADRH
	BCF	STATUS,RP1

⌨️ 快捷键说明

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