>
摘 要:本文介绍了一种新颖的触摸屏实现方案,并详细描述了其开发系统的硬件设计以及相关的软件开发过程。
关键词:触摸屏;Bc4.5;虚拟显示
目前使用最多的触摸屏主要为电阻触摸屏,其分辨率为4096×4096,而本文介绍的电阻触摸屏原理虽与普通电阻触摸屏相同,但其分辨率为20×12,是一块长
图1 触摸屏接口电路图
系统的设计
目前工业现场需要液晶屏进行显示的场合越来越多,有时一屏显示不够,需要翻页,还可能需要通过液晶屏按键进行相应的控制。采用昂贵的工业控制机对液晶触摸屏进行控制的作法因性价比太低而造成资源浪费。所以本文选用一款基于
硬件简介
SOM-2386模块在一块比名片还小的板子上实现了几乎工业计算机所需要的一切功能。该模块板载嵌入式高性能16位处理器,该处理器为32位RISC架构,并且与
不过,该模块虽然功能众多,但要想开发出自己的程序,还需自己设计出开发底板,在创建开发环境的同时,还得满足应用系统更多的需求,如:增加液晶屏接口、串口、IDE接口和触摸屏接口等。
硬件设计及驱动程序开发
底板设计过程中,液晶屏接口、串口和IDE接口只需按照SOM-2386模块的总线定义进行对应的连接和相关设计即可,触摸屏接口则需根据所选触摸屏的结构进行设计。
因采用的触摸屏分辨率为20×12,有(20+12)根地址/数据线,因此相应的接口也应据此设计。而且,触摸屏的驱动程序也要单独编写,为使程序编写方便,设计过程中也要注意有关细节。
触摸屏的驱动程序方面,采用的是行列扫描的方法来确定被按下的位置。先对20行分别送出低电平“0”,然后逐次扫描12列。当某个行列交叉的位置被按下时,对该行送出低电平“0”,则扫描到该列的时候就会得到低电平“0”;若未按下,则会得到高电平“1”。基于该原理,本文设计的触摸屏接口电路如图1所示。
对20行进行扫描时,CPU发送的数据先通过锁存器74LS273进行锁存,然后再输出;而扫描后的结果,则先通过八双向缓冲器74LS245,再返回给CPU。其中行列扫描的地址是由逻辑芯片进行控制的。在电路设计时,应使触摸屏的20/12根数据/地址线依次连接至锁存器/八双向缓冲器,然后再接至数据/地址总线,这样可避免在按键的判断过程中产生顺序混乱,造成处理的麻烦。同时,在对按下位置的判断过程中,还应像对键盘的按键处理一样,进行去抖处理,以去除干扰的影响。具体程序这里就不再赘述,请登陆www.eaw.com.cn查询。
应用程序的开发、调试和应用
系统开发底板设计好之后,即可进行应用程序的开发及调试。
应用程序的开发与调试
应用程序的开发软件有许多种,如TC、Bc3.1、Bc4.5等。本文采用Bc4.5,在该环境下可以方便地输入汉字和文本。
选定软件开发环境后,即可建立自己的工程,进行程序的编写和调试。在此过程中,必须注意以下几点:
コ绦蚶嘈Í
必须选择程序类型为dos:dos(standard),以及浮点模拟:emulation。
ハ钅勘嘁氪砥骼嘈Í
必须设置项目的编译处理器类型为
ツ诖婺J½
内存模式若设置的不合适,则在程序的编译和链接过程中可能会出现错误。若在程序的调试过程中,出现有很多链接错误,而其中的绝大部分是关于调用自己编写的函数库中的函数的问题,这时就要考虑一下内存模式的设置了。一般情况下,若开始时内存的设置为小模式,将其改为大模式后可解决问题,不会再出现类似的链接错误。
设置好项目工程的所有选项,并编译程序没有错误后,即可将程序下载到开发底板中,进行远程调试。程序的下载和远程调试可通过串口进行。通过TD Configuration(开始 —— 程序 —— Borland C++4.5 —— TD Configuration)设置好串口的参数后,点击Borland C++4.5开发环境下的菜单Tool — Turbo Debugger即可启动。待程序下载到目标板后,就可以开始程序的远程调试,可以单步或全速运行,也可设置断点、观察变量等,这同本地调试一样方便。
需特别注意的是,程序的编写和编译虽然可以在任何一种Windows操作系统下进行,但如果是在基于SOM-2386控制模块的开发底板上运行,那么程序的下载和远程调试就必须在Windows98下进行,在其它Windows操作系统下一般不能正常、快速地运行。
应用程序的应用
将程序开发好并下载到目标板后,可通过SOM-2386控制模块中集成的系统BIOS中的虚拟显示技术,将程序从开发时使用的IDE设备拷贝到闪存电子盘中,同时修改目标板的批处理文件autoexec.bat,并取下IDE设备。加电后即可从闪存电子盘自动运行开发好的应用程序。
将开发底板、液晶屏、触摸屏连接、固定好,即可用于所需的工业现场,实现其显示、翻页及控制功能。
结语