[本文由创梦电子工作室原创,转载请注明出处
2004.04.19]
综前所述,显示自定义字符的过程如下
例:
在16x2LCM第一行第07位显示如下图形,自定义代码001
定义字符:
M_USER:
;点阵内容定义
MOV A,#01001000B
;第1行地址
CALL LCM_COMMAND_00
MOV A,#00000100B
;第1行内容
CALL LCM_COMMAND_10
MOV A,#01001000B
;第2行地址
CALL LCM_COMMAND_00
MOV A,#00000100B
;第2行内容
CALL LCM_COMMAND_10
MOV
A,#01001000B
;第3行地址
CALL LCM_COMMAND_00
MOV A,#00010101B
;第3行内容
CALL LCM_COMMAND_10
MOV
A,#01001000B
;第4行地址
CALL LCM_COMMAND_00
MOV A,#00011111B
;第4行内容
CALL LCM_COMMAND_10
MOV
A,#01001000B
;第5行地址
CALL LCM_COMMAND_00
MOV A,#00011111B
;第5行内容
CALL LCM_COMMAND_10
MOV
A,#01001000B
;第6行地址
CALL LCM_COMMAND_00
MOV A,#00011111B
;第6行内容
CALL LCM_COMMAND_10
MOV
A,#01001000B
;第7行地址
CALL LCM_COMMAND_00
MOV A,#00010001B
;第7行内容
CALL LCM_COMMAND_10
MOV
A,#01001000B ;第8行地址
CALL LCM_COMMAND_00
MOV A,#00000000B
;第8行内容
CALL LCM_COMMAND_10
RET
S_USER:
; 显示程序
CALL M_USER2
MOV A,#06H
;设定显示位置
ORL A,#80H
CALL LCM_COMMAND_00
MOV A,#1H
;设置定义的字符码,
CALL LCM_COMMAND_10
RET
RET
为方便修改编辑,可用如下方法定义字符
M_USER2:
MOV
51H,#01001000B
;指定字符代码为001
MOV
52H,#0H
WRITE_CG:
MOV
A,52H
ORL
A,51H
CALL
LCM_COMMAND_00
;WRITE CGADDRESS
MOV
DPTR,#U_D
MOV
A,52H
MOVC
A,@A+DPTR
CALL
LCM_COMMAND_10
;WRITE CGDATE
INC
52H
MOV
A,52H
CJNE
A,#8H,WRITE_CG
MOV 52H,#0
RET
U_D:
DB
00000100B ;0
DB
00000100B ;1
DB
00010101B ;2
DB
00011111B ;3
DB
00011111B ;4
DB
00011111B ;5
DB
00010001B ;6
DB
00010001B ;7
[本文完]
1
2
|