技术支持

应用方案

方案需求

Application Solutions

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

样品申请

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

样品申请 >

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

;data:2006/08/28

R_LED  EQU  P1.2
G_LED EQU P1.3
CS EQU P1.1
A16 EQU P1.0
ADL EQU 30H
ADH EQU 32H
MPAGL EQU 33H ;(00)
MPAGH EQU 34H ;(40)
BUFFDAT EQU 35H;存储测试的数据寄存器
WRONG_F BIT 00H

ORG 0000H
JMP START

ORG 0100H
START: CLR G_LED
CLR R_LED
SETB G_LED
SETB R_LED
SETB CS
MOV SP,#60H
CALL YSCX
CALL YSCX
CALL YSCX
CALL YSCX
CALL YSCX

MAIN: SETB CS
SETB G_LED
SETB R_LED
;把#0AAH写入到00000H-1FFFFH并自动检测是否对
MOV BUFFDAT,#0AAH;
CALL TEST
JB WRONG_F,MAIN1
CPL R_LED
;把#055H写入到00000H-1FFFFH并自动检测是否对

MOV BUFFDAT,#055H
CALL TEST
JB WRONG_F,MAIN1
CPL R_LED
;把#0BBH写入到00000H-1FFFFH并自动检测是否对
MOV BUFFDAT,#0BBH
CALL TEST
JB WRONG_F,MAIN1
CPL R_LED
;把#033H写入到00000H-1FFFFH并自动检测是否对
MOV BUFFDAT,#033H
CALL TEST
JB WRONG_F,MAIN1
CPL R_LED
;把#000H写入到00000H-1FFFFH并自动检测是否对
MOV BUFFDAT,#000H
CALL TEST
JB WRONG_F,MAIN1
CPL R_LED
;把#0FFH写入到00000H-1FFFFH并自动检测是否对
MOV BUFFDAT,#0FFH
CALL TEST
JB WRONG_F,MAIN1
;测试OK;亮绿灯
CLR G_LED
SETB R_LED
JMP MAIN2
JMP $
;测试错误;亮红灯
MAIN1: CLR R_LED
SETB G_LED
;JMP $

MAIN2: CALL  DYS
JMP MAIN

DYS: PUSH 03H
MOV 03H,#20H
DYS1: CALL YSCX
;CALL YSCX
;CALL YSCX
;CALL YSCX
;CALL YSCX
;CALL YSCX
;CALL YSCX
DJNZ 03H,DYS1
POP 03H
RET

YSCX: PUSH 00H
PUSH 01H
MOV R0,#00H
MOV R1,#00H
NOP
YSCX3: DJNZ R0,$
DJNZ R1,YSCX3
POP 01H
POP 00H
RET

;******************************************
;检测00000H-1FFFFH字节的数据
TEST: CLR A16
CALL TES64
JB WRONG_F,TEST1
SETB A16
CALL TES64
JB WRONG_F,TEST1
TEST1: RET


;*******************************************
;检查0000到FFFFH数据(总共为2000H页(64K字节)
TES64: MOV MPAGL,#00H
MOV MPAGH,#20H
MOV ADL,#00H
MOV ADH,#00H
TES641: CALL TESTONE
JB WRONG_F,TES642
DJNZ MPAGL,TES641
CPL G_LED
DJNZ MPAGH,TES641
TES642: RET

;******************************************
;TESTONE到WE2表示写8个地址的数据,数据在BUFFDAT
;*****************************************
TESTONE:MOV A,ADL;
MOV DPL,A;
MOV A,ADH;
MOV DPH,A;
CLR WRONG_F;
SETB CS ;
MOV R0,#08H;
CLR CS;
WELOOP: MOV A,BUFFDAT;
MOVX @DPTR,A;;
INC DPTR;
DJNZ R0,WELOOP;
WE2: NOP
;********************************************
;从WE2到TESTONEOUT,读出数据并检查数据是否对
SETB CS
MOV A,ADL
MOV DPL,A
MOV A,ADH
MOV DPH,A
MOV R0,#08H
CLR CS
RADLOOP:MOV A,#00H
MOVX A,@DPTR
CLR C
SUBB    A,BUFFDAT
JNZ WRONG
INC DPTR
DJNZ R0,RADLOOP
MOV A,DPL
MOV ADL,A
MOV A,DPH
MOV ADH,A
JMP TESTONEOUT
SETB CS
RET
WRONG: SETB WRONG_F
TESTONEOUT:SETB CS
TESTONEEND:RET

END
相关咨询

销售服务专线:0755-82127888

技术支持专线:0755-82127938

投诉专线:0755-82127989

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

微信咨询

关注微信公众号咨询客服

客服热线

客服热线

0755-82127888

服务时间

工作日9:00~18:00

在线留言