资源描述
点阵液晶显示屏SG12864-01D应用实践
摘要:在应用实践的基础上,总结性地介绍了点阵液晶显示模块SG12864-OID的控制原理与应用技巧,给出了在模拟时序下的汇编驱动程序,最后提出了具有节约空间资源的应用方案。关键词:液晶显示:模拟时序;汇编程序
TN141.9 :B
引 言
液晶显示模块可归结为字符型和点阵型两大类,点阵型又分为单色屏和彩色屏。字符型模块通常包含相应的字符库,点阵型模块包含有液晶显示控制器,显示内容没有任何限制,文字图片均可。液晶彩屏的技术含量最高,但在一般控制系统设计中,点阵单色屏已完全能够满足信息显示的需要。
1 SG12864-OID模块应用参数与显示方式
从模块的型号可以看出,它在水平方向有128个点阵,竖直方向有64个点阵。通常汉字取模方式为1 6×1 6,显然模块汉字显示的个数为8×4:字符取模方式为8x16,因此字符显示的个数为16x4。模块的信息显示采用了分屏显示的方式进行,分为左半屏和右半屏,它是通过口线csi和CS2进行控制的,高电平有效,如图1所示。
单屏信息的输入过程包括8个页进行写操作。自上而下为0-7页,通过设置第X页地址实现对该页信息的输入操作,如图1所示。
由上可见,4行汉字需要8次输入操作,因此,每页信息仅仅是一行汉字的一半内容(上部或下部),如图1中的字符3。水平点阵地址用Y表示,数值在0~ 63之间。
每页信息的输入可连续一次完成,取模方式为自上而下,从左到右,如图1所示。
2 SG12864-OID模块接口说明与外围限定电路
模块外围有20个引脚,其中有4个引脚可以合二为一,1脚和20脚接地,2脚和1 9脚接5V电压。如表1所示。
3脚和1 8脚与外围限定电路有关,它是用来调整背光亮度的,如图2所示。3脚Vo正常电位为负值,数值应该在7.2 - 7.5之间(实测),若数值过小,屏幕不会显示任何信息,若数值过大将会产生底灰,负电位是从模块1 8脚VOLour送出的,实测为-9.53V。
7 -14引脚为8根数据线,1 7为开机复位引脚,1 5、16为左右半屏选通引脚。
4、5、6为时序控制引脚,也是实施有效控制的关键部位。
3 显示控制指令集
D/l与RAN对应的电平值是指令条件,DB7-DBO为8位数据线,既可以是数据.也可以是命令参数。DB0与开关显示有关,1开0关,设置起始线命令数据参数通常为OCOH,即从左上角开始显示,如表2所示。
“读状态”在程序设计中具有特殊的地位。DB7为BUSY[B],若为1,系统不接收任何操作命令,意为系统忙,只有当判断为0时,才可以进行其它操作。DB5为显示ON/OFF[O],它判断是否开启了显示,如果已开则为0,否则为1,因此在程序的前端必须增加开显示操作,否则屏幕上不会有字符显示。DB4[R]为复位情况指示,系统要求在上电后必须有一下复位操作,即当VDD为5V时,/RST必须有一个延迟低电平的过程,如果有,该位则为0,意指系统处于正常工作状态。
读、写数据指令每执行完一次,列地址就自动增1。注意,在进行读操作之前,必须有一个空读操作,接着再读才会读出所要读的单元中的数据。另外,任何一个操作之间都必须增加一个读忙信号,DB7是否为0,若为0再进入下一步。
需要注意的是在SG12864-OID系列模块说明书中,有多处出现[来自www.Lw5U.com]过RS的字样,只要将其改为D/l即可。
4 AT89C51 与 SG12864-OID电路连接设定
电路连接方式决定了程序编写的细节,表3为AT89C51与模块具体连接情况,电路晶振频率为12MHzo
5 SG12864-OID模拟时序
SG12864-OID模拟时序如图3所示。
E使能信号具有一定的特点,读数据时为高电平,如图3中的Check Busy,读完需再变为低电平;送指令(或数据)时为低电平,然后必须变高,再回到低电平,至此才算完成整个操作过程。D/l只有在写数据时为高电平,在上述其它情形下皆为低电平。
6字模提取
字模提取采用PCtoLCD2002软件非常方便,点阵格式为“阴码”,取模方式为“列行式”,取模走向为“逆向”即可。
7 汇编程序
在屏幕的左上角显示一个“张”字,基本设定见以下程序。
ORG OOOOH
D1:CLR Pl.6 :/RST复位操作
NOP
NOP
NOP
SETB Pl.6 :/RST复位完成
SETB Pl.0 :选左屏,=1
SETB Pl.1 :选右屏,=1
LCALL D5
:读状态:DB7.4
MOV R7,#OCOH;设置起始线
LCALL D8 :起始线操作
MOV R7,#3FH;开显示
LCALL D8 :开显示操作
CLR Pl.1
:关右半屏
MOV DPTR,#TABLEl
CLR 7EH
CLR 7FH
MOV R7,#40H;设置Y地址
LCALL D8
MOV R7,#OB8H;设置X地址
LCALL D8
CLR A
D2: MOV A,7EH
MOVC A,@A+DPTR
MOV R7,A
LCALL D4
INC 7EH
MOV A,7EH
CJNE A,#OFH,D2
MOV DPTR,#TABLE2
MOV R7,#40H;设置Y地址
LCALL D8
MOV R7.#OB9H:设置X地址
LCALL D8
CLR A
D3: MOV A,7FH
MOVC A,@A+DPTR
MOV R7,A
LCALL D4
INC 7FH
MOV A,7FH
CJNE A,#OFH,D3
JMP D9
:数据仅写一次
D4: LCALL D6 :读忙信号
CLR Pl.5
SETB Pl.3
NOP
MOV P2,R7
SETB Pl.4
NOP
CLR Pl.4
CLR Pl.3
RET
D5: CLR Pl.3 :读状态DB4.7
SETB Pl.5
SETB Pl.4
MOV C,P2.7 :读BUSY
MOV 20H.O,C
MOVC,P2.4:读RESET
MOV 20H.1,C
NOP
CLR Pl.4
JB 20H.O,D5
JB 20H.1,D5
RET
D6: CLR Pl.3 :读忙信号
SETB Pl.5
SETB Pl.4
MOV C,P2.7
MOV 20H.O,C
NOP
CLR Pl.4
JNB 20H.O,D7
NOP
NOP
SJMP D6
D7: RET
D8: LCALL D6 :读忙信号
CLR Pl.5
CLR Pl.3
NOP
MOV P2,R7
SETB Pl.4
NOP
CLR Pl.4
RET
TABLE1::“张”上半部分
DB 02H, OF2H, 12H, 12H, 1EH, OOH,
DB 80H, 80H, OFFH, OAOH, 90H, 88H,
DB 86H,84H,80H,OOH
TABLE2::“张”下半部分
DB OIH, 03H, 41H, 81H, 7FH, OOH,
DB OOH, 40H, OFFH, 40H, 23H, OCH,
DB lOH,60H,20H,OOH
D9: NOP
END
上述程序是在屏幕左上方显示了一个“张”字,数据仅传送了一次,结果发现,该显示屏[来自wwW.lW]具有信息“保持”功能。因此在实际应用中,对画面中的固定内容处理十分方便,只要考虑如何处理更改的内容即可,这样可以有效地节约系统空间资源。
-全文完-
展开阅读全文