|
|
3 系统软件设计
触摸屏软件设计包括I/O口初始化程序、笔中断服务程序和ADS7843测量子程序三部分。当有触摸时,ADS7843向LPC2387发出中断请求并响应,程序跳至启动通信代码处,读取ADS7843的转换结果,从而得到触摸点的坐标。在ADS7843测量子程序中,完成一次微处理器和ADS7843之间的通信。
触摸屏的软件设计可采用两种方式:一种是利用SSP接口的Microwire方式直接控制;另一种是I/O端口模拟ADS7843转换时序来实现坐标采集。
3.1 Microwire方式
Microwire格式采用半双工模式。每次串行发送8位控制字开始,在发送控制字过程中,SSP不接收数据,待发送完毕后,片外从器件ADS7843对其译码,并且最后一位发送结束的一个串行时钟后,才返回主机所需的数据。它的这种传输方式恰好与ADS7843转换时序吻合,只要对SSP寄存器配置准确便可方便地控制触摸屏完成坐标的采集。
部分程序代码如下:
ADS7843_Get()为测量取值子程序,通过控制SSPODR寄存器实现控制字的发送和逻辑坐标值的接收。
3.2 I/O口模拟时序方式
鉴于许多微控制器没有SSP接口,可以采取I/O模拟ADS7843转换时序来实现坐标采集。此方式较为繁琐,与SSP接口的触摸屏控制方式比较最为显著的缺点是:响应速度较慢,灵敏度较低,微处理器与触摸屏控制器间的通信时间较长,降低了系统的效率。然而此种方式却具有一般性,任何处理器都可采以用此方式来实现触摸控制。