触摸屏的使用.docx

上传人:b****6 文档编号:6934529 上传时间:2023-01-12 格式:DOCX 页数:9 大小:280.32KB
下载 相关 举报
触摸屏的使用.docx_第1页
第1页 / 共9页
触摸屏的使用.docx_第2页
第2页 / 共9页
触摸屏的使用.docx_第3页
第3页 / 共9页
触摸屏的使用.docx_第4页
第4页 / 共9页
触摸屏的使用.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

触摸屏的使用.docx

《触摸屏的使用.docx》由会员分享,可在线阅读,更多相关《触摸屏的使用.docx(9页珍藏版)》请在冰豆网上搜索。

触摸屏的使用.docx

触摸屏的使用

 摘要:

简要介绍触摸屏的结构及工作原理,并以Burr-Brown公司的触摸屏控制芯片ADS7843为例,介绍触摸屏应用的典型电路和操作。

由于ADS7843内置12位A/D,理论上触摸屏的输入坐标识别精度为有效长宽的1/4096。

  关键词:

触摸屏ITOADS7843嵌入式系统

  1触摸屏的基本原理

  典型触摸屏的工作部分一般由三部分组成,如图1所示:

两层透明的阻性导体层、两层导体之间的隔离层、电极。

阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。

隔离层为粘性绝缘液体材料,如聚脂薄膜。

电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。

  

  

  触摸屏工作时,上下导体层相当于电阻网络,如图2所示。

当某一层电极加上电压时,会在该网络上形成电压梯度。

如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。

比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。

然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道Y坐标。

  2触摸屏的控制实现

  现在很多PDA应用中,将触摸屏作为一个输入设备,对触摸屏的控制也有专门的芯片。

很显然,触摸屏的控制芯片要完成两件事情:

其一,是完成电极电压的切换;其二,是采集接触点处的电压值(即A/D)。

本文以BB(Burr-Brown)公司生产的芯片ADS7843为例,介绍触摸屏控制的实现。

  2.1ADS7843的基本特性与典型应用

  ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。

供电电压2.7~5V,参考电压VREF为1V~+VCC,转换电压的输入范围为0~VREF,最高转换速率为125kHz。

ADS7843的引脚配置如图3所示。

表1为引脚功能说明,图4为典型应用。

  

  

  

  2.2ADS7843的内部结构及参考电压模式选择

  ADS7843之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切换,并能进行快速A/D转换。

图5所示为其内部结构,A2~A0和SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。

  

  ADS7843支持两种参考电压输入模式:

一种是参考电压固定为VREF,另一种采取差动模式,参考电压来自驱动电极。

这两种模式分别如图6(a)、(b)所示。

采用图6(b)的差动模式可以消除开关导通压降带来的影响。

表2和表3为两种参考电压输入模式所对应的内部开关状况。

  

  

  

  2.3ADS7843的控制字及数据传输格式

  ADS7843的控制字如表4所列,其中S为数据传输起始标志位,该位必为"1"。

A2~A0进行通道选择(见表2和3)。

  MODE用来选择A/D转换的精度,"1"选择8位,"0"选择12位。

  SER/选择参考电压的输入模式(见表2和3)。

PD1、PD0选择省电模式:

  "00"省电模式允许,在两次A/D转换之间掉电,且中断允许;

  "01"同"00",只是不允许中断;

  "10"保留;

  "11"禁止省电模式。

  为了完成一次电极电压切换和A/D转换,需要先通过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。

标准的一次转换需要24个时钟周期,如图7所示。

由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期,如图8所示。

如果条件允许,CPU可以产生15个CLK的话(比如FPGAs和ASICs),转换速率还可以提高到每次15个时钟周期,如图9所示。

  

  

  

  2.4A/D转换时序的程序设计

  ADS7843的典型应用如图4所示。

假设μP接口与51单片机的P1.3~P1.7相连,现以一次转换需24个时钟周期为例,介绍A/D转换时序的程序设计。

  ;A/D接口控制线

  DCLKBITP1.3

  CSBITP1.4

  DINBITP1.5

  BUSYBITP1.6

  DOUTBITP1.7

  ;A/D通道选择命令字和工作寄存器

  CHXEQU094H;通道X+的选择控制字

  CHYEQU0D4H;通道Y+的选择控制字

  CH3EQU0A4H

  CH4EQU0E4H

  AD_CHEQU35H;通道选择寄存器

  AD_RESULTHEQU36H;存放12bitA/D值

  AD_RESULTLEQU37H

  ;存放通道CHX+的A/D值

  CHXAdResultHEQU38H

  CHXAdResultLEQU39H

  ;存放通道CHY+的A/D值

  CHYAdResultHEQU3AH

  CHYAdResultLEQU3BH

  ;采集通道CHX+的程序段(CHXAD)

  CHXAD:

MOVAD_CH,#CHX

  LCALLAD_RUN

  MOVCHXAdResultH,AD_RESULTH

  MOVCHXAdResultL,AD_RESULTL

  RET

  ;采集通道CHY+的程序段(CHYAD)

  CHYAD:

MOVAD_CH,#CHY

  LCALLAD_RUN

  MOVCHYAdResultH,AD_RESULTH

  MOVCHYAdResultL,AD_RESULTL

  RET

  ;A/D转换子程序(AD_RUN)

  ;输入:

AD_CH-模式和通道选择命令字

  ;输出:

AD_RESULTH,L;12bit的A/D转换值

  ;使用:

R2;辅助工作寄存器

  AD_RUN:

  CLRCS;芯片允许

  CLRDCLK

  MOVR2,#8;先写8bit命令字

  MOVA,AD_CH

  AD_LOOP:

  MOVC,ACC.7

  MOVDIN,C;时钟上升沿锁存DIN

  SETBDCLK;开始发送命令字

  CLRDCLK;时钟脉冲,一共24个

  RLA

  DJNZR2,AD_LOOP

  NOP

  NOP

  NOP

  NOP

  ADW0:

JNBBUSY,AD_WAIT;等待转换完成

  SJMPADW1

  AD_WAIT:

  LCALLWATCHDOG

  NOP

  SJMPADW0

  CLRDIN

  ADW1:

MOVR2,#12;开始读取12bit结果

  SETBDCLK

  CLRDCLK

  AD_READ:

  SETBDCLK

  CLRDCLK;用时钟的下降沿读取

  MOVA,AD_RESULTL

  MOVC,DOUT

  RLCA

  MOVAD_RESULTL,A

  MOVA,AD_RESULTH

  RLCA

  MOVAD_RESULTH,A

  DJNZR2,AD_READ

  MOVR2,#4;最后是没用的4个时钟

  IGNORE:

  SETBDCLK

  CLRDCLK

  DJNZR2,IGNORE

  SETBCS;禁止芯片

  ANLAD_RESULTH,#0FH;屏蔽高4bit

  RET

  2.5A/D转换结果的数据格式

  ADS7843转换结果为二进制格式。

需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。

而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。

  结束语

  在许多嵌入式系统中,CPU提供专门的模块来支持液晶显示和触摸屏的输入,使得接口非常简单。

比如,MOTOROLA的MC68VZ328(称为DragonBall)就提供专门的引脚来支持8位和4位的液晶显示,对触摸屏的支持通过SPI2借助ADS7843也很容易完成。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1