液晶显示模块DMF-50081在单片机系统中的应用
下面通过一一个显示文本反白字符和16×16图形汉字的程序来简要说明SED1335的文本和图形的混合显示。先在初始化子程序中将OVLAY参数在一、三区设置为文本属性,在二、四区设置为图形属性的二重异或合成显示方式(即01H);然后再将DISPON/OFF参数设置为一至四区开显示(即56H).反白显示字符是在图形区相关位置写入FFH,以使其与文本区的相关位置中的字符进行异或后显示,从而得到所需的显示效果。在图形方式下显示汉字时,可先将汉字取模,然后在程序区内建立汉字库,最后由程序再逐字节向图形区SAD2的相应单元写入即可。
下面给出用DMF-50081进行显示的部分软件程序代码:
主程序:
MAIN:MOV SAD2L,#08H ;设置图形区SAD2光标初值
MOV SAD2H,#40H
LCALL INTR ;调液晶初始化子程序
LCALL CLEAR ;调清显示子程序
LCALL CW_PR ;调显示字符子程序
LCALL DLYS ;调反白子程序
LCALL CCW_PR ;调显示汉字子程序
LOOP:NOP
AJMP LOOP
………………………………………………………
反白子程序:
DLYS:MOV COUNT1,#08H
CLOOP2:MOV COM,#46H ;CSRW代码
LCALL PR1
MOV DAT1,SAD2L ;设置参数CSR
LCALL PR2
MOV DAT1,SAD2H
LCALL PR2
MOV COM,#42H ;MWRITE代码
LCALL PR1
MOV COUNT2,#02H ;设置反白字符个数
MOV DPTR,#WD_ADD
MOV A,#0FFH ;显示数据FFH
CLOOP3:LCALL PR2
DJNZ COUNT2,CLOOP3
MOV A,#AP
ADD A,TADDL
MOV TADDL,A ;修改光标地址
CLR A
ADDC A,TADDH
MOV TADDH,A
DJNZ COUNT1,CLOOP2
RET
………………………………………………………
写指令代码子程序:
PR1:PUSH DPL
PUSH DPH
MOV DPTR,#WC_ADD
MOV A,COM
MOVX @DPTR,A
POP DPH
POP DPL
RET
………………………………………………………
写参数及显示数据子程序
PR2:PUSH DPL
PUSH DPH
MOV DPTR,#WD_ADD
MOV A,DAT1
MOVX @DPTR,A
POP DPH
POP DPL
RET
4 结束语
通过本文所介绍的方法可以对图形和文本进行混合显示。其实,除去上述的静态显示方式外,也可以通过编程来完成字符的动态显示及一些特效(如字符的移动、渐变、闪烁)显示。