LCALL DELAY RET
;//////左半屏写入命令子程序///////////////////////////// WR_Left_COM: CLR CS1 SETB CS2 CLR RS CLR RW
MOV A,WR_DATA SETB E MOV P0,A CLR E
LCALL DELAY RET
;//////右半屏写入命令子程序////////////////////////////////// WR_Right_COM: SETB CS1 CLR CS2 CLR RS CLR RW
MOV A,WR_DATA SETB E MOV P0,A CLR E
LCALL DELAY RET
;//////全屏写入命令字程序///////////////////////////////////// WR_COM: CLR CS1 CLR CS2 CLR RS CLR RW
MOV A,WR_DATA SETB E MOV P0,A CLR E
LCALL DELAY RET
;//////全屏清屏子程序////////////////////////////////////////// CLR_Screen: MOV WR_DATA,#0C0H LCALL WR_COM MOV R0,#0B8H MOV R1,#00H
LOOP: MOV WR_DATA,R0 LCALL WR_COM
MOV WR_DATA,#40H LCALL WR_COM
LOOP1: MOV WR_DATA,#0FFH ;全屏清黑(这里我是用反色显示汉字的) LCALL WR_Byte INC R1
CJNE R1,#40H,LOOP1 INC R0
CJNE R0,#0C0H,LOOP RET
;//////延时子程序////////////////////////////////// DELAY: MOV R7,#25H DJNZ R7,$ RET
;//////字型码表//////////////////////////////////// TAB:
;-- 文字: 不 --
;-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 -- DB
0FFH,0FFH,0FFH,0DFH,0CFH,0CFH,0DFH,1FH,1FH,5FH,0DFH,0DFH,0DFH,0FFH,0FFH,0FFH DB
0FFH,0F7H,0F7H,0F3H,0FBH,0F9H,0FCH,0C0H,0C0H,0FFH,0FEH,0FCH,0F1H,0F3H,0F7H,0F7H
;-- 文字: 亦 --
;-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 -- DB
0FFH,0BFH,0BFH,0BFH,3FH,0DFH,1FH,0CFH,0CFH,1FH,0DFH,9FH,9FH,0BFH,0BFH,0FFH DB
0FFH,0FFH,0EBH,0ECH,0E6H,0F3H,0F8H,0EFH,0EFH,0E0H,0FFH,0FEH,0FDH,0FBH,0FFH,0FFH
;-- 文字: 心 --
;-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 -- DB
0FFH,0FFH,7FH,0FFH,7FH,0FFH,0FFH,3FH,8FH,0FFH,7FH,3FH,0BFH,0FFH,0FFH,0FFH DB
0F7H,0F1H,0F8H,0FFH,0FEH,0FEH,0FCH,0F9H,0F3H,0F1H,0E6H,0E7H,0C7H,0E7H,0E7H,0FFH
;-- 文字: 制 --
;-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 -- DB
0FFH,7FH,0BFH,8FH,0BFH,0FH,2FH,3FH,0BFH,0FFH,1FH,0FFH,0CFH,0FH,0FFH,0
FFH DB
0FEH,0FEH,0EEH,0E0H,0FCH,0C0H,0FCH,0F9H,0E1H,0EFH,0E8H,0CFH,0C7H,0E0H,0FFH,0FFH
;-- 文字: 作 --
;-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 -- DB
0FFH,9FH,9FH,1FH,1FH,6FH,0BFH,9FH,0CFH,0FH,9FH,9FH,9FH,0BFH,0BFH,0FFH DB
0FFH,0FFH,0FFH,0E0H,0E0H,0FFH,0FFH,0FFH,0FFH,0C0H,0FAH,0FAH,0FAH,0FAH,0FBH,0FFH
;//////程序结束///////////////////////////////////////////// END
→↑← THREE→硬件连接及仿真效果图(仅为仿真目的,不做实际应用)