📄 memory.asm
字号:
$NOMOD51
NAME SPI
POINTPULSEPIN BIT 090H.6
P1 DATA 090H
P3 DATA 0B0H
T0 BIT 0B0H.4
AC BIT 0D0H.6
P4 DATA 0C0H
T1 BIT 0B0H.5
T2 BIT 090H.0
EA BIT 0A8H.7
WDKEY DATA 0AEH
UISTA DATA 0E8H
ENI1 BIT 0D8H.6
IE DATA 0A8H
a0 BIT 0E0H.0
P1_0 BIT 090H.0
a1 BIT 0E0H.1
P1_1 BIT 090H.1
a2 BIT 0E0H.2
P1_2 BIT 090H.2
P3_0 BIT 0B0H.0
a3 BIT 0E0H.3
P1_3 BIT 090H.3
CARD_IO BIT 0C0H.0
P4_0 BIT 0C0H.0
P3_1 BIT 0B0H.1
a4 BIT 0E0H.4
P1_4 BIT 090H.4
P4_1 BIT 0C0H.1
P3_2 BIT 0B0H.2
a5 BIT 0E0H.5
P1_5 BIT 090H.5
P4_2 BIT 0C0H.2
P3_3 BIT 0B0H.3
EXF2 BIT 0C8H.6
WDRST DATA 0A6H
a6 BIT 0E0H.6
P1_6 BIT 090H.6
P4_3 BIT 0C0H.3
P3_4 BIT 0B0H.4
a7 BIT 0E0H.7
P1_7 BIT 090H.7
P4_4 BIT 0C0H.4
P3_5 BIT 0B0H.5
ES BIT 0A8H.4
S1SETUP DATA 0D1H
P4_5 BIT 0C0H.5
P3_6 BIT 0B0H.6
S2SETUP DATA 0D2H
IP DATA 0B8H
P4_6 BIT 0C0H.6
P3_7 BIT 0B0H.7
P4_7 BIT 0C0H.7
RI BIT 098H.0
ADAT DATA 096H
ADDR BIT 0D8H.3
INT0 BIT 0B0H.2
CY BIT 0D0H.7
UDR0 DATA 0EFH
INT1 BIT 0B0H.3
TI BIT 098H.1
UDT0 DATA 0E7H
UDT1 DATA 0E6H
RXD2 BIT 090H.2
ACON DATA 097H
RCAP2H DATA 0CBH
TXD2 BIT 090H.3
PS BIT 0B8H.4
SP DATA 081H
T2EX BIT 090H.1
DDCADR DATA 0D6H
ASCL DATA 095H
DDCSDA BIT 0C0H.0
OV BIT 0D0H.2
PWM0 DATA 0A2H
DDCDAT DATA 0D5H
PWM1 DATA 0A3H
RCAP2L DATA 0CAH
A15 BIT 0B0H.2
PWM2 DATA 0A4H
PWM3 DATA 0A5H
C_T2 BIT 0C8H.1
EOPF BIT 0E8H.1
PSCL0H DATA 0B2H
RCLK BIT 0C8H.5
UADR DATA 0EEH
DDCCON DATA 0D7H
TCLK BIT 0C8H.4
DDCSCL BIT 0C0H.1
PSCL0L DATA 0B1H
PWMCH0 BIT 0C0H.3
SBUF DATA 099H
PCON DATA 087H
PWMCH1 BIT 0C0H.4
UIEN DATA 0E9H
PWMCH2 BIT 0C0H.5
PWMCH3 BIT 0C0H.6
SCON DATA 098H
TMOD DATA 089H
TCON DATA 088H
USCL DATA 0E1H
IE0 BIT 088H.1
USTA DATA 0EDH
IE1 BIT 088H.3
RAMBUF DATA 0D4H
RSTF BIT 0E8H.5
B DATA 0F0H
CP_RL2 BIT 0C8H.0
CR0 BIT 0D8H.0
CR1 BIT 0D8H.1
CR2 BIT 0D8H.7
ACC DATA 0E0H
PrnCS BIT 090H.5
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.5
ET2 BIT 0A8H.5
TF1 BIT 088H.7
TF2 BIT 0C8H.7
RB8 BIT 098H.2
TH0 DATA 08CH
EX0 BIT 0A8H.0
IT0 BIT 088H.0
TH1 DATA 08DH
PRN_D9 BIT 0B0H.5
EX1 BIT 0A8H.2
IT1 BIT 088H.2
TB8 BIT 098H.3
TH2 DATA 0CDH
P BIT 0D0H.0
IEA DATA 0A7H
A_0 BIT 0E0H.0
SM0 BIT 098H.7
TL0 DATA 08AH
B_0 BIT 0F0H.0
A_1 BIT 0E0H.1
SM1 BIT 098H.6
TL1 DATA 08BH
B_1 BIT 0F0H.1
A_2 BIT 0E0H.2
SM2 BIT 098H.5
TL2 DATA 0CCH
B_2 BIT 0F0H.2
A_3 BIT 0E0H.3
B_3 BIT 0F0H.3
A_4 BIT 0E0H.4
RESUMF BIT 0E8H.0
PT0 BIT 0B8H.1
B_4 BIT 0F0H.4
A_5 BIT 0E0H.5
I2CSC BIT 0B0H.7
PT1 BIT 0B8H.3
RS0 BIT 0D0H.3
B_5 BIT 0F0H.5
A_6 BIT 0E0H.6
CARD_IO_SAM BIT 0C0H.4
I2CSD BIT 0B0H.6
PT2 BIT 0B8H.5
TR0 BIT 088H.4
RS1 BIT 0D0H.4
PWMCON DATA 0A1H
B_6 BIT 0F0H.6
A_7 BIT 0E0H.7
TR1 BIT 088H.6
B_7 BIT 0F0H.7
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
IPA DATA 0B7H
S1ADR DATA 0DBH
DPH DATA 083H
S2ADR DATA 0DFH
S1DAT DATA 0DAH
SUSPND BIT 0E8H.7
S2DAT DATA 0DEH
DPL DATA 082H
DDCVSYNC BIT 0C0H.2
PRN_LIFT_RIGHT BIT 090H.7
EXEN2 BIT 0C8H.3
SBUF2 DATA 09BH
RXD0F BIT 0E8H.3
REN BIT 098H.4
S1CON DATA 0D8H
RXD1F BIT 0E8H.2
UCON0 DATA 0EAH
S2CON DATA 0DCH
SCON2 DATA 09AH
TXD0F BIT 0E8H.4
UCON1 DATA 0EBH
T2MOD DATA 0C9H
T2CON DATA 0C8H
STA BIT 0D8H.5
UCON2 DATA 0ECH
S1STA DATA 0D9H
RXD BIT 0B0H.0
S2STA DATA 0DDH
P1SFS DATA 091H
TXD BIT 0B0H.1
P3SFS DATA 093H
P4SFS DATA 094H
F0 BIT 0D0H.5
STO BIT 0D8H.4
ADC0 BIT 090H.4
ADC1 BIT 090H.5
ADC2 BIT 090H.6
PSW DATA 0D0H
ADC3 BIT 090H.7
?PR?ReadCbus8Bit?SPI SEGMENT CODE
?PR?_WriteCbus8Bit?SPI SEGMENT CODE
?PR?rd_state?SPI SEGMENT CODE
?PR?_wr_page?SPI SEGMENT CODE
?DT?_wr_page?SPI SEGMENT DATA OVERLAYABLE
?PR?_rd_buf?SPI SEGMENT CODE
?DT?_rd_buf?SPI SEGMENT DATA OVERLAYABLE
?PR?_rd_buf1?SPI SEGMENT CODE
?DT?_rd_buf1?SPI SEGMENT DATA OVERLAYABLE
?PR?_er_sector?SPI SEGMENT CODE
?DT?_er_sector?SPI SEGMENT DATA OVERLAYABLE
?PR?er_buck?SPI SEGMENT CODE
?PR?SPI SEGMENT CODE
EXTRN XDATA (flash_temp)
EXTRN XDATA (UPSD_xreg)
PUBLIC er_buck
PUBLIC _er_sector
PUBLIC _rd_buf1
PUBLIC _rd_buf
PUBLIC _wr_page
PUBLIC rd_state
PUBLIC _WriteCbus8Bit
PUBLIC ReadCbus8Bit
RSEG ?DT?_rd_buf1?SPI
?_rd_buf1?BYTE:
addr?549: DS 4
RSEG ?DT?_er_sector?SPI
?_er_sector?BYTE:
addr?651: DS 4
RSEG ?DT?_wr_page?SPI
?_wr_page?BYTE:
addr?345: DS 4
RSEG ?DT?_rd_buf?SPI
?_rd_buf?BYTE:
addr?447: DS 4
RSEG ?PR?SPI
Com001F:
L?0032:
USING 0
L?0033:
MOV DPTR,#UPSD_xreg+07H
MOV A,#03H
MOVX @DPTR,A
MOV DPTR,#0213H
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#06H
L?0034:
LCALL _WriteCbus8Bit
L?0035:
MOV DPTR,#0213H
MOVX A,@DPTR
ORL A,#02H
MOVX @DPTR,A
RET
L?0037:
USING 0
LCALL ReadCbus8Bit
MOV A,#LOW (flash_temp)
ADD A,R4
L?0038:
MOV DPL,A
CLR A
ADDC A,#HIGH (flash_temp)
MOV DPH,A
RET
L?0039:
USING 0
L?0040:
MOV DPTR,#0205H
MOVX A,@DPTR
ANL A,#0FEH
MOVX @DPTR,A
RET
L?0041:
USING 0
L?0042:
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#04H
RET
RSEG ?PR?ReadCbus8Bit?SPI
ReadCbus8Bit:
USING 0
CLR A
MOV R7,A
LCALL L?0039
CLR A
MOV R6,A
?C0001:
MOV A,R7
ADD A,ACC
MOV R7,A
MOV DPTR,#0205H
MOVX A,@DPTR
ORL A,#01H
MOVX @DPTR,A
MOV DPTR,#0201H
MOVX A,@DPTR
RRC A
RRC A
ANL A,#03FH
JNB ACC.0,?C0004
ORL AR7,#01H
?C0004:
LCALL L?0039
INC R6
CJNE R6,#08H,?C0001
?C0002:
?C0005:
RET
RSEG ?PR?_WriteCbus8Bit?SPI
L?0036:
USING 0
MOV DPTR,#UPSD_xreg+07H
MOV A,#03H
MOVX @DPTR,A
MOV DPTR,#0213H
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#03H
_WriteCbus8Bit:
USING 0
LCALL L?0040
MOVX A,@DPTR
ORL A,#02H
MOVX @DPTR,A
CLR A
MOV R6,A
?C0006:
MOV A,R7
MOV DPTR,#0205H
JNB ACC.7,?C0009
MOVX A,@DPTR
ORL A,#02H
MOVX @DPTR,A
SJMP ?C0010
?C0009:
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
?C0010:
MOV DPTR,#0205H
MOVX A,@DPTR
ORL A,#01H
MOVX @DPTR,A
MOV A,R7
ADD A,ACC
MOV R7,A
MOVX A,@DPTR
ANL A,#0FEH
MOVX @DPTR,A
INC R6
CJNE R6,#08H,?C0006
?C0011:
RET
RSEG ?PR?rd_state?SPI
rd_state:
USING 0
MOV DPTR,#0213H
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#05H
LCALL _WriteCbus8Bit
NOP
LCALL ReadCbus8Bit
LCALL L?0035
?C0012:
RET
RSEG ?PR?_wr_page?SPI
_wr_page:
USING 0
MOV addr?345+03H,R7
MOV addr?345+02H,R6
MOV addr?345+01H,R5
MOV addr?345,R4
LCALL L?0032
NOP
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#02H
LCALL _WriteCbus8Bit
MOV R7,addr?345+01H
LCALL _WriteCbus8Bit
MOV R7,addr?345+02H
LCALL _WriteCbus8Bit
MOV R7,addr?345+03H
LCALL _WriteCbus8Bit
NOP
CLR A
MOV R5,A
?C0013:
MOV A,#LOW (flash_temp)
ADD A,R5
LCALL L?0038
MOVX A,@DPTR
MOV R7,A
LCALL _WriteCbus8Bit
INC R5
CJNE R5,#0FFH,?C0013
?C0014:
LCALL L?0035
NOP
LCALL L?0041
LCALL L?0034
RET
RSEG ?PR?_rd_buf?SPI
_rd_buf:
USING 0
; SOURCE LINE # 93
MOV addr?447+03H,R7
MOV addr?447+02H,R6
MOV addr?447+01H,R5
MOV addr?447,R4
LCALL L?0036
MOV R7,addr?447+01H
LCALL _WriteCbus8Bit
MOV R7,addr?447+02H
LCALL _WriteCbus8Bit
MOV R7,addr?447+03H
LCALL _WriteCbus8Bit
CLR A
MOV R4,A
?C0017:
LCALL L?0037
MOV A,R7
MOVX @DPTR,A
INC R4
CJNE R4,#0FFH,?C0017
?C0018:
LCALL L?0035
RET
RSEG ?PR?_rd_buf1?SPI
_rd_buf1:
USING 0
MOV addr?549+03H,R7
MOV addr?549+02H,R6
MOV addr?549+01H,R5
MOV addr?549,R4
LCALL L?0036
MOV R7,addr?549+01H
LCALL _WriteCbus8Bit
MOV R7,addr?549+02H
LCALL _WriteCbus8Bit
MOV R7,addr?549+03H
LCALL _WriteCbus8Bit
CLR A
MOV R4,A
?C0021:
LCALL L?0037
MOV A,R7
MOVX @DPTR,A
INC R4
CJNE R4,#032H,?C0021
?C0022:
LCALL L?0035
RET
RSEG ?PR?_er_sector?SPI
_er_sector:
USING 0
MOV addr?651+03H,R7
MOV addr?651+02H,R6
MOV addr?651+01H,R5
MOV addr?651,R4
LCALL L?0032
NOP
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#0D8H
LCALL _WriteCbus8Bit
MOV R7,addr?651+01H
LCALL _WriteCbus8Bit
MOV R7,addr?651+02H
LCALL _WriteCbus8Bit
MOV R7,addr?651+03H
LCALL L?0034
NOP
LCALL L?0041
LCALL L?0034
?C0025:
LCALL rd_state
MOV A,R7
JB ACC.0,?C0025
?C0027:
RET
RSEG ?PR?er_buck?SPI
er_buck:
USING 0
LCALL L?0033
NOP
MOVX A,@DPTR
ANL A,#0FDH
MOVX @DPTR,A
MOV R7,#0C7H
LCALL L?0034
NOP
LCALL L?0042
LCALL L?0034
?C0028:
LCALL rd_state
MOV A,R7
JB ACC.0,?C0028
?C0030:
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -