技术支持

应用方案

方案需求

Application Solutions

您的位置 : 首页  >  技术中心  >  应用方案  >  FeRAM 示范例程
代理品牌

样品申请

请简单描述您的需求,以便我们更精准的为您服务

样品申请 >

FM25040 汇编测试程序(8052)
日期:2007-07-25 来源:
;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

深圳市华胄科技有限公司 版权所有 © 2005-2024  粤ICP备12085565号-1  销售服务专线:0755-82127888  技术支持专线:0755-82127938  投诉专线:0755-82127989

微信咨询

关注微信公众号咨询客服

客服热线

客服热线

0755-82127888

服务时间

工作日9:00~18:00

在线留言