- 相关推荐
可视化编程串行控制中文字库液晶显示模块VLCM320240
摘要:VLCM320240是一款具有可视化编程图形界面、采用串行控制、内含GB2312简体中文字库及64kB自造图库的液晶图形显示模块。该模块采用台湾EDT公司的蓝膜负显EW32F10BCW?具有320×240的点阵分辨率和CCFT背光源。文中介绍了该模块的性能特点、接口管脚说明、用户命令及主要参数,同时给出了VLCM320240与单片机的接口电路及相应显示程序。关键词:可视化编程;串行控制;中文字库;单片机
1引言
图形点阵液晶显示模块由于具有显示信息丰富、功耗低、体积小、重量轻、寿命长、不产生电磁辐射污染等优点而成为单片机系统中理想的显示器件,并被广泛应用于单片机控制的智能仪器仪表、工业控制领域、通信器材和家用电器中。但普通图形点阵液晶显示模块用于显示图形界面时是非常困难的,首先图形显示要占用大量的用户ROM空间。以320×240点阵液晶模块为例,显示一幅图片(全屏幕)占用的ROM空间为?320×240?/8=9.6kByte,这对片内仅有几k字节的FLASH闪存单片机来说是不可能的;其次,显示图片过程极其复杂,应根据待显示的图形计算好各点阵的位置,再以字节为单位写入数据来控制各点阵的亮灭。如果显示多幅图片,复杂程度更加令人生畏。
另外,图形点阵液晶显示模块在显示汉字时也存在着占用ROM容量大、与单片机的硬件接口电路复杂以及接口时序复杂,软件编程繁复等问题。
正是由于上述几点不足限制了图形点阵液晶显示模块在生成复杂精美的中文人机界面时的应用。而中文界面及图形显示又是电子产品人机界面发展的必然趋势。实际上任何一种显示界面本质上都是由若干像素排列组合生成,若能将图形点阵液晶模块显示控制的底层操作集成在模块内的单片机中,并将生成显示界面中所用到的各种图形界面和标准汉字库预先存入模块中,用户使用时就可以仅通过串口向其发送简单的控制命令以生成图文显示界面,从而使得复杂的图形界面生成变得简单容易,最终解决电子产品开发过程中难以生成精美的人机界面的难题。
VLCM320240即是一款具有上述功能的图形点阵液晶模块。该模块是由深圳研安佳公司推出的。
2VLCM320240性能特点
VLCM320240图形点阵液晶显示模块具有如下主要特点:
●该液晶显示模块采用台湾EDT公司的蓝膜负显EW32F10BCW?它具有320×240的点阵分辨率和CCFT背光源;
●内部含有台湾华邦公司生产的高速单片机W78E516BP;
●内含GB231216×16点阵国标一级、二级简体字库,字库中的汉字可显示在液晶屏的任意位置;
●内含ASCⅡ8×16点阵英文字库;
●内含64kB自造图库或美术字库、显示资料现场可在线编程FLASH;
●内含SED1330FLCD控制器及32kB显示缓冲区;
●配套VisualLCM仿真调试软件可在电脑上独立完成显示界面的编辑、资料下载及界面生成;
●具有标准RS232串行通信控制,可方便地由上位计算机或单片机进行控制;
●具有最小的硬件资源占用,使用单片机做上位机时,可使用两根I/O口线模拟串口,而使用TTL电平控制时,仅需一根I/O口线。
VLCM320240留给用户的接口有两个,即电源口POWER和RS232通信口。
其中电源口包括以下几个端口:
●+9V电源:稳压后供给单片机;
●GND:模块电源地;
●+5V电源:供逆变器使用。
RS232口定义如下:
●BUSY:忙标志输出,低电平时为忙;
●RX:控制命令输入,其中有8位数据位,1个起始位,一个停止位;
●GND:信号地。
3用户命令
在具体使用时,可通过上位机的用户命令来控制VLCM320240的显示.
汉字或ASCII字符显示命令中的参数为所显示汉字的两个字节国标码或ASCII字符代码。
4具体应用
VLCM320240可视化
编程液晶显示模块可广泛应用于显示信息内容丰富或显示信息容量巨大的应用场合,如信息家电,通信器材、工业控制、智能仪器仪表等领域,模块在使用时可分为显示界面生成及实时显示两个步骤。
4.1显示界面的模拟生成
显示界面的生成在上位计算机上完成,利用可视化编程软件VisualLCM可将系统设计中用到的各种图形或文字进行归纳并编辑成图案,但图案的大小不得超过320×240像素,同时图案必须选为黑白两色。然后将编辑好的图案下载到模块ISPFLASH存储器中,图案的数量应小于256幅。对于显示较多的文字信息,也应尽量生成美观的艺术字体并保存为图案。这样可大大加快文字信息的显示速度。图案下载到模块后,可通过串口发送BMP命令以便将任意一张图片在液晶模块的任意位置上显示。
4.2实时信息显示
由上位计算机生成的各种图形信息最终要在单片机的控制下实现相应信息的显示。图1所示是以AT89C52为例给出的单片机与VLCM320240的接口电路。
在图1所示的电路中,AT89C52的RXD端与VLCM320240RS232通信口的BUSY端相连,而将单片机TXD端与模块RX端相连,为保证波特率的准确性,应将AT89C52的晶振选取为11.0592MHz。此外,在编制相应的显示控制软件时,还应注意以下几点:
●串行口模式应设为模式1(1个起始位,8个数据位,1个停止位);
●波特率设应当为19200(TH1=TL1=0FDH,SMOD=1);
●在发送命令之前应检测模块为闲态(BUSY=1)?否则所发的命令可能失效;
●串口发送的必须是完整命令的ASCII码(汉字为其机内码,ASCII字符为其ASCII码),如命令“BMP0B000C0D”,实际由串口发送的内容是“424D503042303030433044”,顺序为:
“B→M→P→0→B→0→0→0→C→0→D”;
●在每条命令的首末还要加上命令结束码“回车键"的ASCII码“0DH”,以表明该命令的结束。
●若单片机AT89C52的串口已被占为它用,那么用一根口线来摸拟生成一个通讯协议为(19200,N,8,1)的软串口发送命令即可。
下面给出与上述电路配套的显示控制子程序:
;位定义
BUSYBITP3;定义忙信号线
;数据字节定义
XVEQU30H;定义参数x
XHVEQU31H;定义参数xH
YVEQU32H;定义参数y
NUBEREQU33H;定义参数n
WIDTHEQU34H;定义参数w
HIGHTEQU35H;定义参数h
ASCXHEQU36H;定义参数x高四位
ASCXLEQU37H;定义参数x低四位
ASCXHHEQU38H;定义参数xH高四位
ASCXHLEQU39H;定义参数xH低四位
ASCYHEQU3AH;定义参数y高四位
ASCYLEQU3BH;定义参数y低四位
ASCNHEQU3CH;定义参数n高四位
ASCNLEQU3DH;定义参数n低四位
ASCWHEQU3EH;定义参数w高四位
ASCWLEQU3FH;定义参数w低四位
ASCHHEQU40H;定义参数h高四位
ASCHLEQU41H;定义参数h低四位
;初始化子程序
INITSIO:MOVSCON,#50H;串行口方式1
MOVTMOD,#21H
MOVTH1,#0FDH;波特率=19200?
MOVTL1?#0FDH
ORLPCON?#80H;SMOD=1
SETBTR1;启动T1
RET
;设置汉字或ASCII字符显示首地址命令
ORDERHZA:MOVA?XV
MOVR0?#REGASCXH
LCALLHASC;将参数x转换为
两个字节的ASCII码
MOVA?XHV
MOVR0?#REGASCXHH
LCALLHASC;将参数xH转换为
两个字节的ASCII码
MOVA?YV
MOVR0?#REGASCYH
LCALLHASC;将参数y转换为
两个字节的ASCII码
LCALLBUSYCK
MOVA?#“H”;发送命令码HZA
的ASCII码
LCALLSENDBYTE
MOVA?#“Z”
LCALLSENDBYTE
MOVA?#“A”
LCALLSENDBYTE
MOVR0?#REGASCXHH
LCALLSENDCS;发参数H的ASCII码
MOVR0?#REGASCXH
LCALLSENDCS;发参数x的ASCII码
MOVR0?#REGASCYH
LCALLSENDCS;发参数y的ASCII码
LJMPORDEREND
;显示汉字串子程序
ORDERHZ?LCALLBUSYCK;检测模块闲状态
MOVA?#“H”
LCALLSENDBYTE
MOVA?#“Z”
LCALLSENDBYTE
MOVA?#“D”
LCALLSENDBYTE
NEXTHZ:CLRA;取汉字的高八位内码
MOVCA,@A+DPTR
INCDPTR;调整内码指针
LCALLSENDBYTE
CLRA;取汉字的低八位内码
MOVCA,@A+DPTR
INCDPTR;调整内码指针
LCALLSENDBYTE
DJNZR7,NEXTHZ
MOVA,#0DH;命令结束
LCALLSENDBYTE
RET
;显示ASCII字符串子程序
ORDERASCII:
LCALLBUSYCK
MOVA,#“H”;
LCALLSENDBYTE
MOVA,#“Z”
LCALLSENDBYTE
MOVA?#“D”
LCA
LLSENDBYTE
NEXTASCII?CLRA?取ASCII码
MOVCA?@A+DPTR
INCDPTR
LCALLSENDBYTE
DJNZR7?NEXTASCII
MOVA?#0DH
LCALLSENDBYTE
RET
;清屏子程序
ORDERCLR:LCALLBUSYCK
MOVA,#“C”
LCALLSENDBYTE
MOVA?#“L”
LCALLSENDBYTE
MOVA?#“R”
LCALLSENDBYTE
LJMPORDEREND
;显示下载到模块内图形子程序
ORDERBMP:MOVA,XV
MOVR0,#REGASCXH
LCALLHASC;将参数x转换为两个
字节的ASCII码
MOVA,XHV
MOVR0?#REGASCXHH
LCALLHASC;将参数xH转换为两
个字节的ASCII码
MOVA,YV
MOVR0,#REGASCYH
LCALLHASC;将参数y转换为两个
字节的ASCII码
MOVA,NUBER
MOVR0?#REGASCNH
LCALLHASC;将参数n转换为两
个字节的ASCII码
LCALLBUSYCK;检测模块闲状态
MOVA,#“B”;先发送命令码
BMP的ASCII码
LCALLSENDBYTE
MOVA,#“M”
LCALLSENDBYTE
MOVA?#“P”
LCALLSENDBYTE
MOVR0,#REGASCNH
LCALLSENDCS;发参数n的ASCII码
MOVR0,#REGASCXHH
LCALLSENDCS;发参数xH的ASCII码MOVR0,#REGASCXH
LCALLSENDCS;发参数x的ASCII码
MOVR0,#REGASCYH
LCALLSENDCS;发参数y的ASCII码
ORDEREND:MOVA,#0DH;发送命令结标
志“0DH”
MOVSBUF,A
JNBTI,$
CLRTI
RET
;结束上次命令子程序
BUSYCK:MOVA,#0DH
MOVSBUF,A
JNBTI,$
CLRTI
JNBBUSY?$
RET
;发送参数子程序
SENDCS:MOVA,@R0
LCALLSENDBYTE
INCR0
MOVA,@R0
LCALLSENDBYTE
RET
;发送字节数据子程序
SENDBYTE:MOVSBUF,A
JNBTI,$
CLRTI
RET
TABHZ:DB“汉字内码表”
TABASCII:DB“ASCII字符表”
5结束语
VLCM320240可视化编程液晶显示模块由于可将系统中用到的画面预置到液晶显示模块内部,因而使得图形界面与中文界面的生成变得非常容易,因此,该模块无疑将是显示信息要求较高的应用领域中理想的显示器件选择之一。
【可视化编程串行控制中文字库液晶显示模块VLCM30】相关文章:
串行接口中文图形点阵液晶显示模块的应用08-06
MSP430与液晶显示器的串行接口方案08-06
液晶显示模块MGLS240128在图形显示中的应用08-06
数字式智能电机控制模块08-06
图形点阵式液晶显示模块在冲击力监测系统中08-06
液晶显示模块DMF-50081在单片机系统中的应用08-06
NOKIA移动电话液晶显示模块LPH7366原理及其应用08-06
串行通信控制器85C30及其应用08-06