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

📄 122329.asm

📁 该程序为清达光电的122329型号的液晶测试程序
💻 ASM
字号:

;	RS--------P3.3
;	R/W-------P3.1
;	E---------P3.0
;	DB0~7-----P1
;该程序为并口方式控制,复位脚上电后请置高
RS		EQU	P3.3
RW	        EQU	P3.1
E		EQU	P3.0

	ORG	0000H
	AJMP	START
	ORG	0003H

START:
	MOV  IE,#81H 	       ;EXT. INT0 PERMIT
	MOV  IP,#01H 	       ;INT0 IS FIRST INT. LEVEL
	MOV  TCON,#00H	       ;TIMER/COUNTER CONTROLER INIT.
	mov  SP, #67h
	LCALL DELAY
	LCALL DELAY
	LCALL SETUP         ;初始化
	LCALL DEF_CHAR       ;显示我们自造的图形
	MOV  A,#80H
	LCALL WRITE_COM
	MOV  R3,#8
TEST11:
MOV  DPTR,#CGRAM1	;CGRAM TEST
	LCALL WRITE_CGRAM
	DJNZ R3,TEST11
	MOV  A,#90H
	LCALL WRITE_COM
	MOV  R3,#8
TEST12:
MOV  DPTR,#CGRAM1
	LCALL WRITE_CGRAM
	DJNZ  R3,TEST12
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	MOV  A,#80H
	LCALL WRITE_COM
	MOV  R3,#8
TEST21:
MOV  DPTR,#CGRAM2
	LCALL WRITE_CGRAM
	DJNZ R3,TEST21
	MOV  A,#90H
	LCALL WRITE_COM
	MOV  R3,#8
TEST22:
MOV  DPTR,#CGRAM2
	LCALL WRITE_CGRAM
	DJNZ  R3,TEST22
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	MOV  A,#80H
	LCALL WRITE_COM
	MOV  R3,#8
TEST31:
MOV  DPTR,#CGRAM3
	LCALL WRITE_CGRAM
	DJNZ R3,TEST31
	MOV  A,#90H
	LCALL WRITE_COM
	MOV  R3,#8
TEST32:
MOV  DPTR,#CGRAM3
	LCALL WRITE_CGRAM
	DJNZ  R3,TEST32
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	MOV  A,#80H
	LCALL WRITE_COM
	MOV  R3,#8
TEST41:
MOV  DPTR,#CGRAM4
	LCALL WRITE_CGRAM
	DJNZ R3,TEST41
	MOV  A,#90H
	LCALL WRITE_COM
	MOV  R3,#8
TEST42:
MOV  DPTR,#CGRAM4
	LCALL WRITE_CGRAM
	DJNZ  R3,TEST42
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY

	MOV  A,#80H		;WORD TEST
	LCALL WRITE_COM
	MOV  DPTR,#CHINESE
	LCALL WRITE_HZ
	MOV  A,#90H
	LCALL WRITE_COM
	MOV DPTR,#TABLE1
	LCALL WRITE_ASCII
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
;下面开始使用字符库里的字符汉字显示了
	MOV  A,#80H                  ;第一行显示‘HANGZHOU SUNTEK’
	LCALL WRITE_COM
	MOV  DPTR,#table1
	LCALL WRITE_ascii
	MOV  A,#90H
	LCALL WRITE_COM
	MOV DPTR,#chinese         ;第二行显示‘杭州清达光电技术’
	LCALL WRITE_hz
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
AAA:	LJMP START

SETUP:
	LCALL DELAY
	LCALL DELAY
	LCALL DELAY
	MOV  A,#01H		;CLEAR DISPLAY
	LCALL WRITE_COM
	MOV  A,#00110000B	;FUNCTION SETTING
	LCALL WRITE_COM
	MOV  A,#00000010B	;DDRAM SET TO '00H'
	LCALL WRITE_COM
	MOV  A,#00000100B	;
	LCALL WRITE_COM
	MOV  A,#00001100B	;DISPLAY ON
	LCALL WRITE_COM
	MOV  A,#00000001B	;CLEARING SCREEN
	LCALL WRITE_COM
	MOV  A,#10000000B	;SET DDRAM ADDRESS
	LCALL WRITE_COM
	RET

WRITE_COM:				;WRIT///cv
;WRITE COMMANDS TO ST7920
	LCALL DELAY1		;INSTEAD OF CHECKING BF STATE
	CLR  RS
	CLR  RS
	CLR  RW
	CLR  RW
	MOV  P1,A
	MOV  P1,A
	SETB E
	SETB E
	NOP
	NOP
	CLR  E
	CLR  E
	;LCALL DELAY1
	RET
WRITE_DAT:			;WRITE DISPLAY DATAS TO ST79220
	LCALL DELAY1
	SETB RS
	SETB RS
	CLR  RW
	CLR  RW
	MOV  P1,A
	MOV  P1,A
	SETB E
	SETB E
	NOP
	NOP
	CLR  E
	CLR  E
	RET

DELAY1:
	MOV  R7,#010H
D11:	MOV  R6,#010H
	DJNZ R6,$
	DJNZ R7,D11
	RET

DELAY:
	MOV  R1,#00H
D2:	MOV  R2,#00H
	DJNZ R2,$
	DJNZ R1,D2
	RET

DEF_CHAR:			;WRITE TO CGRAM       这里是我们自造的图形
	MOV  A,#01000000B	;SET CGRAM ADDRESS
	LCALL WRITE_COM
	MOV  R3,#8
DEF1:
MOV  A,#000H
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	MOV  A,#0FFH
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	DJNZ R3,DEF1
	MOV  R3,#8
DEF2:
MOV  A,#0AAH
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	MOV  A,#0AAH
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	DJNZ R3,DEF2
	MOV  R3,#8
DEF3:
MOV  A,#055H
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	MOV  A,#0AAH
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	DJNZ R3,DEF3
	mov  R3,#8
DEF4:
MOV  A,#0FFH
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	LCALL WRITE_DAT
	DJNZ R3,DEF4
	RET
WRITE_ASCII:
		MOV  R4,#16
DDDD:	CLR  A
		MOVC A,@A+DPTR
		LCALL WRITE_DAT
		INC  DPTR
		DJNZ R4,DDDD
		RET
WRITE_HZ:		;WRITE 8 CHINESE TO LCD
		MOV  R4,#8
DD:	CLR  A
		MOVC A,@A+DPTR
		INC  DPTR
		LCALL WRITE_DAT
		CLR  A
		MOVC A,@A+DPTR
		INC DPTR
		LCALL WRITE_DAT
		DJNZ R4,DD
		RET

WRITE_CGRAM:		;CGRAM TESTING
		CLR  A
		MOVC A,@A+DPTR
		LCALL WRITE_DAT
		INC  DPTR
		CLR  A
		MOVC A,@A+DPTR
		LCALL WRITE_DAT
		RET

TABLE1: DB 48H,41H,4EH,47H,5AH,48H,4FH,55H   ;显示“HANGZHOU SUNTEK ”,这里可直接输入字符,同下面的汉字一样
        DB 20H,53H,55H,4EH,54H,45H,4BH,21H
CGRAM1:	DB 000H,000H       ;这里是自造字符地址表
CGRAM2:	DB 000H,002H
CGRAM3:	DB 000H,004H
CGRAM4:	DB 000H,006H
CHINESE: DB '¥杭州清达光电!';DB 0A1H,0F1H,0BAH,0BCH,0D6H,0DDH,0C7H,0E5H
END

⌨️ 快捷键说明

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