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

📄 信利drv16032纵向.asm

📁 信利128*64液晶驱动程序
💻 ASM
字号:

;LCD_A0          bit p1.0
;LCDC2PORT       EQU 0BFffH       ;CS1-->P2.5
;LCDC1PORT       EQU 0DFffH       ;CS2-->P2.6
;LCDD2PORT       EQU 0BFFfH       ;A0--->P1.0  C:0000H D:0200H
;LCDD1PORT       EQU 0DFffH

PUTCHARDOT:
	MOV	R7,#8

PAC_PA:
	CLR	A
	MOVC	A,@A+DPTR
	CALL	LCDWRITE
	INC	YPOS
	INC	DPTR
	CLR	A
	MOVC	A,@A+DPTR
	CALL	LCDWRITE
	DEC	YPOS
	INC	DPTR
	CALL	CUSORNEXT
	MOV	A,XPOS
	JNZ	PAC_LAX
	INC	YPOS
PAC_LAX:
	DJNZ	R7,PAC_PA
	RET
CUSORNEXT:
	INC	XPOS
	MOV	A,XPOS
	CJNE	A,#160,CNT_LAX
	MOV	XPOS,#0
	INC	YPOS
	ANL	YPOS,#3H
CNT_LAX:
	RET

PUTchar:
	MOV	R7,#8
        mov     variable,xpos
        mov     variable1,ypos
Pc_PA:
	CLR	A
	MOVC	A,@A+DPTR
	CALL	LCDWRITE
	INC	DPTR
        ;inc     xpos
        call    cusornext
        ;mov     a,xpos
        ;jnz     pc_lax
        ;inc     ypos
        ;inc     ypos
  pc_lax:
        djnz    r7,pc_pa
        mov     r7,#8
        mov     Ypos,variable1
        inc     Ypos
        mov     xpos,variable
pc_pa1:
	CLR	A
	MOVC	A,@A+DPTR
	CALL	LCDWRITE
	INC	DPTR
	CALL	CUSORNEXT

	;MOV	A,XPOS
	;JNZ	Pc_LAX1
	;INC	YPOS
        ;inc     ypos
Pc_LAX1:
	DJNZ	R7,Pc_PA1

	MOV	A,XPOS
	CJNE	A,#0,No_NextRow
	INC	Variable1
        inc     Variable1
	ANL	YPOS,#3H
  No_NextRow:

        mov     ypos,variable1

	RET


PUTWordDOT:
	MOV	R7,#16
        mov     variable,xpos
        mov     variable1,ypos
PWD_PA:
	CLR	A
	MOVC	A,@A+DPTR
	CALL	LCDWRITE
	INC	DPTR
        call    cusornext
        ;mov     a,xpos
        ;jnz     pwd_lax
        ;inc     ypos
        ;inc     ypos
  pwd_lax:
        djnz    r7,pwd_pa
        mov     r7,#16
        mov     Ypos,variable1
        inc     Ypos
        mov     xpos,variable
pwd_pa1:
	CLR	A
	MOVC	A,@A+DPTR
	CALL	LCDWRITE
	INC	DPTR
	CALL	CUSORNEXT
	;MOV	A,XPOS
	;JNZ	PWD_LAX1
	;INC	YPOS
        ;inc     ypos
PWD_LAX1:
	DJNZ	R7,PWD_PA1
	MOV	A,XPOS
	CJNE	A,#0,WD_NextRow
	INC	Variable1
        inc     Variable1
	ANL	YPOS,#3H
  WD_NextRow:

        mov     ypos,variable1
	RET

LCDWRITE:                         	                     ;送数据子程序
	CALL	LCDPOS
	CALL	LCDWD
	RET
LCDWD:
	MOV	B,A
	MOV	A,XPOS
	CJNE	A,#80,$+3
	JNC	LWD_LA1    ;A>=80,jump to LWD_LA1
	MOV	A,B
	CALL	LCDWD1
	JMP	LWD_LAX
LWD_LA1:CJNE	A,#160,$+3
	JNC	LWD_LA2    ;A>=160,ret
	MOV	A,B
	CALL	LCDWD2
	JMP	LWD_LAX
LWD_LA2:
LWD_LAX:
	RET
LCDPOS:
	PUSH	ACC
	MOV	A,YPOS
	ANL	A,#3
	ADD	A,#0B8H
	MOV	B,A

	MOV	A,XPOS
	CJNE	A,#80,$+3
	JNC	LPS_LA1
	CALL	LCDWC1
	MOV	A,B
	CALL	LCDWC1
	JMP	LPS_LAX
LPS_LA1:CJNE	A,#160,$+3
	JNC	LPS_LA2
	CLR	C
	SUBB	A,#80
	CALL	LCDWC2
	MOV	A,B
	CALL	LCDWC2
	JMP	LPS_LAX
LPS_LA2:
LPS_LAX:
	POP	ACC
	RET

;LCD CONTROL
;lcd internal use
LCDHIDEDATA     EQU 0AEH
LCDRESETDATA    EQU 0E2H
LCDPAGEDATA     EQU 0B8H
LCDCOLUMNDATA   EQU 00H
LCDFIRSTCOLUMN  EQU 19
LCDDIRECTDATA   EQU 0A0H
LCDSHOW:
	MOV     A,#LCDHIDEDATA+1
	LCALL   LCDWC1
        mov     a,#LCDHIDEDATA+1
	CALL	LCDWC2
	RET
LCDHIDE:
	MOV     A,#LCDHIDEDATA
	LCALL   LCDWC1
	CALL	LCDWC2
	RET
LCDRESET:
	MOV     A,#LCDRESETDATA
	LCALL   LCDWC1
        mov     a,#LCDRESETDatA
	CALL	LCDWC2
	CALL	LCDSHOW
	RET
LCDWC1:
	PUSH    DPH
	PUSH    DPL
        clr     Lcd_A0
	MOV     DPTR,#LCDC1PORT
	MOVX    @DPTR,A
	MOVX    @DPTR,A
	POP     DPL
	POP     DPH
	RET
LCDWC2:
	PUSH    DPH
	PUSH    DPL
        clr     Lcd_A0
	MOV     DPTR,#LCDC2PORT
	MOVX    @DPTR,A
	MOVX    @DPTR,A
	POP     DPL
	POP     DPH
	RET
LCDWD1:
	PUSH    DPH
	PUSH    DPL
        setb    Lcd_A0
	MOV     DPTR,#LCDD1PORT
	MOVX    @DPTR,A
	POP     DPL
	POP     DPH
	RET
LCDWD2:
	PUSH    DPH
	PUSH    DPL
        setb    Lcd_A0
	MOV     DPTR,#LCDD2PORT
	MOVX    @DPTR,A
	POP     DPL
	POP     DPH
	RET
LCDRD1:
	PUSH    DPH
	PUSH    DPL
        setb    lcd_A0
	MOV     DPTR,#LCDD1PORT
        MOVX    A,@DPTR
        MOVX    A,@DPTR
	POP     DPL
	POP     DPH
	RET
LCDRD2:
	PUSH    DPH
	PUSH    DPL
        setb    LCD_A0
	MOV     DPTR,#LCDD2PORT
        MOVX    A,@DPTR
        MOVX    A,@DPTR
	POP     DPL
	POP     DPH
	RET

⌨️ 快捷键说明

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