退出的英文-山河破碎
网址:
QQ
:
21414861
如侵犯您的利益和著作权请发信到
【
langmanbuluo@
】
我们将收到信两个工作日内删除!
!
触摸屏控制芯片
ADS7843
p>
中文资料
ADS7843
是一个内置
12
位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压
2.7~5 V
,参考电压
VREF
为
1
V~+VCC
,转换电压的输入范围为
0~
VREF
,最高转换速率
为
125
kHz
。
ADS7843
引脚图及引脚功能说明了
:
ADS7843
的引脚配置如图
p>
3
所示。表
1
为引
脚功能说明,图
4
为典型应用。
aDS7843
引脚说明
ADS7843
典型应用电路
2.2
ADS7843
的内部结构及参考电压模式选择
ADS
7843
之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切
p>
换,并能进行快速
A/D
转换。图
5
所示为其内部结构,
A2~A0
和
SER/
为控制寄存器中的控
制位,用来进行开关切换和参考电压的选择。
ADS7843
< br>支持两种参考电压输入模式:一种是参考电压固定为
VREF
,另一种采取差
动模式,参考电压来自驱动电极。这两种模式分别如图
6(a)
、
(b)
所示。采
用图
6(b)
的差动模
式可以消除开关
导通压降带来的影响。
表
2
和表
3
为两种参考电压输入模式所对应的内部开
关
状况。
2.3
ADS7843
的控制字及数据传输格式
ADS
7843
的控制字如表
4
所列,其中<
/p>
S
为数据传输起始标志位,该位必为
p>
。
A2~A0
进行通道选择
(
见表
2
和
< br>3)
。
MODE
用来选择
A/D
转换的精度,
选择
8
位,
选择
12
位。
SER
/
选择参考电压的输入模式
(
见表
p>
2
和
3)
。
PD1
、
PD0
选择
省电模式:
省电模式允许,在两次
A/D
转换之间掉电,且中断允许;
同
,只是不允许中断;
保留;
禁止省电模式。
为了完
成一次电极电压切换和
A/D
转换,需要先通过串口往
ADS7843
发送控制字,转
换完成后再通过
串口读出电压转换值。标准的一次转换需要
24
个时钟周期,如
图
7
所示。
由于串口支持双向同时进行
传送,
并且在一次读数与下一次发控制字之间可以重叠,
所以转
换速率可以提高到每次
16
个时钟周期
,如图
8
所示。如果条件允许,
CPU
可以产生
15
个
CLK
的话
(
比如
< br>FPGAs
和
ASICs),
转
换速率还可以提高到每次
15
个时钟周期,如图
9
所示。
2.4
A/D
转换时序的程序设计
ADS7843
< br>的典型应用如图
4
所示。
假设<
/p>
μP
接口与
51
单片机的
P1.3~P1.7
相连,
现
以一
次转换需
24
个时钟周期为例,介
绍
A/D
转换时序的程序设计。
;
A/D
接口控制线
DCLK BIT P1.3
CS
BIT P1.4
DIN BIT P1.5
BUSY BIT P1.6
DOUT BIT P1.7
;
A/D
通道选择命令字和工作寄存器
CHX
EQU 094H
通道
X+
的选择
控制字
CHY EQU 0D4H;
通道
Y+
的选择控制字
CH3 EQU 0A4H
CH4
EQU 0E4H
AD_CH EQU 35H
;
通道选择寄存器
AD_RESULTH EQU
36H
存放
12 bit
A/D
值
AD_RESULTL EQU 37H
; <
/p>
存放通道
CHX+
的
A/D
值
CHXAdResultH
EQU 38H
CHXAdResultL EQU 39H
;
存放
通道
CHY+
的
A/D
值
CHYAdResultH EQU 3AH
CHYAdResultL EQU 3BH
;
采集
通道
CHX+
的程序段
(CHXAD)
CHXAD: MOV AD_CH,#CHX
LCALL AD_RUN
MOV CHXAdResultH,AD_RESULTH
MOV CHXAdResultL,AD_RESULTL
RET
;
采集通道
CHY+
的程序段
(CHY
AD)
CHYAD: MOV
AD_CH,#CHY
LCALL AD_RUN
MOV CHYAdResultH,AD_RESULTH
MOV CHYAdResultL,AD_RESULTL
RET
;
A/D
转换子程序
(AD_RUN)
;
输入
:
AD_CH-
模式和通道选择命令字
;
输出
:
AD_RESULTH,L 12 bit
的
A/D
转换值
;
使用
: R2
;
辅助工作寄存器
AD_RUN:
CLR CS
芯片允许
CLR DCLK
MOV
R2,#8
先写
8
bit
命令字
MOV A,AD_CH
AD_LOOP:
MOV C,
ACC.7
MOV DIN,C
;
时钟上升沿锁存
DIN
SETB DCLK
;
开始发送命令字
CLR DCLK
时钟脉冲,一共
24
个
RL A
DJNZ
R2,AD_LOOP
NOP
NOP
NOP
NOP
ADW0: JNB BUSY
,AD_WAIT
;
等待转换完成
SJMP ADW1
AD_W
AIT:
LCALL WATCHDOG
NOP
SJMP ADW0
CLR DIN
ADW1: MOV R2,#12
开始读取
12bit
结果
SETB DCLK
CLR
DCLK
AD_READ:
SETB DCLK
CLR
DCLK
用时钟的下降沿读取