[an error occurred while processing this directive]
|
SET_CL: MOV A,#10001110B ;CONTROL
MOV R0,#00000000B
LCALL SHWR
MOV A,#10010000B ;TRICKLE CHARGER
MOV R0,#10101011B ;8K, 2 DIODES
LCALL SHWR
MOV A,CL1
SWAP A
ORL A,CL2
MOV R0,A
MOV A,#10000100B ;HR
LCALL SHWR
MOV A,CL3
SWAP A
ORL A,CL4
MOV R0,A
MOV A,#10000010B ;MIN
LCALL SHWR
MOV A,#10000000B ;SEC
MOV R0,#00H
LCALL SHWR
RET
GET_CL: MOV A,#10000101B ;HR
LCALL SHRD
MOV R0,A
SWAP A
ANL A,#0FH
MOV CL1,A
MOV A,R0
ANL A,#0FH
MOV CL2,A
MOV A,#10000011B ;MIN
LCALL SHRD
MOV R0,A
SWAP A
ANL A,#0FH
MOV CL3,A
MOV A,R0
ANL A,#0FH
MOV CL4,A
RET
;Data read
;Input: A = address, Out: A = data
SHRD: SETB RST
MOV R1,#8H ;bit counter load
SHRD1: RRC A
MOV DATA,C
SETB CLK
CLR CLK
DJNZ R1,SHRD1
MOV R1,#8H ;bit counter load
SHRD2: MOV C,DATA
RRC A
SETB CLK
CLR CLK
DJNZ R1,SHRD2
CLR RST
RET
;Data write
;Input: A = address, R0 = data
SHWR: SETB RST
MOV R1,#8H ;bit counter load
SHWR1: RRC A
MOV DATA,C
SETB CLK
CLR CLK
DJNZ R1,SHWR1
MOV R1,#8H ;bit counter load
MOV A,R0
SHWR2: RRC A
MOV DATA,C
SETB CLK
CLR CLK
DJNZ R1,SHWR2
CLR RST
RET
E-mail: info@telesys.ru