可视化LCM液晶显示模块界面的编程详解
一般涉及有关图形点阵LCM显示界面开发的技术人员由于缺乏经验而往往感到力不从心,尤其当用户的控制电路资源非常缺乏的条件下,图形点阵LCM则更是望尘莫及。随着图形点阵液晶显示模块(LCM)在各行各业的应用,使得人机界面变得越来越直观,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力。
针对这种情形,深圳欣语电子开发出一种图形点阵液晶模块,将LCD所有的底层操作集成于模块内的MCU中,这样其控制就变得极为容易,占用户资源最少,并且所有显示界面的编辑及调试全部在电脑上独立完程,整个过程一目了然,极大地方便用户编写显示界面的控制软件,从而也提高了LCM液晶显示模块在产品中的附加值。
用户首先在电脑上完成LCD显示界面的编辑,资料下载及仿真调试工作,所配仿真调试软件可使用户方便的进行上述工作,在硬件上除可视化编程LCD模组之外还配有一块电脑RS232电平转换转接板,此板负责模块与电脑联接和对模块的供电。
将所配仿真调试软件Visual LCM1.0安装在电脑上(运行附带软盘中INSTALL.BAT),安装前注意要先将电脑里正在运行且占用串口的程序关闭,安装完毕屏幕上即出现如下软件主界面:
当鼠标移动到某可操作对象上停留一会儿,就会有相应的操作提示,建议操作前请先将各功能浏览一遍,以便先对操作有个感性认识。在模块与电脑联接之前,用“图文编辑”将LCD预显示位图画好存档,注意所作位图必需是黑白的单色位图且需旋转270度,将画好的位图通过“添加”一一列入“下载位图排序”中,把模块设为编程模式(JP1选择)与电脑由RS232转换板相接并通电,在“串口选择”中选好模块所接串口,用“状态测试”检查连线和串口号及电源是否正常,若联机成功,模块资料下载界面则显示“联机测试OK!”,同时主画面中“下载资料”激活,点击后电脑将排序列表中的位图按序号由小到大一一下载到模块内FLASH中,下载时间与列表中位图总和大小成正比,结束时模块显示“下载资料OK!”,此时将模块断电, 设其为正常模式再加电,用“状态测试”告电脑模块此时已为正常模式,通过点击“浏览资料”可在LCD屏上以点(00,00)为顶点一一观察刚刚下载的所有位图,且顺序与排序列表中的相同,也可直接点击排序列表中的位图进行浏览,所有位图无误后,可进行LCD显示界面的仿真调试。
LCM显示界面的生成用六种命令来实现,在主画面的“发送命令”下边的命令列表框中罗列出这六种命令的含义及语法规则,若输入错误的命令将会提示错误信息,
以下是针对相应程序的参数定义和说明:
1:BMPnxy 在以点(x,y)为顶点处显示位图n
2:CLR 清除屏上所有显示
3:CLSxywh 清除以点(x,y)为顶点,宽w高h的距形
4:INVxywh 反色以点(x,y)为顶点,宽w高h的距形
5:SDTxy (CDTxy) 在点(x,y)处画点(在点(x,y)处灭点)
n 0=x 0=y 0=w 0h 0各参数在128X64LCD显示屏
在主画面的“发送命令”左边的命令输入框中输入正确的命令后点击“发送命令”,此时LCD屏上会有相应的显示动作,若在调试过程中发现要修改某位图时可以用“图文编辑”。
重新修改后按前述步骤再一次下载位图,直到对显示界面满意为止。
最终要将模块脱离电脑通过模块上的SIO接入用户控制电路中运行,SIO定义如下:
PIN1:LCM背光电极1(LED背光时为负极,EL背光时为交流驱动电极1);
PIN2:LCM背光电极2(LED背光时为直流正5伏,EL背光时为交流驱动电极2);
PIN3,PIN5:LCM逻辑电源地;
PIN4:LCM逻辑电源直流正5伏;
PIN6:LCM内MCU外部复位,高有效,防死机时用;
PIN7:LCM忙信号,低为忙,高为闲;
PIN8:LCM显示控制命令串行输入,通讯协议为(9600,n,8,1),即9600波特率,无校验位,8个数据位,1个停止位。
现举例说明模块如何与单片机AT89C2051接口,为保证波特率的准确,建议AT89C2051用11.0592MHz的晶体;
在编写单片机AT89C2051的控制软件时需注意以下事项:
1.串行口模式设为模式1(1个起始位,8个数据位,1个停止位);
2.波特率设为9600(TH1=TL1=0FDH,SMOD=0;TH1=TL1=0FAH,SMOD=1);
3.在发送命令之前需检测模块为闲态(PIN7=1),否则所发的命令可能失效;
4.串口发送的必须是完整命令的ASCII码,如命令“BMP0B0C0D”,实际由串口发送的内容是“424D50304230433044”,顺序为 “B->M->P->0->B->0->C->0->D”;
5.在每条命令末尾还要加上命令结束码“0D”,以表明命令结束。
6.若单片机AT89C2051的串口已被占为他用,那么用一根口线来摸拟生成一个软串口即可。
7.模块SIO接口中PIN6的作用是当模块内MCU由于干扰死机时,用户控制电路可强行外部复位,使模块脱离死机状态,判断模块是否死机可通过向其发送正确的显示命令后,PIN7电平是否有变化来得知,实际上模块在完成每条命令内部操作后即进入睡眠状态,死机的机率是极低的。在下面的软件中未考虑死机的情况。
可视化编程LCD液晶模组技术特性:
1.模块显示点阵数(分辨率)128X64,192X64,256X64三种可选;
2.内含高速MCU及64KB用户显示资料现场可编程FLASH;
3.标准RS232串行通讯控制,只占用户两根口线,小马拉大车成为可能;
4.配备仿真调试软件,在电脑上独立完成显示界面的编辑,资料下载,仿真调试;
5.简单又丰富的控制命令使模块显示的控制易如控制一只LED;
6.用户可随时改写显示资料,现场编程易如反掌,显示界面无限升级;
7.模块提供忙信号输出,以检测模块状态;
对那些正准备用图形点阵LCD模块来完善人机界面和提高产品档次的广大用户来说,我们真诚盼望您的产品构思能迅速变成实物,可视化编程LCD模块必然能助您一臂之力。
|