CLK equ P1.6; -- DAT equ P1.7; E2prom dat7 equ p0.3; --- clk7 equ p0.2; 7289 cs7 equ p0.1; rset equ p0.0; --- sdi equ p1.5; cs5460 sdo equ p1.4 sclk equ p1.3 csa equ p1.0 csb equ p1.1 csc equ p1.2; --- dog equ p3.5 ;""""""""""""""""""""""""""""""""""" REST: ;5460復位 MOV R6,#06H MOV R0,#0FFH USA: NOP NOP cpl dog ACALL COMM DJNZ R6,USA ;串行口初始化 MOV R0,#0FEH NOP NOP ACALL COMM MOV 10H,#00H MOV 11H,#00H MOV 12H,#81H MOV R0,#40H ;CS5460復位 MOV R1,#10H NOP NOP ACALL WWW NOP NOP ACALL T9 MOV 10H,#80H MOV 11H,#00H MOV 12H,#20H MOV R0,#74H MOV R1,#10H NOP NOP ;寫中斷寄存器 ACALL WWW NOP NOP ACALL T9 MOV 10H,#00H MOV 11H,#00H MOV 12H,#71H MOV R0,#40H ;寫入5460配置寄存器 MOV R1,#10H NOP NOP ACALL WWW NOP NOP ACALL T9 MOV R0,#0D0H NOP NOP LCALL COMM ;電壓校準 ddd1: MOV R0,#1EH MOV R1,#10H NOP NOP ACALL READ MOV A,10H ;等待校準完畢 JNB ACC.7,ddd1 MOV 10H,#0FFH MOV 11H,#0FFH MOV 12H,#0FEH MOV R0,#5EH MOV R1,#10H NOP NOP LCALL WWW ;清DRDY,WDT位 MOV R0,#0C8H NOP NOP LCALL COMM ;電流校準 Ddd2: MOV R0,#1EH MOV R1,#10H NOP nOP ACALL READ MOV A,10H ;等待校準完畢 JNB ACC.7,ddd2 MOV 10H,#0FFH MOV 11H,#0FFH MOV 12H,#0FEH MOV R0,#5EH MOV R1,#10H NOP NOP LCALL WWW ;清DRDY,WDT位 NOP NOP LCALL WUIROM ;將校準值寫入5460 NOP NOP ACALL T9 ;MOV R0,#0C0H ;NOP ;NOP ;ACALL COMM ;禁止校準 MOV 10H,#0FFH MOV 11H,#0FFH MOV 12H,#0FEH MOV R0,#5EH MOV R1,#10H NOP NOP LCALL WWW ;清DRDY,WDT位 NOP NOP ACALL T9 MOV R0,#0E8H NOP NOP ACALL COMM ;進行連續(xù)計算 NOP NOP RET T9: MOV R7,#0FFH T2: NOP NOP DJNZ R7,T2 NOP NOP RET COMM: ;對芯片進行控制,命令字在R0 clr sdo MOV A,R0 MOV R4,#08H M1: MOV C,ACC.7 MOV sdi,C NOP NOP NOP NOP SETB sclk NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP CLR sclk NOP NOP NOP RL A NOP NOP NOP NOP NOP NOP DJNZ R4,M1 NOP NOP NOP RET ;||||||||||||||||||||||||||||||||||||| WWW: ;命令字在R0,數(shù)據(jù)指針在R1, NOP NOP ACALL COMM MOV R6,#03H W1: MOV A,@R1 MOV R0,A NOP NOP ACALL COMM INC R1 DJNZ R6,W1 NOP NOP RET ;******************* READ: ;命令字在R0,數(shù)據(jù)指針在R1 NOP NOP ACALL COMM setb sdi SETB sdo MOV R3,#08H MOV R2,#03H NOP NOP NOP NOP RR2: CLR sclk CLR C CLR A RR1: NOP NOP NOP NOP SETB sclk NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV C,sdo MOV ACC.7,C RL A NOP CLR sclk NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP ;讀數(shù)時最后一個脈沖,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 |
|