📄 jingduabbb.asm
字号:
DRDY1 EQU P1.0
SDOUT1 EQU P1.1
SDIO1 EQU P1.2
SCLK1 EQU P1.3
DRDY2 EQU P1.4
SDOUT2 EQU P1.5
SDIO2 EQU P1.6
SCLK2 EQU P1.7
drdy3 equ p2.0
sdout3 equ p2.1
sdio3 equ p2.2
sclk3 equ p2.3
rest equ p2.4
wr2 equ p2.5
irq5 equ p2.6
SHeA EQU P2.7
fifoemp equ p3.4
ORG 0000H;
AJMP MAIN
ORG 0100H
MAIN:MOV TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH ;19.2KB/S
SETB TR1
MOV PCON,#80H
MOV SCON,#50H ;SMOD=1 FANG SHI 1
CLR EA
CLR SCLK2
CLR SCLK1; dpj initial
MOV 37H,#0FAH; 头文件
MOV 38H,#0FBH;
MOV 39H,#0BFH;
MOV 3AH,#0AFH;
MOV 3BH,#00H; 34H放校验和的低位,初始化为0
MOV 3CH,#00H; 35H放校验和的高位,初始化为0
MOV 3DH,#0CCH; 头文件
MOV 3EH,#06H;
MOV 3FH,#00H;
MOV 40H,#00H; 保存第1路采样24位数据,初始化为0
MOV 41H,#00H;
MOV 42H,#00H;
MOV 43H,#00H; 保存第2路采样24位数据,初始化为0
MOV 44H,#00H;
MOV 45H,#00H;
JNB DRDY1,$
MOV A,#01100100B
ACALL WRIN1
ACALL WRIN1
MOV R3,#20H
MOV A,R3
ACALL WRIN1
ACALL WRIN1 ; A\D1 initial
SETB DRDY1
JNB DRDY2,$
JB DRDY2,$;
MOV R1,#01100100B
MOV A,R1
ACALL WRIN2
MOV R2,#0C2H
MOV A,R2
ACALL WRIN2
MOV R3,#20H
MOV A,R3
ACALL WRIN2
MOV R4,#86H
MOV A,R4
ACALL WRIN2
MOV R5,#19H
MOV A,R5
ACALL WRIN2; A\D2 intial
SETB DRDY2
MOV R4,#00H
MOV R5,#00H
MOV R0,#3FH
SETB SHEA
K2: CLR SHEA
JNB DRDY1,$
JB DRDY1,$
MOV A,#0C0H
ACALL WRIN1
LCALL RDOUT1
INC R0
MOV @R0,A
LCALL RDOUT1
INC R0
MOV @R0,A
LCALL RDOUT1
INC R0
MOV @R0,A ;READ DOR1
;JNB DRDY2,$
JB DRDY2,$
MOV A,#0C0H
ACALL WRIN2
LCALL RDOUT2
INC R0
MOV @R0,A
LCALL RDOUT2
INC R0
MOV @R0,A
LCALL RDOUT2
INC R0
MOV @R0,A ;READ DOR2
SETB SHEA
ACALL XRLANDADD
ACALL READ
MOV R0,#3FH
AJMP K2
RDOUT1 :MOV R1,#08H
RD1: SETB SCLK1
MOV C,SDOUT1
CLR SCLK1
RLC A
DJNZ R1,RD1
RET
RDOUT2:
MOV R1,#08H
RD2:SETB SCLK2
MOV C,SDOUT2
CLR SCLK2
RLC A
DJNZ R1,RD2
RET
WRIN1:MOV R1,#08H
WR0:RLC A
SETB SCLK1
MOV SDIO1,C
CLR SCLK1
DJNZ R1,WR0
RET
WRIN2:MOV R1,#08H
WR1:RLC A
SETB SCLK2
MOV SDIO2,C
CLR SCLK2
DJNZ R1,WR1
RET
READ: MOV R0,#36H
MOV R1,#0FH
KK: CLR TI
INC R0
MOV A,@R0
MOV SBUF,A
JNB TI,$
DJNZ R1,KK
RET
INCR: MOV A,R5
ADD A,#01H
JNC RK
INC R4
RK: MOV R5,A
RET
XRLANDADD:
MOV R6,#09H; 9个需要异或与相加的数据
MOV R5,#00H; 与0\1\2\3\4\5\6\7\8异或
MOV 3BH,#00H; 34H放校验和的低位,初始化为0
MOV 3CH,#00H; 35H放校验和的高位,初始化为0
MOV R1,#3DH;
LOOPXRAD:
MOV A,@R1;
XRL A,R5;
INC R5;
INC R1;
ADD A,3BH;
MOV 3BH,A;
CLR A;
ADDC A,3CH;
MOV 3CH,A;
DJNZ R6,LOOPXRAD;
RET;我们采用了F=300HZ每秒钟传输了100多组数 19。2K
END ;精度为小于1MV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -