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

📄 12864.asm

📁 基于51单片机的12864液晶显示源程序
💻 ASM
字号:
;*********************************************
;*		LCD12864 		     *
;*          孙高朝   17/11/2008	             *
;*********************************************
RS EQU P2.7
RW EQU P2.6
EN EQU P2.5
PSB EQU P2.4
RST EQU P2.2
COUNT EQU 30H
STORE EQU 31H
LCD_X EQU 32H
LCD_Y EQU 33H
COUNT1 EQU 34H
COUNT2 EQU 35H
COUNT3 EQU 36H
ORG 00H
AJMP MAIN
ORG 0100H

MAIN:	

	ACALL INI
	ACALL DELAY2
	ACALL LOGO	
	LCALL CLEAR
	ACALL HANZI
	ACALL DELAY2
	LCALL CLEAR
	AJMP MAIN
	
	
;************************************
;*	     lcd初始化		    *
;************************************	
INI:
	CLR RST
	LCALL DELAY2
	SETB PSB
	SETB RST
	MOV A,#34H  ;扩展指令集
	LCALL WR_COMM
	MOV A,#30H  ;基本指令集
	LCALL WR_COMM
	MOV A,#01H ;清屏
	LCALL WR_COMM
	MOV A,#06H   ;指定在资料写入或读取时,光标的移动方向
	LCALL WR_COMM
	MOV A,#0CH  ;开显示,关光标,不闪烁
	LCALL WR_COMM
	RET
;*****************显示汉字************
HANZI:
HANZI1:
	MOV DPTR,#TABLE1 ;取表
	MOV COUNT,#10H	;16字节 8个汉字
	MOV A,#80H	;DDRAM第一行地址
	LCALL WR_COMM
	ACALL QUSHU

HANZI2:
	MOV DPTR,#TABLE2
	MOV COUNT,#10H
	MOV A,#90H      
	LCALL WR_COMM
	ACALL QUSHU
HANZI3:
	MOV DPTR,#TABLE3
	MOV COUNT,#10H
	MOV A,#88H
	LCALL WR_COMM
	ACALL QUSHU
	
HANZI4:
	MOV DPTR,#TABLE4
	MOV COUNT,#16
	MOV A,#98H
	LCALL WR_COMM
	ACALL QUSHU
	LCALL DELAY2
	LCALL SHANGSHUO
	RET
;*****************开机图形显示***********
LOGO:
	MOV DPTR,#TUTAB1
	LCALL CHULI
	LCALL DELAY1
	RET
;****************图形显示处理*********
CHULI:	
	MOV COUNT3,#02H  ;重新定义GDRAM内存分布
	MOV LCD_X,#80H
C3:	MOV LCD_Y,#80H
	MOV COUNT2,#20H
C2:	MOV COUNT1,#10H
	LCALL QISHI
C1:	
	CLR A
	MOVC A,@A+DPTR
	LCALL WR_DATA
	INC DPTR
	DJNZ COUNT1,C1
	INC LCD_Y
	DJNZ COUNT2,C2
	MOV LCD_X,#88H
	DJNZ COUNT3,C3
	
	MOV A,#36H 	;开扩展指令集,开图形显示G=1
	LCALL WR_COMM
	MOV A,#30H
	LCALL WR_COMM
	RET
;*************定义坐标起始点******	
QISHI:
	MOV A,#34H	;扩展指令集,关图形显示G=0
	LCALL WR_COMM
	MOV A,LCD_X
	LCALL WR_COMM
	MOV A,LCD_Y
	LCALL WR_COMM
	MOV A,#30H
	LCALL WR_COMM
	RET					
;*****************字体闪烁************
SHANGSHUO:
	MOV R3,#3
S1:	MOV A,#08H      ;关显示
	LCALL WR_COMM
	LCALL DELAY1
	MOV A,#0CH
	LCALL WR_COMM   ;开显示
	LCALL DELAY1
	DJNZ R3,S1      ;循环闪烁
	RET 	
;*****************读取数据************
QUSHU:
     CLR A
     MOVC A,@A+DPTR       ;查表取数据
     LCALL WR_DATA          ;送显示
     INC DPTR
     LCALL DELAY2           ;延时1ms,
     DJNZ COUNT,QUSHU
     RET
;************清屏程序*****************
CLEAR:
	MOV A,#01H
	LCALL WR_COMM
	RET
;*************************************
;*	    写命令子程序             *
;*         RS=0,RW=0,EN=1	     *		
;*************************************	
WR_COMM:
	ACALL CHK_BUSY
	CLR RS
	CLR RW
	MOV P0,A
	SETB EN
	NOP 
	NOP 
	CLR EN
	RET

;*************************************
;*	    写数据 子程序            *
;*         RS=1,RW=0,EN=1	     *		
;*************************************
WR_DATA:
	ACALL CHK_BUSY
	SETB RS
	CLR RW
	MOV P0,A
	SETB EN
	NOP 
	NOP 
	CLR EN
	RET
;================================================
;读数据子程序
;RS=1,RW=1,E=H,D0-D7=数据
;================================================
RD_DATA:
    LCALL CHK_BUSY    ;读数据子程序
    SETB RS
    SETB RW
    SETB EN
    NOP
    MOV A,P0
    CLR EN
    MOV STORE,A
    RET
	
;*************************************
;*	    循环测忙子程序           *
;*          RS=0,RW=1,EN=1	     *		
;*************************************
CHK_BUSY:
	MOV P0,#0FFH
	CLR RS
	SETB RW
	NOP 
	NOP
	SETB EN
	JB P0.7,$
	CLR EN
	RET
;***************延时程序**************
DELAY1:
	MOV R0,#50  ;1s延时
D1:	MOV R1,#100
D2:	MOV R2,#100
	DJNZ R2,$
	DJNZ R1,D2
	DJNZ R0,D1
DELAY2:
	MOV R4,#5  ;1ms延时
D3:	MOV R5,#100
D4:	MOV R6,#100
	DJNZ R6,$
	DJNZ R5,D4
	DJNZ R4,D3
	RET

;*************汉字字符表***************
TABLE:  
TABLE1:	DB '  福建农林大学  ' ;第一行汉字
TABLE2:	DB '05电科    孙高朝' ;第二行汉字
TABLE3:	DB ' welcome to mcu ' ;第三行汉字
TABLE4:	DB '  www.fafu.com  ' ;第四行汉字
;*************图形字符表***************
TUTAB:
TUTAB1:	
	db  0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
	db	 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
	db	 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 11h,0FFh, 80h, 40h, 08h, 30h, 10h, 20h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 68h, 3Fh,0FFh, 08h, 30h, 11h,0F8h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 68h, 3Fh,0FFh, 08h, 30h, 11h,0F8h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h,0FFh, 00h, 00h, 7Fh,0FEh, 7Dh, 08h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 11h, 6Bh, 07h,0FCh, 16h, 30h, 2Dh,0F8h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Dh,0FFh, 04h, 0Ch, 16h, 30h, 2Dh, 08h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 00h, 3Fh,0FFh, 16h, 30h, 2Dh,0F8h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 00h, 3Fh,0FFh, 16h, 30h, 2Dh,0F8h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch,0FFh, 30h, 01h, 66h,0FEh, 2Dh, 26h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 1Ch, 00h, 03h,0F0h, 76h, 82h, 2Dh, 28h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Dh,0FFh, 82h, 11h, 08h, 82h, 11h, 10h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 8Bh, 04h, 11h, 16h, 82h, 2Dh, 28h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 8Bh, 04h, 11h, 16h, 82h, 2Dh, 28h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Dh, 18h,0B8h, 1Fh, 60h,0FEh, 41h,0C6h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 07h, 8Fh,0FFh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 08h, 70h, 40h,0EFh, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 08h, 70h, 40h,0EFh, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 10h, 00h, 80h, 10h, 60h, 00h, 0Fh,0FFh, 30h, 0Ch, 00h, 80h, 00h, 00h, 00h
	db	 00h, 20h, 18h, 38h, 20h, 60h, 00h, 00h, 60h, 08h, 0Ch, 1Fh,0FCh, 1Ch, 00h, 00h
	db	 00h,0C0h, 64h, 45h, 00h, 60h, 00h, 03h,0FCh, 0Bh,0FFh, 00h, 80h, 3Eh, 00h, 00h
	db	 00h,0C1h, 00h, 01h, 00h, 10h, 00h, 00h, 80h, 00h, 0Ch, 08h, 88h, 3Eh, 00h, 00h
	db	 00h,0C1h, 00h, 01h, 00h, 10h, 00h, 00h, 80h, 00h, 0Ch, 08h, 88h, 3Eh, 00h, 00h
	db	 01h, 01h, 00h, 00h,0C0h, 10h, 00h, 1Fh,0FFh,0BDh, 8Ch, 06h,0B0h, 3Eh, 00h, 00h
	db	 02h, 0Eh, 18h, 1Ch,0C0h, 10h, 00h, 01h, 00h, 04h, 4Ch, 7Fh,0FEh, 1Ch, 00h, 00h
	db	 02h, 16h, 64h, 22h, 20h, 10h, 00h, 03h,0FCh, 04h, 4Ch, 01h,0C0h, 1Ch, 00h, 00h
	db	 02h, 16h, 64h, 22h, 20h, 10h, 00h, 03h,0FCh, 04h, 4Ch, 01h,0C0h, 1Ch, 00h, 00h
	db	 04h,0E8h, 83h, 41h, 1Ch, 08h, 00h, 0Dh, 04h, 04h, 0Ch, 06h,0B0h, 00h, 00h, 00h
	db	 07h, 10h, 8Fh, 47h, 03h, 88h, 00h, 11h,0FCh, 04h, 3Ch, 08h, 88h, 1Ch, 00h, 00h
	db	 00h, 20h, 6Ch, 26h, 01h, 78h, 00h, 01h, 04h, 0Ah, 00h, 70h, 86h, 1Ch, 00h, 00h
	db	 00h,0C0h, 18h, 1Ch, 00h, 80h, 00h, 01h,0FCh, 31h,0FFh, 00h, 80h, 00h, 00h, 00h
	db	 00h,0C0h, 18h, 1Ch, 00h, 80h, 00h, 01h,0FCh, 31h,0FFh, 00h, 80h, 00h, 00h, 00h
	db	 00h,0C1h, 87h, 80h, 00h, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 01h, 06h, 78h, 3Ch, 20h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 01h, 08h, 07h,0C2h,0C0h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 01h, 08h, 00h, 01h,0C0h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 01h, 08h, 00h, 01h,0C0h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 01h, 08h, 18h, 01h,0C0h, 60h, 00h, 00h, 00h,0F1h,0F3h, 87h,0C0h, 00h, 00h, 00h
	db	 00h,0C6h, 18h,0C2h, 20h, 80h, 00h, 00h, 03h, 0Eh, 1Ch, 78h, 70h, 00h, 00h, 00h
	db	 00h,0C1h, 00h,0C2h, 00h, 80h, 00h, 00h, 04h, 44h, 11h, 10h, 38h, 00h, 00h, 00h
	db	 00h, 26h,0E0h, 04h, 01h, 00h, 00h, 00h, 04h, 80h, 12h, 00h, 38h, 00h, 00h, 00h
	db	 00h, 26h,0E0h, 04h, 01h, 00h, 00h, 00h, 04h, 80h, 12h, 00h, 38h, 00h, 00h, 00h
	db	 00h, 11h, 18h, 38h, 03h, 00h, 00h, 00h, 04h, 80h, 12h, 00h, 38h, 00h, 00h, 00h
	db	 00h, 0Eh, 87h,0C2h, 1Ch, 00h, 00h, 00h, 04h, 00h, 10h, 00h, 38h, 00h, 00h, 00h
	db	 00h, 01h,0E0h, 04h,0E0h, 00h, 00h, 00h, 03h, 00h, 1Ch, 00h, 70h, 00h, 00h, 00h
	db	 00h, 1Eh, 18h, 3Fh, 1Eh, 00h, 00h, 00h, 00h, 80h, 32h, 00h,0C0h, 00h, 00h, 00h
	db	 00h, 1Eh, 18h, 3Fh, 1Eh, 00h, 00h, 00h, 00h, 80h, 32h, 00h,0C0h, 00h, 00h, 00h
	db	 00h, 38h, 07h,0C0h, 0Fh, 00h, 00h, 00h, 00h, 40h, 61h, 01h, 80h, 00h, 00h, 00h
	db	 00h,0E9h,0FFh,0FFh, 0Dh, 80h, 00h, 00h, 00h, 31h,0C0h, 87h, 00h, 00h, 00h, 00h
	db	 01h,0E9h, 1Bh,0B9h, 0Dh,0E0h, 00h, 00h, 00h, 0Bh, 80h, 6Eh, 00h, 00h, 00h, 00h
	db	 03h,0C9h,0F0h, 1Fh, 0Ch,0F0h, 00h, 00h, 00h, 06h, 00h, 18h, 00h, 00h, 00h, 00h
	db	 03h,0C9h,0F0h, 1Fh, 0Ch,0F0h, 00h, 00h, 00h, 06h, 00h, 18h, 00h, 00h, 00h, 00h
	db	 07h, 06h,0E0h, 06h, 10h, 78h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 07h,0C1h, 00h, 00h, 20h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 07h,0E0h, 80h, 00h,0C1h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 07h,0E0h, 80h, 00h,0C1h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
	db	0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh


END

⌨️ 快捷键说明

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