《内含标准字库的中文液晶模块OCMJ5X10.docx》由会员分享,可在线阅读,更多相关《内含标准字库的中文液晶模块OCMJ5X10.docx(5页珍藏版)》请在优知文库上搜索。
1、内含标准字库的中文液晶模块OCMJ5X10摘要,介绍一种内含GB2312国标级简体汉字库的图形点阵液晶显示模块;对该模块的性能特点、接口协议、接口时序、用户命令作了详尽的描述,并给出与单片机的硬件接口电路及相应的显示程序。关健词t图形液晶模块中文字库单片机引言:1概述由于图形点阵液晶显示模块具有显示信息丰富(可显示汉字、字符、曲线、图形)、功耗低、体积小、质量轻、寿命长、不产生电磁辐射污染等优点,因而是单片机系统中理想的显示器件。近年来被广泛应用于单片机控制的智能仪器仪表、工业控制领域、通信器材和家用电器中。目前,国内在单片机系统中用于中文显示时,使用的液晶显示模块主要存在以下几方面的不足。占
2、用ROM空间大。以图形方式显示汉字,每个汉字将占用32字节的RoM空间,因此限制了显示汉字字符的数量。此点对内部FIaSh闪存数量较小的单片机,影响尤为严重。与单片机的硬件接口电路熨杂。该类型模块除使用8根数据线外,尚需使用片选、寄存器选择、读/写选择、使能控制等控制线,使得对单片机的硬件资源占用较为严重。接口时序复杂,软件编程繁复。上述的几点内容限制了液晶显示技术在单片机系统中的应用。这里介绍的OCMJ5X10是160X80点阵的中文图文液晶图形显示器模块。该模块的内部由于含有国标一级简体字库,使得汉字的显示异常方便;同时,该模块与单片机的硬件接口除数据总线外,仅使用了REQ/BUSY两根握
3、手信号线,简化了与单片机的硬件接口电路设计。上述特点对软件、硬件资源均十分紧张的单片机系统来说是十分重要的。2主要特点及引脚定义以下是OCMJ5X10中文液晶显示模块的主要特性。OCMJ5X10中文液晶显示器模块内含GB231216X16点阵国标一级简体汉字和ASCII88(半高)及8X16(全高)点阵英文字库。用户输入区位码或ASCII码即可实现文本显示。OCMJ5X10中文液晶显示模块也可用作一般的点阵图形显示器,提供位点阵和字节点阵两种图形显示功能。用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的图形点阵模块。OCMJ5X10中文液晶显示模块可以实现汉字、AS
4、CII码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。OCMJ5X10中文液晶显示模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令,一改传统的使用大量的设置命令进行初始化的方法。OCMJ5X10中文模块所有的设置初始化工作都处在上电时自动完成的,实现了“即插即用”:同时,保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY握手协议,简单可靠。OCMJ5X10中文液晶显示模块使用+5V单电源,同时由模块内部提供显示驱动负电压,简化了系统电源的设计。该模块还具有LED
5、背光源。OCMJ5X10中文图文液晶显示器的引脚说明如表1所列。表1OCMJ5X10引脚说明引胸名称方向说明1VLED-I若频负拨(LEDQV)2VEED+I背光源正横(LED5V3VSSI地4VDDI5-12DBODB7I教梅OF13BUSYO=1.已收到教愠并正在处理中:=0.模块空闲,可镂收数悔14REQI谙求信号,高电平有效15RESI复位信号.低电平有效16NC17RTlLCD灰度圜壁,外核电阻端18R72LCD灰度网整,外楼电阴端3硬件接口协议及接口时序OCMJ5X10模块与CPU的接口除了使用DB0-DB7口8根数据线外,仅使用了REQ和BUSY两根控制线,构成请求/应答(REQ
6、/BUSY)握手方式,省略/传统模块接口方式的片选、读写控制、指令/数据选择、使能控制等控制线,从而使硬件接口及软件时序变得非常简单。在硬件资源十分紧张的应用系统中,也可采用REQ单线延时控制方式,从而把硬件资源占用降至最低。接口协议如卜丁当BUSY线为高电平时(BUSY=D,表示模块忙于内部处理,不能接收用户命令;而BUSY为低电平时(BUSY=0),表示模块空闲,等待接收用户命令。CPU可在BUSY为低后的任意时刻开始发送命令。首先,把用户命令的当前字节放到数据线上,接着发送高电平REQ信号,通知模块,请求处理当前数据线上的命令或数据。模块在收到外部的REQ高电平信号后,立即读取数据线上的
7、命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理。此时,用户对模块的写操作已经完成,可以撤消数据线上的信号并可做模块显示以外的其它工作,也可不断地查询BUSY姑否为低。如果BUSY=0,说明模块对用户的写操作已经执行完毕,可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括显示坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后,才开始执行整个命令的内部操作;因此,最后一个字节的应答BUSY高电平(BUSY=I)持续时间较长。这里以写入汉字命令的时序为例,给出图1所示的OCMJ5X10时序图,对应的具体时间参数说明如表2所列。图1OCM
8、J5X10号汉字时序图表2OCMJ5X10模块时间参被编号爹教名称戚,Ma值晚明1*川50.4教据线上数据玲定时间2W522D展大模块喻成时间3XJUS11-品小REQ保持时间4lMs2045很大赦梅镂收时间5tm30原大命令招令处理时间4用户命令OCMJ5X10模块共有3类10条命令,每条命令分为操作码和操作数两部分,操作数为十六进制数。下面介绍该模块的用户命令。(1)显示国标汉字命令格式FOXXYYQQWWXX:以汉字为单位的屏幕行坐标值。YY:以汉字为单位的屏幕列坐标值。QQWW:坐标位置上要显示的GB2312汉字区位码。OCMJ5X10模块由于内部含有中文字库,因此中文字符的显示非常简
9、单,只需给出该汉字的区位码即可显示该字。区位码表可参见GB2312字符集。(2)显示8X8ASCn字符命令格式FlXXYYAS该命令为4字节命令(最长执行时间为0.8ms,ts2=0.8ms)。XX:以ASCn码为单位的屏幕行坐标值。YY:以ASCII码为单位的屏幕列坐标值。AS:坐标位置上要显示的ASCn字符码。显示8X16ASCIl字符命令格式F9XXYYAS操作数意义同上。(4)显示位点阵命令格式F2XXYY该命令为3字节命令(最长执行时间为0.1ms,ts2=0.1ms)0(5)显示字节点阵命令格式F3XXYYBT该命令为4字节命令(最长执行时间为0.1ms,ts2=0.1ms)。(6
10、)清屏命令格式F4该命令为单字节命令(最长执行时间为Ilm$,is2=llms),其功能为将屏幕清空。上移命令格式F5该命令为单字节命令(最长执行时间为25ms,ts2=25ms),其功能为将屏幕向上移动一个点阵行。下移命令格式F6该命令为单字节命令(最长执行时间为30ms,ts2=30ms),其功能为将屏幕向下移动一个点阵行。左移命令格式F7该命令为单字节命令(最长执行时间为12ms,ts2=12ms),其功能为将屏幕向左移动一个点阵行。(10)右移命令格式F8该命令为单字节命令(最长执行时间为12ms,is2=12ms),其功能为将屏幕向右移动一个点阵行。5具体应用由于OCMJ5X10内部
11、具有中文字库,且使用了简单的两线握手协议,因而将其应用在嵌入式系统中,可简化显示电路的硬件接口设计及软件编程。虽然模块与单片机之间数据的传输采用并行模式,占用单片机系统的硬件资源相对较多,但是相应显示软件的编制却要比采用串行接口模式的中文字库液晶模块相对筒单。尤其是图形显示界面设计,利用OCMJ5X10提供的显示字节点阵命令(线绘图),可方便、快捷地绘制出显示图形。此点在绘图速度、Re)M空间占用等方面优于串行接口模式的液晶模块。卜面给出OCMJ5X10在嵌入式系统中的具体应用,包拈硬件接口电路及软件编程。5.1 硬件接口电路这里以AT89C52单片机为例,给出OCMJ5X10液晶显示模块与单
12、片机的接口电路。单片机与模块采用间接控制方式和REQ/BUSY握手方式。AT89C52的Pl.O-Pl.7口与模块的DB0DB7数据线相连,P3.4与模块BUSY线相连,P3.5与模块REQ线相连:晶振为12MHz,模块采用上电自动复位。AT89C52与OCMJ5X10的接口电路如图2所示。5.2 显示软件下面给出与上述硬件电路配套的显示子程序。其包括初始化、显示汉字、显示8X16点阵ASCn字符、点绘图及线绘图子程序。可根据显示需要在主程序的相应位置调用,即可实现相应的显示功能。OCMJ5X10内部含有GB2312级字库,可满足绝大部分应用系统汉字显示的需要。对于一级国标字库内所没有的汉字或
13、需要显示复杂图形时,可通过调用绘点及绘线子程序来实现任意复杂汉字或图形的显示。:位定义BUSYBITP3.4REQBITP3.5:数据定义XDATA30H;解幕行坐标缓冲区YDATA31H;屏幕列坐标缓冲区DATAHDATA32H;显示值高位DATALDATA33H;显示值低位:初始化子程序INT:MOVSP,#60H;设堆栈CLRREQ;请求线清OSETBBUSY;将P3.4设为输入口RET;写模块子程序SUBkJBBUSY,SUBl:确信模块空闲MOVPl.A:向总线送数据NOP;等待数据总线稳定SETBREQ;向模块发请求命令WAIT:JNBBUSY.WAIT;等待模块响应CLRREQ;
14、清REQRET:返回:写汉字程序HZ:MOVA,#OFOH;写显示汉字命令AcallsubiMOVa,XAcallsubi;写屏幕行坐标值MOVa,YAcallsubi:写屏幕列坐标值MOVA,DATAHAcallsubi;写区位码高位MOVA,DATALAcallsubi;写区位码低位RET:写8X16ASCn码程序ASC2:MOVA,#0F9H;写显示8X16ASCnACALLSUBl;字符命令MOVA,XACALLSUBl;写屏幕行坐标值MOVA,YAcallsubi;写屏幕列坐标值MOVA,DATALACALLSUBl;写字符ASCn码RET;点绘图子程序HD:MOVA,#0F2H;写
15、显示位点阵命令ACALLSUBlMOVA,X:写点屏幕行坐标值ACALLSUBlMOVA,Y;写点屏幕列坐标值ACALLSUBlRET;线绘图子程序HX:MOVA,#0F3H;写显示位点阵命令ACALLSUBlMOVA.X:写点解幕行坐标值ACALLSUBlMOVA,Y;写点屏幕列坐标值ACALLSUBlMOVA,DATALRET:清屏程序CLR:MOVA,#0F4H:写清屏命令ACALLSUBlRET结语利用OCMJ5X10中文图文液晶模块相对简单的硬件接口及简单的用户命令,可为嵌入式系统设计出显示信息量大且显示信息丰富的全中文人机界面,避免了传统液晶模块中文图形显示界面复杂的硬件接口设计及软件编程。该模块为抿入式系统人机界面设计提供了一种较好的解决方案。