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

📄 lcd.asm

📁 51r.例子,也是人家的,我改了下
💻 ASM
字号:
XPOS    EQU     20H             ;列方向地址指针(用于LCDPOS子程序)
YPOS    EQU     21H             ;行方向地址指针(用于LCDPOS子程序)
screen	equ		22h



RSPIN   EQU    P3.6          
RWPIN   EQU     P3.5            ;
EPIN    EQU     P3.2            ;
CS1PIN  EQU     P3.4            ;
CS2PIN  EQU     P3.3            ;
        ORG     0000H
        sJMP     START
START:  MOV     SP,#60H
		mov		r3,#02h
		mov		dptr,#82
		aCALL 	PUTSTR
MAIN:
        aCALL    LCDRESET
        MOV A,#0
        aCALL LCDFILL
        MOV DPTR,#STRING1
        aCALL PUTSTR
        ;aCALL PUTSTR
        sJMP MAIN
        
waiting:aCALL    LCDRESET
		MOV A,#0
        aCALL lcdfill
		orl	screen,#0ffh
		mov	dptr,#string2
		acall	putstr
		cpl		p2.3
		sjmp	waiting        
        
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:
	aCALL DELAY
 aCALL DELAY
 aCALL GETSTRCHAR
 PUSH DPL
 PUSH DPH
 JNC PSR_LAX
 JNB B.7,PSR_LBY
;CHINESE:
 aCALL HZKPOS
 aCALL PUTCHARDOT
 aCALL PUTCHARDOT
 
 
 sJMP PSR_LBX
PSR_LBY:
;ENGLISH:
 ;aCALL HZKPOS
 ;aCALL PUTCHARDOT
PSR_LBX:
 POP DPH
 POP DPL
 djnz	r3,putstr
 ret
 sJMP PUTSTR
 
 
 
PSR_LAX:POP DPH
 POP DPL
 RET
PUTCHARDOT:
 MOV R7,#8
PAC_PA:
 CLR A
 MOVC A,@A+DPTR
 aCALL LCDWRITE
 INC YPOS
 INC DPTR
 CLR A
 MOVC A,@A+DPTR
 aCALL LCDWRITE
 DEC YPOS
 INC DPTR
 aCALL 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
        aCALL    LCDWRITE        ;定位并写数据
        aCALL    CUSORNEXT
        MOV     A,XPOS
        JNZ     LFL_PA        
        MOV     A,YPOS
        JNZ     LFL_PB         
        RET
lcdfull_wait:
		mov		r7,a
		mov		ypos,#05
lpl_b:	mov		xpos,#30h
lfl_a:	mov		a,r7
		acall	lcdwrite
		acall	cusornext
		mov		a,xpos
		jnz		lfl_a
		mov		a,ypos
		jnz		lpl_b
		ret		        
        
        
LCDWRITE:                    ;定位并写数据子程序
        aCALL    LCDPOS       ;内部写数指针定位
        aCALL    LCDWD        ;写数据
        RET
CUSORNEXT:
 ANL YPOS,#07h
 INC XPOS
 MOV A,XPOS
 JNB ACC.7,CNT_LAX
 MOV XPOS,#0
 INC YPOS
 MOV A,YPOS
 ANL A,#0F8H
 JZ CNT_LAX
 MOV YPOS,#0
CNT_LAX:
 RET
LCDPOS:                      ;内部写数指针定位子程序
        PUSH    ACC
        MOV     A,XPOS
        JB      ACC.6,LPS_LAY
        MOV     A,YPOS
        ;jb		screen.0,here_xy
        sjmp	goon
here_xy:mov		ypos,#05h
goon:   ANL     A,#07H
        ;ADD     A,#0B8H
        orl		a,#0b8h
        aCALL    LCDWC1       ;设页码
        ;jb		screen.0,here_yx
        sjmp	goon_0
here_yx:mov		xpos,#30h
			        
goon_0: MOV     A,XPOS
        ANL     A,#3FH
        ORL     A,#40H
        aCALL    LCDWC1       ;设列码
        sJMP     LPS_LAX
LPS_LAY:MOV     A,YPOS       
        ANL     A,#07H
        ;ADD     A,#0B8H
        orl		a,#0b8h
        aCALL    LCDWC2       ;设页码
        MOV     A,XPOS
        ANL     A,#3FH
        ORL     A,#40H
        aCALL    LCDWC2       ;设列码
LPS_LAX:POP     ACC
        RET
LCDWD:                          ;送数据子程序
        MOV     B,A
        MOV     A,XPOS
        JB      ACC.6,LWD_LAY
        MOV     A,B             
        aCALL    LCDWD1
        sJMP     LWD_LAX
LWD_LAY:MOV     A,B             
        aCALL    LCDWD2
LWD_LAX:
        RET
        
        
LCDRESET:                       ;LCD控制器复位
        MOV     A,#3FH          ;打开LCD显示
        aCALL    LCDWC1
        aCALL    LCDWC2
        MOV     A,#0C0H         
        aCALL    LCDWC1
        aCALL    LCDWC2
        RET
LCDWC1:                         
        aCALL    WAITIDLE1
        clr		rwpin
        clr		rspin
        MOV     P1,A
        SETB    CS1PIN
        SETB    EPIN
        NOP
        CLR     EPIN
        CLR     CS1PIN
        RET
LCDWC2:                         ;送片2控制字子程序
        aCALL    WAITIDLE2
        
        clr		rwpin
        clr		rspin
        MOV     P1,A
        SETB    CS2PIN
        SETB    EPIN
        NOP
        CLR     EPIN
        CLR     CS2PIN
        RET
LCDWD1:                         ;片1写数据子程序
        aCALL    WAITIDLE1
        setb	rspin
        clr		rwpin
        MOV     P1,A
        SETB    CS1PIN
        SETB    EPIN
        NOP
        CLR     EPIN
        CLR     CS1PIN
        RET
LCDWD2: setb	rspin
        clr		rwpin                        
        aCALL    WAITIDLE2
        MOV     P1,A
        SETB    CS2PIN
        SETB    EPIN
        NOP
        CLR     EPIN
        CLR     CS2PIN
        RET
LCDRD1:                         
        aCALL    WAITIDLE1
        MOV     P1,#0FFH
        SETB    RSPIN           
        SETB    RWPIN
        SETB    CS1PIN
        SETB    EPIN
        NOP
        MOV     A,P1
        CLR     EPIN
        CLR     CS1PIN
        RET
LCDRD2:                         
        aCALL    WAITIDLE2
        MOV     P1,#0FFH
        SETB    RSPIN           
        SETB    RWPIN
        SETB    CS2PIN
        SETB    EPIN
        NOP
        MOV     A,P1
        CLR     EPIN
        CLR     CS2PIN
        RET
WAITIDLE1:ret
        MOV     P1,#0FFH
        CLR     RSPIN           
        SETB    RWPIN
        SETB    CS1PIN
        SETB    EPIN
WT1_PA: NOP
        JB      P1.7,WT1_PA
        CLR     EPIN
        CLR     CS1PIN
        RET
WAITIDLE2:ret
        CLR     RSPIN           
        SETB    RWPIN
        SETB    CS2PIN
        SETB    EPIN
WT2_PA: NOP
        JB      P1.7,WT2_PA
        CLR     EPIN
        CLR     CS2PIN
        RET
HZKDOT:



DB 00H,02H,04H,01H,84H,00H,44H,00H
db 0E4H,0FFH,34H,09H,2CH,09H,27H,09H
DB 24H,29H,24H,49H,24H,0C9H,0E4H,7FH
db 04H,00H,04H,00H,04H,00H,00H,00H		;"有",0

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

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

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



DB 	00H,00H,00H,01H,00H,01H,00H,01H
db	00H,01H,00H,01H,00H,01H,00H,01H	;"-",1

DB 	00H,00H,00H,01H,00H,01H,00H,01H
db	00H,01H,00H,01H,00H,01H,00H,01H;"-",2

DB 	00H,00H,00H,01H,00H,01H,00H,01H
db	00H,01H,00H,01H,00H,01H,00H,01H;"-",3


DB 	04H,20H,0FCH,3FH,04H,20H,00H,20H
DB	00H,20H,00H,30H,00H,08H,00H,00H;"L",0

DB 	0F0H,0FH,08H,10H,04H,20H,04H,20H
DB	04H,20H,08H,20H,1CH,10H,00H,00H;"C",1

DB 	04H,20H,0FCH,3FH,04H,20H,04H,20H
DB	04H,20H,18H,18H,0E0H,07H,00H,00H;"D",2


DB 	00H,02H,08H,01H,88H,00H,0C9H,7FH
db	2EH,01H,98H,02H,48H,44H,00H,20H;
DB 	08H,10H,08H,0CH,0F8H,03H,08H,20h
db	08H,40H,0FCH,3FH,08H,00H,00H,00H;"初",4

DB 	10H,40H,90H,21H,70H,12H,1FH,0CH
db	12H,06H,0F0H,09H,00H,30H,20H,00H
DB 	70H,7FH,28H,21H,27H,21H,22H,21H
db	28H,21H,70H,7FH,20H,00H,00H,00H;"始",5

DB 	80H,00H,40H,00H,20H,00H,0F8H,7FH
db	07H,00H,02H,04H,00H,02H,00H,01H
DB 	0FFH,3FH,0C0H,40H,60H,40H,30H,40H
db	1CH,40H,08H,78H,00H,00H,00H,00H	;"化",6

DB 	00H,80H,00H,80H,00H,80H,00H,80H
db	00H,80H,00H,80H,00H,80H,00H,80H	;"_",0

DB 	00H,00H,80H,20H,98H,20H,98H,3FH
db	00H,20H,00H,20H,00H,00H,00H,00H	;"i",1

DB 	80H,20H,80H,3FH,00H,21H,80H,00H
db	80H,00H,80H,20H,00H,3FH,00H,20H	;"n",2

DB 	00H,00H,00H,6BH,80H,94H,80H,94H
db	80H,94H,80H,93H,80H,60H,00H,00H	;"g",3


DB 	00H,00H,04H,20H,0FCH,3FH,04H,21H
db	04H,01H,04H,01H,88H,00H,70H,00H		;"P",0

DB 	00H,00H,00H,00H,00H,00H,04H,20H
db	0FCH,3FH,00H,20H,00H,00H,00H,00H	;"l",1

DB 	00H,00H,80H,1FH,40H,22H,40H,22H
db	40H,22H,40H,22H,80H,13H,00H,00H		;"e",2

DB 	00H,00H,80H,1CH,40H,22H,40H,22H
db	40H,22H,40H,12H,80H,3FH,00H,20H		;"a",3

DB 	00H,00H,80H,09H,40H,32H,40H,22H
db	40H,24H,0C0H,24H,00H,19H,00H,00H	;"s",4

DB 	00H,00H,80H,1FH,40H,22H,40H,22H
db	40H,22H,40H,22H,80H,13H,00H,00H		;"e",5--02

DB 	00H,00H,00H,00H,00H,00H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;" ",6

DB 	80H,0FH,80H,30H,00H,0CH,80H,03H
db	00H,0CH,80H,30H,80H,0FH,80H,00H		;"w",0

DB 	00H,00H,00H,19H,80H,24H,80H,22H
db	80H,22H,80H,22H,00H,3FH,00H,20H		;"a",1

DB 	00H,00H,80H,20H,98H,20H,98H,3FH
db	00H,20H,00H,20H,00H,00H,00H,00H		;"i",2

DB 	00H,00H,80H,00H,80H,00H,0E0H,1FH
db	80H,20H,80H,20H,00H,00H,00H,00H		;"t",3

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",4

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",5

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",6

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",7

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8



DB 	00H,00H,10H,20H,10H,20H,0F8H,3FH
db	00H,20H,00H,20H,00H,00H,00H,00H;"1",0

DB 	00H,00H,70H,30H,08H,28H,08H,24H
db	08H,22H,88H,21H,70H,30H,00H,00H;"2",1

DB 	00H,00H,30H,18H,08H,20H,88H,20H
db	88H,20H,48H,11H,30H,0EH,00H,00H;"3",2

DB 	00H,00H,00H,07H,0C0H,04H,20H,24H
db	10H,24H,0F8H,3FH,00H,24H,00H,00H;"4",3

DB 	00H,00H,0F8H,19H,08H,21H,88H,20H
db	88H,20H,08H,11H,08H,0EH,00H,00H;"5",4

DB 	00H,00H,0E0H,0FH,10H,11H,88H,20H
db	88H,20H,18H,11H,00H,0EH,00H,00H;"6",5

DB 	00H,00H,38H,00H,08H,00H,08H,3FH
db	0C8H,00H,38H,00H,08H,00H,00H,00H;"7",6

DB 	00H,00H,70H,1CH,88H,22H,08H,21H
db	08H,21H,88H,22H,70H,1CH,00H,00H;"8",7

DB 	00H,00H,0E0H,00H,10H,31H,08H,22H
db	08H,22H,10H,11H,0E0H,0FH,00H,00H;"9",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8

DB 	00H,00H,00H,30H,00H,30H,00H,00H
db	00H,00H,00H,00H,00H,00H,00H,00H		;".",8



STRING1: 	DB  80H,00H,80H,01H,80H,02H,80H,03H

			db	80H,04H,80H,05H,80H,06H,80H,07H
			
			db	80H,08H,80H,09H,80H,0aH,80H,0bH 
			
			db	80H,0cH,80H,0dH,80H,0eH,80H,0fH
			
			db	80H,10H,80H,11H,80H,12H,80H,13H
			
			db	80H,14H,80H,15H,80H,16H,80H,17H
			
			db	80H,18H,80H,19H	80H,1aH,80H,1bH
			
			db	80H,1cH,80H,1dH	80H,1eH,80H,1fH
			
			db	80H,20H,80H,21H	80H,22H,80H,23H
			
			db	0ffH

string2:	db	80h,16h,80h,17h
			db	0ffh			
			
			
			
			
			
;STRING2: DB  80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 

;03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,0ffH
        END

⌨️ 快捷键说明

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