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

📄 19264接口程序.txt

📁 1926419264jiekou,能够显示图像
💻 TXT
📖 第 1 页 / 共 3 页
字号:
案例1:
19264接口程序(MCS51总线方式)
;***************************************************************************
;                                           
;*  DESCRIPTION:This subroutine shows how to write data to LCD-CONTROLLER  *
;***************************************************************************
;连线图: *LCM---8031* *LCM---8031* *LCM------------8031* *LCM----------8031*
;        *DB0---P0.0* *DB4---P0.4* *RS-------------P2.0* *CSA----------P2.2*
;        *DB1---P0.1* *DB5---P0.5* *RW-------------P2.3* *CSB----------P2.1*
;        *DB2---P0.2* *DB6---P0.6* *E--NAND GATE---P2.7/P3.6/P3.7          *  
;        *DB3---P0.3* *DB7---P0.7* */RST-----------VDD                     *
;注:8031的晶振频率为12MHz                                                  *
;***************************************************************************
RWADDR          EQU     0800H   ;P2.3
CSAADDR		EQU	0400H	;P2.2	
CSBADDR		EQU	0200H	;P2.1
RSADDR		EQU	0100H	;P2.0
CSADDR		EQU	8000H	;P2.7
XPOS            EQU     20H
YPOS            EQU     21H
        ORG     0000H
        JMP     START
START:  MOV     SP,#60H
MAIN:        
        CALL    LCDRESET
        MOV	A,#55H
        CALL	LCDFILL
        MOV	DPTR,#STRING1
        CALL	PUTSTR
        CALL	PUTSTR
        JMP	MAIN
DELAY400MS:
        MOV     R0,#20              ;延时子程序(400MS)
DL4_PA: MOV     R1,#100
DL4_PB: MOV     R2,#100
        DJNZ    R2,$
        DJNZ    R1,DL4_PB
        DJNZ    R0,DL4_PA
        RET
DELAY:
	MOV	R6,#2
DLY_PA:	MOV	R5,#0
DLY_PB:	MOV	R4,#0
	DJNZ	R4,$
	DJNZ	R5,DLY_PB
	DJNZ	R6,DLY_PA
	RET        
GETSTRCHAR:        
GSC_PA:	
	CLR	A
	MOVC	A,@A+DPTR
	INC	DPTR
	MOV	B,A
	INC	A
	CLR	C
	JZ	GSC_LAX
	CLR	A
	MOVC	A,@A+DPTR
	INC	DPTR
	SETB	C
GSC_LAX:	
	RET
PUTSTR:
	CALL	DELAY
	CALL	GETSTRCHAR
	PUSH	DPL
	PUSH	DPH
	JNC	PSR_LAX
	JNB	B.7,PSR_LBY
;CHINESE:
	CALL	HZKPOS
	CALL	PUTCHARDOT
	CALL	PUTCHARDOT
	JMP	PSR_LBX
PSR_LBY:
;ENGLISH:
	CALL	HZKPOS
	CALL	PUTCHARDOT
PSR_LBX:
	POP	DPH
	POP	DPL
	JMP	PUTSTR
PSR_LAX:POP	DPH
	POP	DPL	
	RET
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
HZKPOS:
	MOV	R2,#5
HTP_PA:	
	CLR	C
	RLC	A
	XCH	A,B
	RLC	A
	XCH	A,B
	DJNZ	R2,HTP_PA
	
	MOV	DPTR,#HZKDOT
	ADD	A,DPL
	MOV	DPL,A
	MOV	A,B
	ADDC	A,DPH
	MOV	DPH,A
	RET	
LCDFILL:                        ;LCD整屏显示A的内容
        MOV     R7,A
        MOV     YPOS,#0
LFL_PB: MOV     XPOS,#0
LFL_PA: MOV     A,R7
        CALL    LCDWRITE        ;定位并写数据
        CALL    CUSORNEXT
        MOV     A,XPOS
        JNZ     LFL_PA          
        MOV     A,YPOS
        JNZ     LFL_PB        
        RET
LCDWRITE:                    ;定位并写数据子程序
        CALL    LCDPOS       ;内部写数指针定位
        CALL    LCDWD        ;写数据
        RET

CUSORNEXT:
	ANL	YPOS,#7
	INC	XPOS
	MOV	A,XPOS
	CJNE    A,#192,CNT_LAX
	MOV	XPOS,#0
	INC	YPOS
	MOV	A,YPOS
	ANL	A,#0F8H
	JZ	CNT_LAX
	MOV	YPOS,#0
CNT_LAX:	
	RET
	
LCDWD:	MOV	B,A
	MOV	A,XPOS
	CJNE	A,#64,$+3
	JNC	LWD_LA1
	MOV	A,B
	CALL	LCDWD1
	JMP	LWD_LAX
LWD_LA1:CJNE	A,#128,$+3
	JNC	LWD_LA2
	MOV	A,B
	CALL	LCDWD2
	JMP	LWD_LAX
LWD_LA2:CJNE	A,#192,$+3
	JNC	LWD_LA3		
	MOV	A,B
	CALL	LCDWD3
	JMP	LWD_LAX
LWD_LA3:
LWD_LAX:
	RET	
LCDPOS:
	PUSH	ACC
	MOV	A,YPOS
	ANL	A,#7
	ADD	A,#0B8H
	MOV	B,A
	MOV	A,XPOS
	CJNE	A,#64,$+3
	JNC	LPS_LA1
	ANL	A,#3FH
	ORL	A,#40H
	CALL	LCDWC1
	MOV	A,B
	CALL	LCDWC1
	JMP	LPS_LAX
LPS_LA1:CJNE	A,#128,$+3
	JNC	LPS_LA2
	ANL	A,#3FH
	ORL	A,#40H
	CALL	LCDWC2
	MOV	A,B
	CALL	LCDWC2
	JMP	LPS_LAX
LPS_LA2:CJNE	A,#192,$+3
	JNC	LPS_LA3		
	ANL	A,#3FH
	ORL	A,#40H
	CALL	LCDWC3
	MOV	A,B
	CALL	LCDWC3
	JMP	LPS_LAX
LPS_LA3:
LPS_LAX:
	POP	ACC
	RET	
LCDRESET:                                               ;LCD控制器复位
	MOV	A,#3EH                                  ;关LCD显示  
	CALL	LCDWC1
	CALL	LCDWC2
	CALL    LCDWC3
	MOV	A,#3FH                                  ;打开LCD显示  
	CALL	LCDWC1
	CALL    LCDWC2
	CALL	LCDWC3
	MOV     A,#0C0H                                 ;设首址
	CALL    LCDWC1
	CALL    LCDWC2
	CALL    LCDWC3
	RET	
LCDWC1: 
        PUSH    DPL
        PUSH    DPH
                                                        ;送片1控制字子程序
	CALL    WAITIDLE1
	MOV	DPTR,#CSADDR	                        ;E=1 CSA=0 CSB=0 RS=0 RW=0
	MOVX	@DPTR,A
	POP     DPH
	POP     DPL
       	RET
LCDWC2:                                                 ;送片2控制字子程序
        PUSH    DPL
        PUSH    DPH
        CALL	WAITIDLE2
	MOV	DPTR,#CSADDR+CSBADDR	                ;E=1 CSA=0 CSB=1 RS=0 RW=0
	MOVX	@DPTR,A
	POP     DPH
	POP     DPL
       	RET
LCDWC3:                                                 ;送片3控制字子程序
        PUSH    DPL
        PUSH    DPH
	CALL	WAITIDLE3
	MOV	DPTR,#CSADDR+CSAADDR	                ;E=1 CSA=1 CSB=0 RS=0 RW=0
	MOVX	@DPTR,A
	POP     DPH
	POP     DPL
       	RET
LCDWD1:	            		                        ;片1写数据子程序                 
        PUSH    DPL
        PUSH    DPH
	CALL	WAITIDLE1
	MOV	DPTR,#CSADDR+RSADDR	                ;E=1 CSA=0 CSB=0 RS=1 RW=0
	MOVX	@DPTR,A
	POP     DPH
	POP     DPL
       	RET       
LCDWD2:	                                                ;片2写数据子程序
        PUSH    DPL
        PUSH    DPH
	CALL	WAITIDLE2
	MOV	DPTR,#CSADDR+CSBADDR+RSADDR	        ;E=1 CSA=0 CSB=1 RS=1 RW=0
	MOVX	@DPTR,A
	POP     DPH
	POP     DPL
       	RET       
LCDWD3:	                                                ;片3写数据子程序
        PUSH    DPL
        PUSH    DPH
	CALL	WAITIDLE3
	MOV	DPTR,#CSADDR+CSAADDR+RSADDR	        ;E=1 CSA=1 CSB=0 RS=1 RW=0
	MOVX	@DPTR,A
	POP     DPH
	POP     DPL
       	RET       
WAITIDLE1:
        PUSH    ACC
        MOV     DPTR,#CSADDR+RWADDR                     ;E=1  CSA=0 CSB=0 RS=0 RW=1
WT_PA: MOVX     A,@DPTR
        JB      ACC.7,WT_PA
        POP     ACC
        RET
WAITIDLE2:
        PUSH    ACC
        MOV     DPTR,#CSADDR+CSBADDR+RWADDR             ;E=1 CSA=0 CSB=1 RS=0 RW=1
WT1_PA: MOVX    A,@DPTR
        JB      ACC.7,WT1_PA
        POP     ACC
        RET
WAITIDLE3:
        PUSH    ACC
        MOV     DPTR,#CSADDR+CSAADDR+RWADDR             ;E=1 CSA=1 CSB=0 RS=0 RW=1
WT2_PA: MOVX    A,@DPTR
        JB      ACC.7,WT2_PA
        POP     ACC
        RET
HZKDOT:	
	;(d3d0H)(有)(8000)
DB	 04H, 04H, 04H, 02H, 04H, 01H, 84H, 00H
DB	0e4H,0ffH, 3cH, 09H, 27H, 09H, 24H, 09H
DB	 24H, 09H, 24H, 49H, 24H, 89H,0f4H, 7fH
DB	 24H, 00H, 06H, 00H, 04H, 00H, 00H, 00H
;(cfdeH)(限)(8001)
DB	 00H, 00H,0feH,0ffH, 02H, 08H, 22H, 10H
DB	0daH, 08H, 06H, 07H, 00H, 00H,0feH,0ffH
DB	 92H, 42H, 92H, 24H, 92H, 08H, 92H, 14H
DB	0ffH, 22H, 02H, 61H, 00H, 20H, 00H, 00H
;(b9abH)(公)(8002)
DB	 00H, 01H, 00H, 01H, 80H, 00H, 40H, 30H
DB	 30H, 28H, 0cH, 24H, 00H, 23H,0c0H, 20H
DB	 06H, 20H, 18H, 28H, 20H, 30H, 40H, 60H
DB	 80H, 00H, 80H, 01H, 80H, 00H, 00H, 00H
;(cbbeH)(司)(8003)
DB	 10H, 00H, 10H, 00H, 92H, 3fH, 92H, 10H
DB	 92H, 10H, 92H, 10H, 92H, 10H, 92H, 10H
DB	0d2H, 3fH, 9aH, 00H, 12H, 40H, 02H, 80H
DB	0ffH, 7fH, 02H, 00H, 00H, 00H, 00H, 00H
	;(d3d0H)(有)(8004)
DB	 04H, 04H, 04H, 02H, 04H, 01H, 84H, 00H
DB	0e4H,0ffH, 3cH, 09H, 27H, 09H, 24H, 09H
DB	 24H, 09H, 24H, 49H, 24H, 89H,0f4H, 7fH
DB	 24H, 00H, 06H, 00H, 04H, 00H, 00H, 00H
;(cfdeH)(限)(8005)
DB	 00H, 00H,0feH,0ffH, 02H, 08H, 22H, 10H
DB	0daH, 08H, 06H, 07H, 00H, 00H,0feH,0ffH
DB	 92H, 42H, 92H, 24H, 92H, 08H, 92H, 14H
DB	0ffH, 22H, 02H, 61H, 00H, 20H, 00H, 00H
;(b9abH)(公)(8006)
DB	 00H, 01H, 00H, 01H, 80H, 00H, 40H, 30H
DB	 30H, 28H, 0cH, 24H, 00H, 23H,0c0H, 20H
DB	 06H, 20H, 18H, 28H, 20H, 30H, 40H, 60H
DB	 80H, 00H, 80H, 01H, 80H, 00H, 00H, 00H
;(cbbeH)(司)(8007)
DB	 10H, 00H, 10H, 00H, 92H, 3fH, 92H, 10H
DB	 92H, 10H, 92H, 10H, 92H, 10H, 92H, 10H
DB	0d2H, 3fH, 9aH, 00H, 12H, 40H, 02H, 80H
DB	0ffH, 7fH, 02H, 00H, 00H, 00H, 00H, 00H
	;(d3d0H)(有)(8008)
DB	 04H, 04H, 04H, 02H, 04H, 01H, 84H, 00H
DB	0e4H,0ffH, 3cH, 09H, 27H, 09H, 24H, 09H
DB	 24H, 09H, 24H, 49H, 24H, 89H,0f4H, 7fH
DB	 24H, 00H, 06H, 00H, 04H, 00H, 00H, 00H
;(cfdeH)(限)(8009)
DB	 00H, 00H,0feH,0ffH, 02H, 08H, 22H, 10H
DB	0daH, 08H, 06H, 07H, 00H, 00H,0feH,0ffH
DB	 92H, 42H, 92H, 24H, 92H, 08H, 92H, 14H
DB	0ffH, 22H, 02H, 61H, 00H, 20H, 00H, 00H
;(b9abH)(公)(800a)
DB	 00H, 01H, 00H, 01H, 80H, 00H, 40H, 30H
DB	 30H, 28H, 0cH, 24H, 00H, 23H,0c0H, 20H
DB	 06H, 20H, 18H, 28H, 20H, 30H, 40H, 60H
DB	 80H, 00H, 80H, 01H, 80H, 00H, 00H, 00H
;(cbbeH)(司)(800b)
DB	 10H, 00H, 10H, 00H, 92H, 3fH, 92H, 10H
DB	 92H, 10H, 92H, 10H, 92H, 10H, 92H, 10H
DB	0d2H, 3fH, 9aH, 00H, 12H, 40H, 02H, 80H
DB	0ffH, 7fH, 02H, 00H, 00H, 00H, 00H, 00H
STRING1:	DB	 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H, 80H, 04H, 80H, 05H, 80H, 06H, 80H, 07H, 80H, 08H, 80H, 09H, 80H, 0aH,80H, 0bH,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H, 80H, 04H, 80H, 05H, 80H, 06H, 80H, 07H, 80H, 08H, 80H, 09H, 80H, 0aH,80H, 0bH,0ffH
STRING2:	DB	 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H, 80H, 04H, 80H, 05H, 80H, 06H, 80H, 07H, 80H, 08H, 80H, 09H, 80H, 0aH,80H, 0bH,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H, 80H, 04H, 80H, 05H, 80H, 06H, 80H, 07H, 80H, 08H, 80H, 09H, 80H, 0aH,80H, 0bH,0ffH
        END







案例2:
19264 接口程序(MCS51模拟方式)仅供参考。
;***************************************************************************
;连线图:
;*LCM---89C52* *LCM---89C52* *LCM-------89C52* *LCM----------89C52* *
;*DB0---P0.0* *DB4---P0.4* *D/I-------P2.6* *CS1----------P2.4* *
;*DB1---P0.1* *DB5---P0.5* *R/W-------P2.7* *CS2----------P2.5* *
;*DB2---P0.2* *DB6---P0.6* */RST-------VCC* *CS3----------P3.2* * 
;*DB3---P0.3* *DB7---P0.7* *E---------P2.3* *
;注:89C52的晶振频率为12MHz *
;***************************************************************************
;接口引脚定义:
ELCM EQU P2.3
CS1 EQU P2.4
CS2 EQU P2.5
CS3 EQU P3.2
DI EQU P2.6
RW EQU P2.7
DATA_LCM EQU P0
;内存RAM分配
XPOS EQU 30H  ;X坐标
YPOS EQU 31H  ;Y坐标
;液晶片分区参数
PD1 EQU 40H  ;每一个分区宽64点
;主程序开始
ORG 0000H

⌨️ 快捷键说明

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