技术支持

应用方案

方案需求

Application Solutions

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

样品申请

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

样品申请 >

FM24C16汇编测试程序(8052)
日期:2007-07-26 来源:
;FM24C16 test program useing 8052 

;data:2003/02/19

CHECDAT EQU 011H;检测数据
ADSAVE EQU 012H;save地址
ADSAVER EQU 013H
ADHIGH EQU 014H
ADLOW EQU 015H
FMDATA EQU 017H;017H...1FH写或读的数据
;BIT定义
WRONG_F BIT 00H;数据写出错
SWP BIT P1.5
SDATA BIT P1.4
SCLK BIT P1.6


  ORG    0000H
       LJMP  STAR
        ORG  0003H
        LJMP  KINT
        ORG  000BH
        LJMP  ITXY
      
        ORG  100H
STAR: MOV  SP,#0C2H
CALL   CLRARE ;清楚单片机内部RAM
SETB SWP
SETB SDATA
SETB SCLK
CALL FMREST
JB SDATA,MAIN
CALL RESTIN
MAIN: MOV A,#0A0H
MOV ADSAVE,A;写的物理地址
MOV A,#0A1H
MOV ADSAVER,A;读的物理地址
MOV A,#00H
MOV ADHIGH,A
MOV A,#00H
MOV ADLOW,A
MOV A,#00H
MOV FMDATA,A
CALL SWRITE
JB WRONG_F,RONG
CALL SREAD
JB WRONG_F,RONG
MOV A,#0FFH
MOV FMDATA,A
CALL SWRITE
JB WRONG_F,RONG
CALL SREAD
JB WRONG_F,RONG
MOV A,#0AAH
MOV FMDATA,A
CALL SWRITE
JB WRONG_F,RONG
CALL SREAD
JB WRONG_F,RONG
MOV A,#055H
MOV FMDATA,A
CALL SWRITE
JB WRONG_F,RONG
CALL SREAD
JB WRONG_F,RONG
MOV A,#0FFH
MOV FMDATA,A
CALL SWRITE
JB WRONG_F,RONG
CALL SREAD
JB WRONG_F,RONG
JMP MAIN
RONG: CALL RESTIN
JMP MAIN

SREAD: MOV 00H,#00H
MOV 01H,#08H
CLR SWP
CALL SSTAR
MOV A,ADSAVE;;;SAVE 地址写入
MOV CHECDAT,A
CALL RLMOVE
MOV A,ADLOW ;LOW地址写入
MOV CHECDAT,A
CALL RLMOVE
CALL SSTAR
MOV A,ADSAVER
MOV CHECDAT,A
CALL RLMOVE
SREAD1: MOV A,#00H
MOV CHECDAT,A
CALL RRMOVE
MOV A,CHECDAT
CJNE A,FMDATA,IICRON
CLR SDATA
SETB SCLK
CLR SCLK
SETB SDATA
DJNZ 00H,SREAD1
DJNZ 01H,SREAD1
JMP SREAD2
IICRON: SETB WRONG_F
SREAD2: CALL RESTIN
RET
RESTIN: SETB SCLK
SETB SDATA
JNB SDATA,RESTIN3
SETB SWP
RET
RESTIN3:CLR SCLK
JMP RESTIN
SWRITE: CLR SWP
CALL SSTAR
MOV A,ADSAVE;;;SAVE 地址写入
MOV CHECDAT,A
CALL RLMOVE
JB WRONG_F,SWRITE2
MOV A,ADLOW   ;LOW地址写入
MOV CHECDAT,A
CALL RLMOVE
JB WRONG_F,SWRITE2
MOV R1,#00H
MOV R2,#8H
SWRITE1:MOV A,FMDATA
MOV CHECDAT,A
CALL RLMOVE
JB WRONG_F,SWRITE2
DJNZ R1,SWRITE1
DJNZ R2,SWRITE1
SWRITE2:CALL SSTOP
SETB SWP
RET

RLMOVE: PUSH 00H
PUSH 01H
CLR WRONG_F
MOV R1,#08H
CLR C
RLMOVE1:MOV A,CHECDAT
RLC A
MOV CHECDAT,A
JC RLMOVE2
CLR SDATA
JMP RLMOVE3
RLMOVE2:SETB SDATA
RLMOVE3:SETB SCLK
CLR SCLK
DJNZ R1,RLMOVE1
SETB SDATA
SETB SCLK
PUSH 00H
MOV 00H,#00H
RLMOVE4:JNB SDATA,RLMOVE5
DJNZ 00H,RLMOVE4
SETB WRONG_F
RLMOVE5:POP 00H
CLR SCLK
POP 01H
POP 00H
RET

RRMOVE: PUSH 00H
PUSH 01H
MOV R1,#08H
RRMOVE1:MOV A,CHECDAT
CLR SCLK

JB SDATA,RRMOVE2
CLR C
JMP RRMOVE3
RRMOVE2:SETB C
RRMOVE3:RLC A
MOV CHECDAT,A
SETB SCLK

DJNZ R1,RRMOVE1
CLR SCLK

SETB SDATA
POP 01H
POP 00H
RET



SSTAR: SETB SCLK

CLR SDATA

CLR SCLK

RET

SSTOP: SETB SCLK

SETB SDATA

RET
;*********************************************************
CLRARE: MOV 01H,#0C0H
MOV 00H,#02H
CLRARE1:MOV A,#000H
MOV @R0,A
INC R0
DJNZ R1,CLRARE1
RET

FMREST: CALL SSTAR ;Set Start Condition
MOV A,ADSAVER ;Save Address Transfer for read
MOV CHECDAT,A
CALL RLMOVE
MOV A,#00H
MOV CHECDAT,A
CALL RRMOVE ; Read the data from FRAM
CLR SDATA
CALL SSTOP
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

在线留言