📄 randw.asm
字号:
NAME RandW
PUBLIC _READBYTE
PUBLIC _WRITEBYTE
CSB BIT P3.5
SCK BIT P3.4
SDO BIT P3.3
SDI BIT P3.2
RandW segment code
RSEG RandW
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;read a byte from SPI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
_READBYTE:
MOV A,R7
CLR CSB
RLC A
MOV SDI,C ;1
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;2
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;3
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;4
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;5
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;6
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;7
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;8
CLR SCK
NOP
NOP
NOP
SETB SCK
NOP
NOP
NOP
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;1
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;2
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;3
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;4
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;5
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;6
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;7
RLC A
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV C,SDO ;8
RLC A
SETB SDI
SETB CSB
MOV R7,A
RET
_WRITEBYTE:
MOV A,R7
CLR CSB
RLC A
MOV SDI,C ;1
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;2
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;3
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;4
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;5
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;6
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;7
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;8
CLR SCK
NOP
NOP
NOP
SETB SCK
MOV A,R5
RLC A
MOV SDI,C ;1
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;2
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;3
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;4
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;5
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;6
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;7
CLR SCK
NOP
NOP
NOP
SETB SCK
RLC A
MOV SDI,C ;8
CLR SCK
NOP
NOP
NOP
SETB SCK
SETB SDI
SETB CSB
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -