📄 ads1210asm.asm
字号:
;*************************************************************
;* The ADS1210 program(c and asm)version 1.0 *
;* By Li Huailiang 2007.11.12 *
;*************************************************************
;-------------------------------------------------------------------------
;从MSB到LSB,BD=0,MSB=0,SDIO输入,SDOUT输出
;加速因子TMR为1,fXIN选择10MHz
;抽取率为1952(即 0011110100000),
;fDATA为10MHz并选择单极性输入和半自动校准方式,同时选择通道输入1
;-------------------------------------------------------------------------
SDIO BIT P2.1
SCLK BIT P2.2
DRDY BIT P2.0
SDOUT BIT P2.3
;------------------------------------------------------------
PUBLIC ADS1210
EXTRN XDATA(RESULT)
;------------------------------------------------------------
ORG 0000H
LJMP ADS1210
ORG 0100H
ADS1210: CLR EA
MOV DPTR,#RESULT
MOV R3,#64H
CLR SCLK
LCALL TIME ;relay
JB DRDY,$
NOP
NOP
LCALL TIME
MOV A,#64H
LCALL WRBYTE ;WRITE-INSR
MOV A,#32H
LCALL WRBYTE
MOV A,#20H
LCALL WRBYTE
MOV A,#07H
LCALL WRBYTE
MOV A,#0A0H
LCALL WRBYTE ;WRITE-CMR
NOP
NOP
SETB DRDY
LCALL TIME
NOP
R_DATA: MOV R2,#0AH
R_DATA1: NOP
NOP
JB DRDY,$
NOP
NOP
NOP
MOV A,#0C0H
LCALL WRBYTE ;WRITE-INSR
NOP
NOP
LCALL RDBYTE
MOVX @DPTR,A
INC DPTR
LCALL DELAY
LCALL RDBYTE
MOVX @DPTR,A
INC DPTR
LCALL DELAY
LCALL RDBYTE
MOVX @DPTR,A
INC DPTR ;READ DOR
LCALL DELAY
SETB DRDY
LCALL DELAY
LCALL TIME
LCALL CONTIUE
DJNZ R2,R_DATA1
DJNZ R3,R_DATA
NOP
NOP
RET
;--------------------------------------------------------
RDBYTE: MOV R7,#8
LCALL DELAY
RDBYTE1: SETB SCLK
LCALL DELAY
MOV C,SDOUT
NOP
NOP
NOP
NOP
CLR SCLK
LCALL DELAY
LCALL DELAY
RLC A
DJNZ R7,RDBYTE1
RET
;---------------------------------------------------------
WRBYTE: MOV R7,#8
LCALL DELAY
WRBYTE1: RLC A
SETB SCLK
LCALL DELAY
MOV SDIO,C
NOP
NOP
NOP
CLR SCLK
LCALL DELAY
LCALL DELAY
DJNZ R7,WRBYTE1
RET
;---------------------------------------------------------
TIME: MOV R5,#10H
TIME1: MOV R6,#0FFH
DJNZ R6,$
DJNZ R5,TIME1
RET
;---------------------------------------------------------
DELAY: MOV R4,#03H
DELAY2: NOP
DJNZ R4,DELAY2
RET
;---------------------------------------------------------
CONTIUE: MOV R4,#08H ; change,contiue read register
LOOPA: NOP
NOP
NOP
NOP
CLR SCLK
DJNZ R4,LOOPA
RET
;----------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -