📄 writeds1073.a51
字号:
NAME writeDs1073
PUBLIC WRITE_DS1073
OED DATA 0B5H
IOD DATA 0B0H
EZUSB segment code
rseg EZUSB
WRITE_DS1073:
;initialization
;FD15 DRIVE MINUS PULSE FOR 500us
CLR IOD.7
MOV R7,#250;
LCALL Delay1us
MOV R7,#249;
LCALL Delay1us
;OFF FD15 FOR 500US(DURING THIS TIME DS1073 WOULD DRIVE THIS LINE A MINUS PULSE
ANL OED,#7FH
MOV R7,#250;
LCALL Delay1us
MOV R7,#249;
LCALL Delay1us
NOP
NOP
NOP
LCALL WriteMUXCommand
MOV A,#00110110B
LCALL WriteData
RET
Delay1us:
;3*3(INC DPTR)+3(RET)=12*(4*1000/48)
INC DPTR
INC DPTR
INC DPTR
DJNZ R7,Delay1us
RET
WriteMUXCommand:
MOV ACC,#2
MOV R5,#8;
AGAIN:
CLR IOD.7
ORL OED,#80H
MOV R7,#2
LCALL Delay1us
JNB ACC.0,MUX1
ANL OED,#7FH
MUX1:
MOV R7,#62
LCALL Delay1us
ANL OED,#7FH
MOV R7,#2
LCALL Delay1us
RR A
DJNZ R5,AGAIN
RET
WriteData:
MOV R5,#9;
WD_AGAIN:
CLR IOD.7
ORL OED,#80H
MOV R7,#2
LCALL Delay1us
;DATA BIT
JNB ACC.0,WD_MUX1
ANL OED,#7FH
WD_MUX1:
MOV R7,#62
LCALL Delay1us
ANL OED,#7FH
MOV R7,#2
LCALL Delay1us
RR A
DJNZ R5,WD_AGAIN
RET
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -