|
发表于 2015-5-4 19:24:05
|
显示全部楼层
本帖最后由 xintao 于 2015-5-4 19:36 编辑
1.用KEIL编写51程序好像不用启动文件也可以吧?记得以后写的程序都是没加启动文件,这样程序估计是直接从MAIN启动的,应该就跳过内存初始化了吧(没有实际验证过)。
2.如果第一步行不通,那就修改启动文件吧,把内存初始化那一段汇编跳过去。
3.新型的51单片机应该带复位标志寄存器了,比如STC的应该就有吧,可以去看看。
这一段应该是初始化各种存储器的,把对应的哪 一段删掉,应该就不会初始化你的内存了。
STARTUP1:
IF IDATALEN <> 0
MOV R0,#IDATALEN - 1
CLR A
IDATALOOP: MOV @R0,A
DJNZ R0,IDATALOOP
ENDIF
IF XDATALEN <> 0
MOV DPTR,#XDATASTART
MOV R7,#LOW (XDATALEN)
IF (LOW (XDATALEN)) <> 0
MOV R6,#(HIGH (XDATALEN)) +1
ELSE
MOV R6,#HIGH (XDATALEN)
ENDIF
CLR A
XDATALOOP: MOVX @DPTR,A
INC DPTR
DJNZ R7,XDATALOOP
DJNZ R6,XDATALOOP
ENDIF
IF PPAGEENABLE <> 0
MOV PPAGE_SFR,#PPAGE
ENDIF
IF PDATALEN <> 0
MOV R0,#LOW (PDATASTART)
MOV R7,#LOW (PDATALEN)
CLR A
PDATALOOP: MOVX @R0,A
INC R0
DJNZ R7,PDATALOOP
ENDIF |
|