用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

串行接口中文图形点阵液晶显示模块的应用

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:48:32
。每个区可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。OCM4X8C内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:0000~0006H显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如图1所示。

4 应用说明

用OCM4X8C显示模块时应注意以下几点:

①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。

②显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。

③当字符编码为2字节时,应先写入高位字节,再写入低位字节。

④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。

⑤“RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。

图2 OCM4X8C的2线串行工作模式操作时序

5 接口方式与时序

OCM4X8C具有串/并多种接口方式,方便了模块与各种单片机、微处理器的连接。

(1)4/8位并行接口方式

当模块的PSB脚接高电平时,模块即进入并行接口模式。在并行模式下可由功能设定指令的“DL”位来选择8位或4接口方式,主控制系统将配合“RS”、“RW”、“E”DB0~DB7来完成指令/数据的传送,其操作时序与其它并行接口液晶显示模块相同。

(2)2/3线串行接口方式

当模块的PSB脚接低电平时,模块即进入串行接口模式。串行模式使用串行数据线SID与串行时钟线SCLK来传送数据,即构成2线串行模式。

OCM4X8C还允许同时接入多个液晶显示模块以完成多路信息显示功能。此时,要利用片选端“CS”构成3线串行接口方式,当“CS”接高电位时,模块可正常接收并显示数据,否则模块显示将被禁止。通常情况下,当系统仅使用一个液晶显示模块时,“CS”可连接固定的高电平。

模块2线串行工作操作时序如图2所示。

由图2可以看出,单片机与液晶模块之间传送1字节的数据共需24个时钟脉冲。首先,单片机要给出数据传输起始位,这里是以5个连续的“1”作数据起始位,如模块接收到连续的5个“1”,则内部传输被重置并且串行传输将被同步。紧接着,“RW”位用于选择数据的传输方向(读或写),“RS”位用于选择内部数据寄存器或指令寄存器,最后的第8位固定为“0”。在接收到起始位及“RW”和“RW”的第1个字节后,下一个字节的数据或指令将被分为2个字节来串行传送或接收。数据或指令的高4位,被放在第2个字节串行数据的高4位,其低4位则置为“0”;数据或指令的低4位被放在第3个字节的高4位,其低4位也置为“0”,如此完成一个字节指令或数据的传送。需要注意的是,当有多个数据或指令要传送时,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则,会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。

图3 AT89C2051与OCM4X8C的2线串行接口电路

6 OCM4X8C应用实例

使用OCM4X8C的2线串行接口方式可大大简化液晶显示模块与单片机之间的接口设计;同时,也使液晶显示模块显示汉字变得极为容易,从而改变过去单片机系统人机界面不够友好的弊端。AT89C2051单片机与OCM4X8C的接口电路如图3所示。下面给出相应显示程序。

;位定义

SID BIT P1.0 ;串行数据线

SCLK BIT P1.1 ;串行时钟线

;内存数据定义

START EQU 30H ;起始字节

COM EQU 31H ;命令/数据

HDATA EQU 32H ;命令/数据字节高位

LDATA EQU 33H ;命令/数据字节低位

ASC EQU 34H ;ASCII数据单元

初始化子程序:

INILCM:LCALL DL40MS ;延时等待内部复位

MOV COM,#30H ;使用8位控制界面

LCALL WRITE

MOV COM,#30H ;使用基本指令集

LCALL WRITE

MOV COM,#0CH

LCALL WRITE ;整体显示ON

MOV DL1MS

MOV COM,#01H ;清屏

LCALL WRITE

LCALL DL40MS

MOV COM,#06H ;显示右移

LCALL WRITE

LCALL DL1MS

RET

模块写入子程序:

WRITE:MOV A,COM ;送待发数据命令A

MOV A,#0F0H ;屏蔽低4位

MOV HDATA,A ;将高4位送HDATA单元

MOV A,COM ;取低4位

SWAP A ;高低4位互换

MOV A,#0F0H

MOV LDATA,A ;将低4位送LDATA单元

MOV A,START ;取起始字节

LCALL SENDBYTE ;发送

LCALL DL1MS ;延时1ms

MOV A,HDATA

LCALL SENDBYTE

LCALL DL1MS

MOV A,LD

上一页  [1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:19,265.63000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号