资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
触摸屏控制芯片实验ADS7843 是一个内置 12 位模数转换、低导通电阻模拟开关的串行接口芯片。供电电 压 2.75 V,参考电压 VREF 为 1 V+VCC,转换电压的输入范围为 0 VREF,最高转换速 率为 125 kHz。ADS7843 引脚图及引脚功能说明了:ADS7843 的引脚配置如图 3 所示。表 1 为引脚功能说明,图 4 为典型应用。aDS7843 引脚说明ADS7843 典型应用电路2.2 ADS7843 的内部结构及参考电压模式选择ADS7843 之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切 换,并能进行快速 A/D 转换。图 5 所示为其内部结构,A2A0 和 SER/为控制寄存器中的 控制位,用来进行开关切换和参考电压的选择。ADS7843 支持两种参考电压输入模式:一种是参考电压固定为 VREF,另一种采取差 动模式,参考电压来自驱动电极。这两种模式分别如图 6(a)、(b)所示。采用图 6(b)的差动 模式可以消除开关导通压降带来的影响。表 2 和表 3 为两种参考电压输入模式所对应的内 部开关状况。2.3 ADS7843 的控制字及数据传输格式ADS7843 的控制字如表 4 所列,其中 S 为数据传输起始标志位,该位必为 “1“。A2A0 进行通道选择(见表 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.4 A/D 转换时序的程序设计ADS7843 的典型应用如图 4 所示。假设 P 接口与 51 单片机的 P1.3P1.7 相连,现以 一次转换需 24 个时钟周期为例,介绍 A/D 转换时序的程序设计。; A/D 接口控制线DCLK BIT P1.3CS BIT P1.4DIN BIT P1.5BUSY BIT P1.6DOUT BIT P1.7; A/D 通道选择命令字和工作寄存器CHX EQU 094H ;通道 X+的选择控制字CHY EQU 0D4H;通道 Y+的选择控制字CH3 EQU 0A4HCH4 EQU 0E4HAD_CH EQU 35H ;通道选择寄存器AD_RESULTH EQU 36H ;存放 12 bit A/D 值AD_RESULTL EQU 37H; 存放通道 CHX+的 A/D 值CHXAdResultH EQU 38HCHXAdResultL EQU 39H; 存放通道 CHY+的 A/D 值CHYAdResultH EQU 3AHCHYAdResultL EQU 3BH; 采集通道 CHX+的程序段(CHXAD)CHXAD: MOV AD_CH,#CHXLCALL AD_RUNMOV CHXAdResultH,AD_RESULTHMOV CHXAdResultL,AD_RESULTLRET; 采集通道 CHY+的程序段(CHYAD)CHYAD: MOV AD_CH,#CHYLCALL AD_RUNMOV CHYAdResultH,AD_RESULTHMOV CHYAdResultL,AD_RESULTLRET; A/D 转换子程序(AD_RUN); 输入: AD_CH-模式和通道选择命令字; 输出: AD_RESULTH,L ;12 bit 的 A/D 转换值; 使用: R2 ;辅助工作寄存器AD_RUN:CLR CS ; 芯片允许CLR DCLKMOV R2,#8 ;先写 8 bit 命令字MOV A,AD_CHAD_LOOP:MOV C, ACC.7MOV DIN,C ;时钟上升沿锁存 DINSETB DCLK ;开始发送命令字CLR DCLK ;时钟脉冲,一共 24 个RL ADJNZ R2,AD_LOOPNOPNOPNOPNOPADW0: JNB BUSY,AD_WAIT ;等待转换完成SJMP ADW1AD_WAIT:LCALL WATCHDOGNOPSJMP ADW0CLR DINADW1: MOV R2,#12 ;开始读取 12bit 结果SETB DCLKCLR DCLKAD_READ:SETB DCLKCLR DCLK ;用时钟的下降沿读取MOV A,AD_RESULTLMOV C,DOUTRLC AMOV AD_RESULTL,AMOV A,AD_RESULTHRLC AMOV AD_RESULTH,ADJNZ R2,AD_READMOV R2,#4 ;最后是没用的 4 个时钟IGNORE:SETB DCLKCLR DCLKDJNZ R2,IGNORESETB CS ;禁止芯片ANL AD_RESULTH,#0FH ;屏蔽高 4 bitRET2.5 A/D 转换结果的数据格式ADS7843 转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两 种输入模式中是不一样的。而且,如果选取 8 位的转换精度,1LSB=VREF/256,一次转换 完成时间可以提前 4 个时钟周期,此时串口时钟速率也可以提高一倍。本文来自: DZ3W.COM 原文网址:http:/www.dz3w.com/info/commonIC/0086705.html
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号