《图形点阵LCD液晶模块显示界面的可视化编.docx》由会员分享,可在线阅读,更多相关《图形点阵LCD液晶模块显示界面的可视化编.docx(10页珍藏版)》请在优知文库上搜索。
1、图形点阵LCD液晶模块显示界面的可视化编程方案与实践关键词:LCD显示模块,可视化编程,单片机,RS232串行通讯随着图形点阵LCD液晶显示模块在各行各业的逐步使用,使得人机界面变得越来越直观形象,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力,但一般涉及有关图形点阵液晶模块显示界面开发的技术人员由于缺乏经验而往往感到力不从心,尤其当用户的控制电路资源非常缺乏的条件下(如家用电器),图形点阵液晶模块则更是望尘莫及,而市面上所能见到的仍是那些“不顾客户死活而又自认清高”的传统型液晶显示模块,虽然其成本已经降到普遍能接受的地步,但还是因其
2、控制方法的特殊性和复杂性严重阻碍液晶显示器的推广应用。针对目前的这种状况,深圳联合电子有限公司开发出一种图形点阵液晶模块,将LCD所有的底层操作集成于模块内的MCU中,这样其控制就变得极为容易,占用户资源最少,并且所有显示界面的编辑及调试全部在电脑上独立完程,整个过程一目了然,极大地方便用户编写显示界面的控制软件,从而也提高了LCD液晶显示模块在产品中的附加值。可视化编程LCD模组技术特性:1 .模块显示点阵数(分辨率)128X64,192X64,256X64三种可选:2 .内含高速MCU及64KB用户显示资料现场可编程FLASH:3 .标准RS232串行通讯控制,只占用户两根口线,小马拉大车
3、成为可能:4 .配备仿真调试软件,在电脑上独立完成显示界面的编辑,资料下载,仿真调试;5 .简单又丰富的控制命令使模块显示的控制易如控制一只LED:6 .用户可随时改写显示资料,现场编程易如反掌,显示界面无限升级;7 .模块提供忙信号输出,以检测模块状态;用户首先在电脑上完成LCD显示界面的编辑,资料下载及仿真调试工作,所配仿真调试软件可使用户方便的进行上述工作,在硬件上除可视化编程LCD模组之外还配有一块电脑RS232电平转换转接板,此板负责模块与联接和对模块的供电,模块与电脑联接图示如下。图1模块与电脑的联接将所配仿真调试软件ViSUalLCMLO安装在电脑上(运行附带软盘中INSTALL
4、.BAT),安装前注意要先将电脑里正在运行且占用串口的程序关闭,安装完毕屏幕上即出现如下软件主界面:PIESi Svblc4MPl .bnp 4 vblc440. bp4 vblc44l Up4 vble442 MP4 vkle443 Up d vblcd44. WPd vblcdd5. IoP d vblcd*. ;d vblc447. Inp4 Svblc4 npa VblcdVfnhl Up d vUcdJT Up d vblcdOI. MP删除I一拉I调入IKiVisual LcmLO率口陶S6 811 r COM2使用潮助下载位图排序40 位国惠度:19浏览资料I 消除屏幕I 漳加I
5、曝,昉直Fn(H)情漏 7Iob舸IPnXjr (5X, y豆关鱼国n)发送命令图2仿真调试软件主画面当鼠标移动到某可操作对象上停留一会儿,就会有相应的操作提示,建议操作前请先将各功能浏览一遍,以便先对操作有个感性认识。在模块与电脑联接之前,用“图文编辑”将LCD预显示位图画好存档,注意所作位图必需是黑白的单色位图且需旋转270度,将画好的位图通过“添加”一一列入“下载位图排序”中,把模块设为编程模式(JPl选择)与电脑由RS232转换板相接并通电,在“串口选择”中选好模块所接串口,用“状态测试”检查连线和串口号及电源是否正常,若联机成功,模块资料卜.载界面则显示“联机测试0K!”,同时主画面
6、中“下载资料”激活,点击后电脑将排序列表中的位图按序号由小到大一一下载到模块内FLASH中,下载时间与列表中位图总和大小成正比,结束时模块显示“下载资料OK!”,此时将模块断电,设其为正常模式再加电,用“状态测试”告电脑模块此时已为正常模式,通过点击“浏览资料”可在LCD屏上以点(00,00)为顶点一一观察刚刚下载的所有位图,且顺序与排序列表中的相同,也可直接点击排序列表中的位图进行浏览,所有位图无误后,可进行LCD显示界面的仿真调试。LCD显示界面的生成用六种命令来实现,在主画面的“发送命令”卜边的命令列表框中罗列出这六种命令的含义及语法规则,若输入借误的命令将会提示错误信息,命令及各参数说
7、明如下:表I命令功能说明命令格式LCD显示效果功能说明BMPnxy在以点(x,y)为顶点处显示位图nCLR清除LCD屏上所有显示(该命令无参数)CLzSxywh清除以点(x,y)为顶点,宽W高h的距形INVxywh反色以点(x,y)为顶点,宽W高h的距形SDTxy(CDTxy)在点(x,y)处画点(在点(x,y)处灭点)表2命令参数说明参数取值范围含义进制举例n0=n=序号最大值=0FF位图序号十六进制OBXO=x=FFH显示区域顶点横坐标十六进制12y0=y=3FH显示区域顶点纵坐标十六进制09WOw=FFH显示区域横向宽度点数十六进制OFh0hM-P-X)-B-0oC-0-D”:5 .在每
8、条命令末尾还要加上命令结束码“0D”,以表明命令结束。6.若单片机P87LPC762的串口已被占为他用,那么用一根口线来摸拟生成一个软串口发送命令即可。7.模块SlO接口中PIN6的作用是当模块内MCU由于干扰死机时,用户控制电路可强行外部复位,使模块脱离死机状态,判断模块是否死机可通过向其发送正确的显示命令后,PIN7电平是否有变化来得知,实际上模块在完成每条命令内部操作后即进入睡眠状态,死机的机率是极低的。在下面的软件中未考虑死机的情况。用MCS-51汇编语言编写简单的显示控制源程序如卜.(实际运行已通过):BUSYBITP1.0;定义忙信号口线,当然也可定义为其他线X-VEQU30H;定
9、义各参数单元WIDTHEQU33HHIGHTEQU34HNUBEREQU32HREG_ASC_XH EQU 35HREG_ASC_XL EQU 36HREG_ASC_YH EQU 37HREG_ASC_YL EQU 38HREG_ASC_NH EQU 39H;定义参数x高四位ASCII码单元淀义参数X低四位ASCII码单元;定义参数y高四位ASCII码单元;定义参数y低四位ASCII码单元;定义参数n高四位ASCII码单元REG_ASC_NLEQU3AHREG_ASC_WHEQU3BHREG_ASC_WLEQU3CHREG_ASC_HHEQU3DHREG_ASC_HLEQU3EH;定义参数n低
10、四位ASCII码单元;定义参数w高四位ASCII码单元;定义参数w低四位ASCII码单元;定义参数h高四位ASCn码单元;定义参数h低四位ASCII码单元ORGOOH;程序开始AJMPMAINORG80HMAIN:MOVSP.#60H;设堆栈指针LCALLINIT_SI0;初始化串口MOVX_V,M)CH;在x=12,y=13为顶点处显示位图11MOVY_V,M)DHMOVNUBER.#0BHLCALL0RDER.BMP;发送位图显示子程,其它命令编写类似INIT.SIO:MOVSCON,#50H;串行口:方式1MOVTMOD21H;定时器Tl为波特率发生器,方式2MOVTH1,#OFDH;波
11、特率=9600,Fosc=I1.0592MHzMOVTL1,#OFDHBMOD=OSETBTRl;启动TlRETORDER_BMP:MOVA,X_VMOVRO,#REG_ASC_XHLCALLH_ASC;将参数X转换为两个字节的ASCII码MOVA,Y_VMOVRO,#REG_ASC_YHLCALLH_ASC:将参数y转换为两个字节的ASCII码MOVA.NUBERMOVRO,#REG_ASC_NHLCALLH_ASC;将参数n转换为两个字节的ASCII码LCALLBUSY-CK;检测模块状态MOVA,#“B”;先发送命令码BMP的ASCII码MOVSBUEAJNBTI,$CLRTIMOVA,#“M”MOVSBUEAJNBTI,$CLRTIMOVA,#“P”MOVSBUF,AJNBTI,$CLRTIMOVRO,#REG_ASC_NHLCALLSEND_CS泼参数n的ASCII码MOVRO.#REG_ASC_XHLCALLSEND_CS;发参数X的ASCII码MOVRO.#REG_ASC_YHLCALLSEND.CS;发参数y的ASCII码MOVA,#0DHMOVSBUEA;发送命令结束标志“0DH”JNBTI,SCLRTIRET