详解四线电阻触摸屏的工作原理
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:

评论