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

📄 122322c.asm.txt

📁 c51液晶程序,很好用的
💻 TXT
字号:


;	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 + -