📄 cs5460huibian.txt
字号:
CLKequ P1.6; --
DATequ P1.7; E2prom
dat7 equ p0.3; ---
clk7 equ p0.2; 7289
cs7equ p0.1;
rset equ p0.0; ---
sdiequ p1.5; cs5460
sdoequ p1.4
sclk equ p1.3
csaequ p1.0
csbequ p1.1
cscequ p1.2; ---
dogequ p3.5
;"""""""""""""""""""""""""""""""""""
REST: ;5460复位
MOVR6,#06H
MOVR0,#0FFH
USA:
NOP
NOP
cpldog
ACALL COMM
DJNZ R6,USA ;串行口初始化
MOVR0,#0FEH
NOP
NOP
ACALL COMM
MOV10H,#00H
MOV11H,#00H
MOV12H,#81H
MOVR0,#40H;CS5460复位
MOVR1,#10H
NOP
NOP
ACALL WWW
NOP
NOP
ACALL T9
MOV 10H,#80H
MOV 11H,#00H
MOV 12H,#20H
MOVR0,#74H
MOVR1,#10H
NOP
NOP ;写中断寄存器
ACALL WWW
NOP
NOP
ACALL T9
MOV10H,#00H
MOV11H,#00H
MOV12H,#71H
MOVR0,#40H;写入5460配置寄存器
MOVR1,#10H
NOP
NOP
ACALL WWW
NOP
NOP
ACALL T9
MOVR0,#0D0H
NOP
NOP
LCALL COMM ;电压校准
ddd1:
MOVR0,#1EH
MOVR1,#10H
NOP
NOP
ACALL READ
MOVA,10H ;等待校准完毕
JNBACC.7,ddd1
MOV10H,#0FFH
MOV11H,#0FFH
MOV12H,#0FEH
MOVR0,#5EH
MOVR1,#10H
NOP
NOP
LCALL WWW ;清DRDY,WDT位
MOVR0,#0C8H
NOP
NOP
LCALL COMM ;电流校准
Ddd2:
MOVR0,#1EH
MOVR1,#10H
NOP
nOP
ACALL READ
MOVA,10H ;等待校准完毕
JNBACC.7,ddd2
MOV10H,#0FFH
MOV11H,#0FFH
MOV12H,#0FEH
MOVR0,#5EH
MOVR1,#10H
NOP
NOP
LCALL WWW ;清DRDY,WDT位
NOP
NOP
LCALL WUIROM;将校准值写入5460
NOP
NOP
ACALL T9
;MOVR0,#0C0H
;NOP
;NOP
;ACALL COMM ;禁止校准
MOV10H,#0FFH
MOV11H,#0FFH
MOV12H,#0FEH
MOVR0,#5EH
MOVR1,#10H
NOP
NOP
LCALL WWW ;清DRDY,WDT位
NOP
NOP
ACALL T9
MOVR0,#0E8H
NOP
NOP
ACALL COMM ;进行连续计算
NOP
NOP
RET
T9:
MOVR7,#0FFH
T2:
NOP
NOP
DJNZ R7,T2
NOP
NOP
RET
COMM: ;对芯片进行控制,命令字在R0
clrsdo
MOVA,R0
MOVR4,#08H
M1:MOVC,ACC.7
MOVsdi,C
NOP
NOP
NOP
NOP
SETBsclk
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLRsclk
NOP
NOP
NOP
RL A
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R4,M1
NOP
NOP
NOP
RET
;|||||||||||||||||||||||||||||||||||||
WWW:;命令字在R0,数据指针在R1,
NOP
NOP
ACALL COMM
MOVR6,#03H
W1: MOVA,@R1
MOVR0,A
NOP
NOP
ACALL COMM
INCR1
DJNZ R6,W1
NOP
NOP
RET
;*******************
READ: ;命令字在R0,数据指针在R1
NOP
NOP
ACALL COMM
setb sdi
SETB sdo
MOVR3,#08H
MOVR2,#03H
NOP
NOP
NOP
NOP
RR2: CLR sclk
CLRC
CLRA
RR1: NOP
NOP
NOP
NOP
SETB sclk
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVC,sdo
MOVACC.7,C
RL A
NOP
CLRsclk
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
;读数时最后一个脉冲,Sdi为低电平
cjne r2,#01h,readjie
cjne r3,#02h,readjie
clr sdi
readjie:DJNZ R3,RR1
MOV R3,#08H
MOV @R1,A
INC R1
DJNZ R2,RR2
clr sdi
NOP
NOP
NOP
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -