📄 ads7843.asm
字号:
;四线电阻型触摸屏
;定义ADS7843控制线
; DCLK EQU P3.3
DCLK EQU P0.5
DIN EQU P0.3
DOUT EQU P0.1 ;CS(片选信号直接接地)
;定义变量
KEYCOUT EQU 48H ;
FLAG_KEY EQU 49H ;键值寄存器
AD_CH EQU 4AH ;信道选择寄存器
AD_DAT EQU 4BH ;存放8BIT A/D值
CHX_DAT EQU 4EH ;存放信道CHX的值
CHY_DAT EQU 4FH ;存放信道CHY的
CSEG AT 0000H
NOP
MAIN:
NOP
LCALL CHX ;读X轴坐标值存于CHX_DAT
LCALL CHY ;读Y轴坐标值存于CHY_DAT
NOP
LJMP MAIN
;**************************************
CHX:
MOV AD_CH,#0D1H ;向7843输入控制字,Y开关ON
LCALL AD_RUN
MOV CHX_DAT,AD_DAT
RET
;**************************************
CHY:
MOV AD_CH,#91H ;向7843输入控制字,X开关ON
LCALL AD_RUN
MOV CHY_DAT,AD_DAT
RET
;**************************************
AD_RUN:
CLR DCLK
MOV R1,#08H
MOV A,AD_CH
AD_LOOP:
MOV C,ACC.7
MOV DIN,C
CLR DCLK
NOP
NOP
SETB DCLK
NOP
RL A
DJNZ R1,AD_LOOP ;向7843写控制字
CLR DIN
;======================================
ADW1:
MOV R1,#8
LCALL DELAYK
CLR DCLK
NOP
MOV AD_DAT,#00H
SETB DOUT
AD_READ:
SETB DOUT
SETB DCLK
NOP
NOP
CLR DCLK
MOV A,AD_DAT
MOV C,DOUT
RLC A
MOV AD_DAT,A
DJNZ R1,AD_READ ;从7843读取转换后的数据
MOV R1,#8
IGNORE:
SETB DCLK
NOP
NOP
CLR DCLK
NOP
DJNZ R1,IGNORE ;??????????????????????
RET
;==================================
DELAYK:
MOV R7,#100
DE1:
NOP
DJNZ R7,DE1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -