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

📄 12864lcd显示屏实验(51).asm

📁 12864LCD显示屏实验(51单片机)
💻 ASM
字号:
;******************************************************
;目标板:51 开发板
;适用于ST7920 控制的LCM
;MCU:AT89S52 or STC89C5* ,晶体频率:12MHz
;LCM:128*64
;LCM 型号:12864E
;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7--14:DB0-DB7 15:PSB 16:NC 17:RST
;调节对比度电路中,电位器一端接VCC,一端接地,中间端接V0
;硬件已经将PSB 置1,通信方式为8 位数据并口
;***************接口定义********************************
RS EQU P2.7
RW EQU P2.6
E EQU P2.5
RST EQU P2.4
COM EQU 20H
DAT EQU 21H
;***************主程序入口******************************
START:
ORG 0000H
MOV SP,#60H
LJMP DISP
ORG 0040H
LCALL DELAY ;等待电源稳定
LCALL DELAY
;***************显示字体初始化***************************
DISP: MOV COM,#30H ;功能设置---8BIT 控制界面,基本指令集
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#0CH ;显示打开,光标关,反白显示关
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#01H ;清除屏幕显示,将DDRAM 的地址计数器归零
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#06H ;DDRAM的地址计数器(AC)加1
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
;******************写入半角字符*********************************
;DISPLAY5A:
; MOV R2,#64 ;DDRAM地址记数器设为最大值
; MOV R1,#10H
; MOV COM,#80H ;DD RAM 地址-----0000000
; ACALL WRI
;DISP5A: MOV DAT,R1
; ACALL WRD ;写入第二字节数据
; INC R1
; DJNZ R2,DISP5A
; LCALL DELAY1 ;1S 延时子程序
;******************写汉字**************************************
DISPLAY5:
MOV COM,#91H ;第一行字的首地址DD RAM 地址
ACALL WRI
DISP5:
MOV DAT,#57H ;W
ACALL WRD ;写入一字节数据
MOV DAT,#57H ;W
ACALL WRD ;写入一字节数据
MOV DAT,#57H ;W
ACALL WRD ;写入一字节数据
MOV DAT,#2EH ;.
ACALL WRD ;写入一字节数据
MOV DAT,#44H ;D
ACALL WRD ;写入一字节数据
MOV DAT,#5AH ;Z
ACALL WRD ;写入一字节数据
MOV DAT,#4BH ;K
ACALL WRD ;写入一字节数据
MOV DAT,#46H ;F
ACALL WRD ;写入一字节数据
MOV DAT,#2EH ;.
ACALL WRD ;写入第一字节数据
MOV DAT,#43H ;C
ACALL WRD ;写入第二字节数据
MOV DAT,#4FH ;O
ACALL WRD ;写入一字节数据
MOV DAT,#4DH ;M
CALL WRD ;写入一字节数据
LCALL DELAY1 ;1S 延时子程序
;********************电子开发网等字*****************************
DISPLAY5A:
MOV R2,#128 ;64 个字写128 次
MOV COM,#80H ;DD RAM 地址-----0000000
ACALL WRI
MOV DPTR,#DWORD
DISP5A: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R2,DISP5A
LCALL DELAY1 ;1S 延时子程序
LCALL DELAY1 ;1S 延时子程序
LCALL DELAY1 ;1S 延时子程序
;************显示图形初始化*************************************
MOV COM,#01H ;清屏
ACALL WRI ;调用写指令子程序
LCALL DELAY
MOV COM,#32H ;功能设置---8BIT 控制界面,绘图显示ON
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#36H ;功能设置---8BIT 控制界面,扩充指令集
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
;************显示下列图形***************************************
DISPLAY6A:
MOV DPTR,#DAB1 ;图形数据入口地址
ACALL DTU
MOV DPTR,#DAB1 ;图形数据入口地址
ACALL DTU
LJMP START ;从开始处循环显示
;***********画图子程序如下*************************************
DTU:
MOV R2,#32 ;32 行,(双屏结构中上半屏)
MOV R3,#80H ;Y 地址寄存器 (D7 固定为1,所以该地址是00H)
DISP6A: MOV COM,R3 ;设置绘图区的Y 地址坐标
INC R3 ;Y 地址加1
LCALL WRI
MOV COM,#80H ;设置绘图区的X 地址坐标
LCALL WRI
MOV R1,#16 ;16*8 列
DISP7A: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R1,DISP7A
DJNZ R2,DISP6A ;写满全屏的16*8 字节X64
MOV R2,#32 ;32 行,(双屏结构的下半屏)
MOV R3,#80H ;Y 地址寄存器
DISP8A: MOV COM,R3 ;设置绘图区的Y 地址坐标
INC R3 ;Y 地址加1
LCALL WRI
MOV COM,#88H ;设置绘图区的X 地址坐标
LCALL WRI
MOV R1,#16 ;16*8 列
DISP9A: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R1,DISP9A
DJNZ R2,DISP8A ;写满全屏的16*8 字节X64
LCALL DELAY1 ;1S 延时子程序
RET
;*********************写指令子程序*****************************
WRI: PUSH ACC
CLR RS
SETB RW
WRI1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRI1
CLR RW
MOV P0,COM
SETB E
CLR E
POP ACC
RET
;********************写数据子程序**********************
WRD: PUSH ACC
CLR RS
SETB RW
WRD1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRD1
SETB RS
CLR RW
MOV P0,DAT
SETB E
CLR E
POP ACC
RET
;**************延时子程序***********************
DELAY: MOV R7,#0FFH
DELAY4: MOV R6,#00FH
LOOP2: DJNZ R6,LOOP2
DJNZ R7,DELAY4
RET
DELAY1: MOV R4,#16H ;延时两秒
DELAY11:MOV R7,#0FFH
DELAY41:MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,DELAY41
DJNZ R4,DELAY11
RET
XX: MOV R5,#0FFH
XX1: MOV R6,#0FFH
XX2: DJNZ R6,XX2
DJNZ R5,XX1
RET
;*****************图形数据区,每满屏数据占1K*************************
DWORD:
DB 0A1H,0A1H,0B5H,0E7H,0D7H,0D3H,0BFH,0AAH,0B7H,0A2H,0CDH,0F8H,0D5H,0BEH,0A1H,0A1H,
DB 0D7H,0A8H,0D2H,0B5H,0B5H,0C4H,0CFH,0EEH,0C4H,0BFH,0BFH,0AAH,0B7H,0A2H,0C9H,0CCH,
DB 0B7H,0BDH,0B1H,0E3H,0B5H,0C4H,0D4H,0AAH,0C6H,0F7H,0BCH,0FEH,0B2H,0C9H,0B9H,0BAH,
DB 0A1H,0A1H,030H,032H,030H,02DH,033H,039H,037H,030H,039H,038H,037H,032H,0A1H,0A1H,
DAB1: ;小女生
DB 000H,000H,000H,000H,0FFH,0E0H,01FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FCH,000H,000H,000H,
DB 000H,000H,000H,001H,0FFH,0C0H,003H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,
DB 000H,000H,000H,001H,0FFH,080H,007H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0C0H,000H,000H,
DB 000H,000H,000H,003H,0FFH,080H,00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F0H,000H,000H,
DB 000H,000H,000H,003H,0FFH,000H,000H,03FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FCH,000H,000H,
DB 000H,000H,000H,003H,0FEH,0C0H,000H,07FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,003H,0FDH,080H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,007H,0FFH,080H,000H,0FBH,0FFH,0DFH,0FFH,0FFH,0FFH,0DFH,000H,000H,
DB 000H,000H,000H,007H,0FFH,040H,000H,007H,0FFH,0BBH,0FFH,0FDH,0FFH,0E1H,000H,000H,
DB 000H,000H,000H,007H,0FEH,0A0H,000H,00FH,0FFH,07BH,0FFH,0FCH,0FBH,070H,000H,000H,
DB 000H,000H,000H,007H,0FFH,079H,000H,00FH,03EH,0FBH,0FFH,0BCH,0FDH,0B0H,000H,000H,
DB 000H,000H,000H,007H,0FFH,0F3H,0C0H,00CH,02CH,099H,0FFH,03EH,07CH,090H,000H,000H,
DB 000H,000H,000H,007H,0FFH,0E7H,0B0H,000H,019H,038H,0FFH,03EH,07CH,000H,000H,000H,
DB 000H,000H,0E0H,007H,0FFH,0EFH,068H,000H,0B3H,020H,0C2H,03FH,03CH,000H,000H,000H,
DB 000H,000H,018H,007H,0FFH,0FEH,0D8H,001H,036H,06AH,092H,017H,038H,000H,000H,000H,
DB 000H,000H,006H,007H,0FFH,0FFH,0B8H,032H,05EH,0CAH,092H,007H,018H,000H,000H,000H,
DB 000H,000H,001H,007H,0FFH,0FFH,0F4H,076H,0ACH,0DAH,012H,003H,098H,040H,000H,000H,
DB 000H,000H,0C1H,007H,0FFH,0FFH,0ECH,0EDH,029H,0DAH,092H,000H,088H,044H,000H,000H,
DB 000H,000H,031H,007H,0FFH,0FFH,0DDH,0DFH,05FH,0FBH,0B2H,080H,080H,064H,000H,000H,
DB 000H,000H,008H,087H,0FFH,0FFH,0B9H,0BEH,07FH,0FFH,0B2H,080H,080H,066H,000H,000H,
DB 000H,000H,008H,087H,0FFH,0FFH,0F3H,07FH,0E0H,007H,0B2H,080H,080H,066H,000H,000H,
DB 000H,000H,004H,047H,0FFH,0FFH,0F7H,0FCH,080H,000H,0B2H,080H,081H,076H,000H,000H,
DB 000H,000H,004H,047H,0FFH,0FFH,0EFH,0F8H,080H,000H,0D6H,0FCH,081H,0F6H,000H,000H,
DB 000H,000H,0C2H,067H,0FFH,0FFH,0FFH,0F1H,007H,0C0H,0D6H,0FFH,081H,0F6H,000H,000H,
DB 000H,000H,0C2H,023H,0FFH,0FFH,0FFH,0F1H,03FH,0E0H,0D7H,0FFH,099H,0FEH,000H,000H,
DB 000H,000H,0E3H,011H,0FFH,0EFH,07FH,033H,0FFH,0F0H,0DFH,0FFH,099H,0FFH,000H,000H,
DB 000H,000H,0E1H,00BH,0FFH,0E9H,07FH,01FH,0FDH,038H,09BH,0FFH,099H,0FFH,000H,000H,
DB 000H,000H,0E0H,083H,0FFH,0C8H,0FEH,03FH,0FFH,018H,09BH,0FFH,099H,0FFH,000H,000H,
DB 000H,000H,0F0H,047H,0BFH,0C8H,0FEH,03FH,03FH,000H,09BH,0FBH,0BBH,0FFH,000H,000H,
DB 000H,000H,0F0H,03FH,01FH,0E1H,0FCH,07CH,03FH,001H,03BH,0DBH,0BBH,0FFH,000H,000H,
DB 000H,000H,0F8H,00FH,007H,0E1H,0FDH,0F8H,03BH,001H,033H,0B7H,0BBH,0FFH,000H,000H,
DB 000H,000H,0F8H,01EH,003H,0F1H,0CCH,0F0H,07AH,000H,033H,0B7H,0FFH,0FFH,000H,000H,
DB 000H,000H,0FCH,03EH,001H,0F9H,0C8H,030H,07EH,000H,031H,0E7H,0FFH,0FFH,000H,000H,
DB 000H,000H,0FCH,03CH,03FH,0FBH,0C8H,009H,0ECH,000H,061H,0E7H,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0FCH,040H,0E3H,0C0H,007H,0F8H,000H,041H,0CFH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0F9H,080H,083H,0C0H,003H,0F0H,000H,043H,0DFH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0FAH,01FH,003H,080H,000H,000H,000H,0C3H,09FH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0FCH,016H,003H,080H,000H,000H,000H,080H,03FH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0F0H,018H,003H,080H,000H,000H,001H,008H,07FH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0C0H,010H,007H,080H,000H,000H,000H,008H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,0FFH,000H,010H,007H,080H,000H,000H,000H,004H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,0FCH,000H,008H,007H,080H,000H,000H,000H,00CH,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,07CH,000H,008H,00BH,0C0H,000H,000H,000H,000H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,07CH,000H,004H,00BH,020H,000H,000H,000H,000H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,03CH,000H,004H,00BH,010H,000H,001H,0F8H,000H,0FFH,0FFH,0FEH,000H,000H,
DB 000H,000H,002H,000H,002H,00BH,008H,000H,003H,0FEH,001H,0FFH,0FFH,0FEH,000H,000H,
DB 000H,000H,001H,000H,002H,00BH,004H,000H,004H,07EH,003H,0FFH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,080H,001H,01BH,002H,000H,004H,03CH,007H,09FH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,080H,001H,013H,001H,000H,004H,038H,03FH,090H,003H,0FFH,000H,000H,
DB 000H,000H,000H,040H,000H,093H,000H,080H,004H,030H,04FH,020H,000H,000H,000H,000H,
DB 000H,000H,000H,020H,000H,053H,000H,040H,004H,041H,08EH,040H,000H,000H,000H,000H,
DB 000H,000H,000H,020H,000H,033H,000H,030H,004H,082H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,010H,000H,013H,000H,048H,003H,004H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,008H,000H,00BH,000H,044H,000H,01CH,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,004H,000H,007H,000H,042H,000H,062H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,004H,000H,003H,000H,0A1H,087H,082H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,002H,000H,003H,000H,0A0H,078H,001H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,002H,000H,003H,080H,0A0H,000H,001H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,002H,000H,002H,041H,020H,000H,001H,00EH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,001H,000H,002H,03FH,020H,000H,001H,00EH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,001H,000H,004H,011H,020H,000H,001H,006H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,001H,080H,004H,01FH,020H,000H,002H,006H,000H,000H,000H,000H,000H,
DB 000H,000H,080H,001H,0C0H,004H,010H,090H,000H,00CH,006H,000H,000H,000H,000H,000H,
DB 000H,000H,040H,001H,020H,008H,020H,050H,000H,010H,006H,000H,000H,000H,000H,000H,end

⌨️ 快捷键说明

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