;******************************************************************
;对应的汇编编制的93C46子程序库
;******************************************************************
CS EQU P1.0
DI EQU P1.1
DO EQU P1.2
SK EQU P1.3
;------------------------------------------------------------------
;入口:无,出口:无,命令:1001100000B
;------------------------------------------------------------------
允许93C46写:
MOV A,#10011000B
CLR CS
SETB CS
MOV R7,#8
A1: RLC A
MOV DI,C
CLR SK
SETB SK
DJNZ R7,A1
CLR SK
SETB SK
CLR SK
SETB SK
CLR CS
RET
;------------------------------------------------------------------
;入口:无,出口:无,命令:1000000000B
;------------------------------------------------------------------
禁止93C46写:
CLR CS
CLR SK
SETB CS
SETB DI
SETB SK
CLR DI
MOV R7,#9
A2: CLR SK
SETB SK
DJNZ R7,A2
CLR CS
RET
;------------------------------------------------------------------
;入口:A=地址,返回:A=数据,命令:110+7位地址
;------------------------------------------------------------------
读93C46:
ANL A,#00111111B
ORL A,#10000000B
CLR CS
CLR SK
SETB CS
SETB DI
SETB SK
MOV R7,8
A3: RLC A
MOV C,DI
CLR SK
SETB SK
DJNZ R7,A3
MOV R7,#8
A4: CLR SK
SETB SK
RLC A
MOV DO,C
DJNZ R7,A4
CLR CS
RET
;------------------------------------------------------------------
;入口:A=地址,B=数据,返回:无,命令:101+7位地址
;------------------------------------------------------------------
写93C46:
ANL A,#00111111B
ORL A,#01000000B
CLR CS
CLR SK
SETB CS
SETB DI
SETB SK
MOV R7,#8
A5: RLC A
MOV C,DI
CLR SK
SETB SK
DJNZ R7,A5
MOV R7,#8
A6: CLR SK
SETB SK
RLC A
MOV DO,C
DJNZ R7,A6
CLR CS
RET
;------------------------------------------------------------------
;结束
;------------------------------------------------------------------