技术支持
应用方案
方案需求
Application Solutions
;FM25040 test program useing 8052
;data:2003/02/28
BUFFER EQU 010H
ADHIGH EQU 014H
ADLOW EQU 015H ;buffer of low address
FMDATA EQU 017H ;buffer of data that will write into FRAM
CS BIT P1.0
HOLD BIT P1.1
WP BIT P1.2
SCK BIT P1.3
SI BIT P1.4
SO BIT P1.5
ORG 0000H
LJMP STAR
ORG 0003H
LJMP KINT
ORG 000BH
LJMP ITXY
ORG 100H
STAR: MOV SP,#0C2H
SETB CS
SETB WP
SETB HOLD
CLR SCK
CLR SI
CALL CLRARE ;Clear ram of 8052
MAIN: MOV ADLOW,#00H
MOV ADHIGH,#02H
MOV FMDATA,#00H
MOV R3,#00H
MOV R4,#02H
CALL WREN ;Write enable
MOV FMDATA,#00H
CALL WRSR
MOV FMDATA,#0FFH
MAIN1: CALL WREN
CALL WRITE ;Write
INC ADLOW
MOV A,ADLOW
CPL A
MOV FMDATA,A
DJNZ R3,MAIN1
MOV ADHIGH,#0AH
MOV ADLOW,#00H
DJNZ R4,MAIN1
MOV R3,#00H
MOV R4,#02H
MOV ADHIGH,#03H
MOV ADLOW,#00H
MAIN2: CALL READ
INC ADLOW
MOV A,ADLOW
DJNZ R3,MAIN2
MOV ADHIGH,#0BH
MOV ADLOW,#00H
DJNZ R4,MAIN2
JMP MAIN
;Read
READ: CLR CS
MOV A,ADHIGH
MOV BUFFER,A
CALL RLMOVE
MOV A,ADLOW
MOV BUFFER,A
CALL RLMOVE
CALL RRMOVE
SETB CS
RET
;Write
WRITE: CLR CS
MOV A,ADHIGH
MOV BUFFER,A
CALL RLMOVE
MOV A,ADLOW
MOV BUFFER,A
CALL RLMOVE
MOV A,FMDATA
MOV BUFFER,A
CALL RLMOVE
SETB CS
RET
;Write status register
WRSR: CLR CS
MOV BUFFER,#001H
CALL RLMOVE
MOV A,FMDATA
MOV BUFFER,A
CALL RLMOVE
SETB CS
RET
;Read status register
RDSR: CLR CS
MOV BUFFER,#005H
CALL RLMOVE
CALL RRMOVE
SETB CS
RET
;Write disable
WRDI: CLR CS
MOV BUFFER,#004H
CALL RLMOVE
SETB CS
RET
;Write enable
WREN: CLR CS
MOV BUFFER,#006H
CALL RLMOVE
SETB CS
RET
RRMOVE: PUSH 00H
PUSH 01H
MOV BUFFER,#00H
MOV R1,#08H
RRMOVE1:SETB SCK ;
MOV A,BUFFER
RRMOVEA:JB SO,RRMOVE2
CLR C
JMP RRMOVE3
RRMOVE2:SETB C
RRMOVE3:RLC A
MOV BUFFER,A
CLR SCK ;
DJNZ R1,RRMOVE1
POP 01H
POP 00H
RET
RLMOVE: PUSH 00H
PUSH 01H
MOV R1,#08H
MOV A,BUFFER
RLMOVE1:CLR C
RLC A
JC RLMOVE2
CLR SI
JMP RLMOVE3
RLMOVE2:SETB SI
RLMOVE3:SETB SCK
CLR SCK
DJNZ R1,RLMOVE1
POP 01H
POP 00H
RET
;Clear ram of 8052(清除8052内部RAM)
CLRARE: MOV 01H,#0C0H
MOV 00H,#02H
CLRARE1:MOV A,#000H
MOV @R0,A
INC R0
DJNZ R1,CLRARE1
RET
YSCX: PUSH 01H
MOV R1,#8H
DJNZ R1,$
POP 91H
RET
KINT: RETI
ITXY: RETI
END
销售服务专线:0755-82127888
技术支持专线:0755-82127938
投诉专线:0755-82127989