欢迎来到天天文库
浏览记录
ID:55398536
大小:514.15 KB
页数:3页
时间:2020-05-15
《基于emWin图形库的低成本液晶触摸屏系统开发.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《工业控制计算机}2015年第28卷第3期基于emWin图形库的低成本液晶触摸屏系统开发DevelopmentofLow-costLCDTouchScreenSystemBasedonemWin黄开珍邹卫军(南京理工大学自动化学院,江苏南京210094)摘要基于一款自主研发的以LPC1788芯片作为主控制器的低成本触摸屏,研究了基于emWin图形库的人机交互界面的软件设计。触摸屏底层设计采用三缓冲技术,通过SPI中断读取触摸屏控制器的值,使得系统触摸灵敏、界面切换流畅。软件完成了中文及包括透明图片的位图的显示,长按、双击等动作的消息定制,节能的背光调节以及通信等功能。软件功能完备,界面友
2、好,达到了商用要求。关键词:液晶触摸屏,LPC1788,emwinAbstractBasedor)aself—developedandlow-costLCDtouchscreenwithLPC1788asthemasterchip,thispaperstudiesthesoftwaredesignofinteractiveinterfacebasedonemWingraphicslibrary.TheLCDtouchscreenisadoptedthethree-cush—iontechnology,andreadthevalueofthetouchscreencontrolerbySP
3、Iinterruptmakingittouchsensitiveandtheinter—faceswitchsmooth.ThesoftwarehascompletedthefunctionsofChineseandbitmapimagesincludetransparentpicturedisplay,themessageoflongpress,double-clickcustommade,backlightadjustmentwithenergysaving,communication.Keywords:LCDtouchscreen。LPC1788,emWin本论文重点介绍了利用em
4、Win图形库进行人机交互界面WM一丁OUCH和WM—PJD—STATE_CH—ANGED。WM—TOUCH设计的关键技术,总结了其中的技术要点。消息是指针输入设备接触到处于按下状态的窗口轮廓时发送到1基于三缓冲技术的界面切换窗口:具体表现是从按下触摸屏到释放之前,该消息将会一直不人机交互界面设计最重要的用户体验是界面切换流畅自断的发送到按下的窗El。WM—PID—STATE—CHANGED消息在如,emWin图形库通过多缓冲技术来实现这个要求。通常通过按下状态已更改时,发送到指针输入设备指向的窗口:具体表现配置文件LCDConf.C可实现,在实验时发现采用双缓冲技术没是当按下触摸屏时,该
5、消息会被发送当前窗口一次,释放时该消有确保切换在获得一个垂直同步信号时进行,导致切换时可见息会再被发送一次。屏幕逐项绘图过程,使得切换效果差、速度慢;而采用三缓冲技长按响应效果实现的关键是记录每次按下的时间,当超过术则可避免上述问题,最终使得切换效果好、速度快。一定时间时进行消息响应。如果按下时间过短则不进行响应。实界面切换采用的思路是先删除旧的窗口,再新建新的窗口。现步骤如下:删除窗口可以调用emWin库函数:voidWM—DeleteWindow1)设置变量TouchTime记录按下时接收WM—丁一OUCH次(WM—HWlNhWin)。执行过后会发现窗口仍可见,但窗口已经数,以表明按
6、下时间,变量值增加越大按下时间越长。根据实验失效。因为此时窗口没有进行重绘,重绘包含桌面窗口的重绘和经验当每次按下变量TouchTime增加了四十几时,触发响应比当前窗口的重绘。桌面窗1:3由窗El管理器自动创建,并且始终覆较合理;盖整个显示区域,它始终是最底层的窗口。调用库函数2)设置变量ClickTime记录屏幕状态转换次数,及记录窗WM—SetDesktopColor(),可将桌面窗Iq进行重新着色。指定参口收到WM—PID—SE—CHANGED的次数。变量ClickTime数GUI—INVALID—COLOR可恢复默认设置。调用WM—Exec()为偶数表示处于释放状态,此时将变量
7、TouchTime清零,避免执行回调函数进行无效窗口重绘,最后创建新的窗口就可完成累加;界面切换。具体代码如下:3)在长按进入下一个界面时,由于焦点已经转移到新窗口,WM——DeleteWindow(WM——OLDWlN);旧窗口不在接收消息,所以在新窗口中要新将变量TouchTimeWM—SetDeskt0pCoIor(GUl—INVALID—COLOR);清零,避免下次迅速执行响应。WM—ExecO;具体部分代码如下:Creat
此文档下载收益归作者所有