51 单片机系统中的触摸屏坐标算法 引言 人机对话的界面种类有很多,比如显示器、LED、LCD 及带触摸屏的LCD 等。其中后者是最近几年刚发展起来的一项新技术,它通过计算机技术处理声音、图像、视频、文字、动画等信息,并在这些信息间建立一定的逻辑关系,使之成为能交互地进行信息存取和输出的集成系统。换而言之,它能综合信息发布者的意愿和接受者对信息的需求及接受习惯,对信息进行收集、加工、整合并双向式传播。触摸屏系统符合简便、经济、高效的原则,具有人机交互性好、 操作简单灵活、输入速度快等特点。它与迅猛发展的计算机网络和多媒体技术相结合,使用者仅仅用手指触摸屏幕,就能进行信息检索、数据分析,甚至可以做出身临其境、栩栩如生的效果;较键盘输入简单、直观、快捷,具有丰富多采的表现能力,比以往任何传媒更具亲合力。 触摸屏和 51 单片机接口,可以使一些小系统的操作更加方便、快捷。使用触摸屏时最重要的问题是确定坐标位置,即确定触点位置是否在该键的有效区域之内。由于51 系列单片机的汇编语言不具备其它高级语言所具有的丰富库函数及逻辑运算能力,所以如何用 51 单片机简捷准确地完成这一任务,便成为应用中迫切需要解决的问题。 在实际应用中,我们采用了 ADS7843 作为触摸屏的控制器。关于 ADS7843 的原理及工作方式,已经有很多文章发表,而如何确认坐标位置却很少提及。本文仅就坐标确定问题做如下分析。 1 转换模式 ADS7843 的转换精度有8 位和12 位两种,可以精确到X 或Y 方向上的1/256 和1/4096。我们采用清华蓬远公司的PDA240160 触摸显示屏,外形尺寸是61.6mm×42.4mm,所以没必要采用12 位A/D 转换,而只需要8 位A/D 转换就足以达到所需精度,即最小分度是X、Y 长度方向的1/256。 2 坐标确定 PDA240160 触摸显示屏的坐标如图 1。 图 1 触摸显示屏的坐标图 其中,(X,Y)是一个图表按键的中心坐标,(X’,Y’)是右下角坐标,(X”,Y”)是其左上角的坐标。在触及屏幕时,触点只要在(X’,Y’)和(X”,Y”)矩形区域内均认为是触摸该键有效。假设一个 32×32 点阵的图标按键中心坐标(X,Y)为(50,50),那么(X’,Y’)就是(35,40),(X”,Y”)就是(65,60)。在触摸时只要得到的键坐标在(X’,Y’)和(X”,Y”)之间,即认为是触摸到了该键。而在该键坐标范围内的值又是如此之多,如何来处理得到的坐标呢?最初我们采取散转方式,结果是程序太冗长、...