四线电阻触摸屏的工作原理详解

时间:2012-10-08来源:网络

2.4 A/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_DATAHEQU36H;存放12 bit A/D值

AD_DATALEQU37H

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

CHX_AdHEQU38H

CHX_AdLEQU39H

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

CHY_AdHEQU3AH

CHY_AdLEQU3BH

;===============================

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

CHXAD:

MOVAD_CH,#CHX

LCALLAD_RUN

MOVCHX_AdH,AD_DATAH

MOVCHX_AdL,AD_DATAL

RET

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

CHYAD:

MOVAD_CH,#CHY

LCALLAD_RUN

MOVCHY_AdH,AD_DATAH

MOVCHY_AdL,AD_DATAL

RET

;=====================================

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

; 输入: AD_CH-模式和信道选择命令字

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

; 使用: R2 ;辅助工作寄存器

AD_RUN:

CLRCS; 芯片允许

CLRDCLK

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

MOVA,AD_CH

AD_LOOP:

MOVC, ACC.7

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

SETBDCLK;开始发送命令字

CLRDCLK;时钟脉冲,一共24个

RL A

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_DATAL

MOVC,DOUT

RLCA

MOVAD_DATAL,A

MOVA,AD_DATAH

RLCA

MOVAD_DATAH,A

DJNZR2,AD_READ

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

IGNORE:

SETBDCLK

CLRDCLK

DJNZR2,IGNORE

SETBCS;禁止芯片

ANLAD_DATAH,#0FH;屏蔽高4 bit

RET

2.5 A/D转换结果的资料格式

ADS7843转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。

结束语

在许多嵌入式系统中,CPU提供专门的模块来支持液晶显示和触摸屏的输入,使得接口非常简单。比如,MOTOROLA的MC68VZ328(称为DragON Ball)就提供专门的引脚来支持8位和4位的液晶显示,对触摸屏的支持通过SPI2借助ADS7843也很容易完成。

1 2 3

关键词: 详解 原理 工作 触摸屏 电阻

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版