好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

keil_c51中启动代码详细说明.doc

5页
  • 卖家[上传人]:鲁**
  • 文档编号:548896680
  • 上传时间:2023-04-08
  • 文档格式:DOC
  • 文档大小:41KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • keil c51中启动代码详细说明 [ 2006-10-27 18:23:00 | By: CHYB_HSH ] 让我们先来看看STARTUP.A51文件(默认设置)吧!根据源文件中的说明文字,我们很容易分析出STARTUP.A51文件的工作方式和作用!让我们把它先汉化一下看看!$NOMOD51;Ax51宏汇编器控制命令:禁止预定义的8051;------------------------------------------------------------------------------;  This file is part of the C51 Compiler package;  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.;------------------------------------------------------------------------------;  STARTUP.A51:  This code is executed after processor reset.;  STARTUP.A51:  STARTUP.A51文件所生成的代码将在单片机复位后被执行!;  To translate this file use A51 with the following invocation:;   将按照下面的命令行语句调用A51编译器进行编译产生目标文件;     A51 STARTUP.A51;;  To link the modified STARTUP.OBJ file to your application use the following;  BL51 invocation:;   将按照下面的命令行语句调用BL51连接器把STARTUP.OBJ定位连接到您的程序代码中;     BL51 , STARTUP.OBJ ;;;------------------------------------------------------------------------------;;  User-defined Power-On Initialization of Memory;  自定义上电后需要初始化的储存区域;  With the following EQU statements the initialization of memory;  at processor reset can be defined:;  使用下列EQU伪指令定义初始化的存储区域  在单片机复位后定义生效;               ; the absolute start-address of IDATA memory is always 0IDATALEN            EQU     80H     ; the length of IDATA memory in bytes.; IDATA(间接寻址区)其起始地址固定为0;IDATALEN用于指定需要初始化; 的 IDATA区长度(以字节为单位)*XDATASTART      EQU     0H      ; the absolute start-address of XDATA memoryXDATALEN           EQU      0H      ; the length of XDATA memory in bytes.;XDATA (外部直接寻址区)  XDATASTART用于指定需要初始化的XDATA区起始地;址 XDATALEN 用于指定需要初始化的XDATA区长度(以字节为单位)*PDATASTART      EQU     0H      ; the absolute start-address of PDATA memoryPDATALEN           EQU     0H      ; the length of PDATA memory in bytes.;PDATA(页寻址区)PDATASTART用于指定需要初始化的PDATA区起始地址;PDATALEN用于指定需要初始化的;PDATA区长度(以字节为单位)*   ;  Notes:  The IDATA space overlaps physically the DATA and BIT areas of the;          8051 CPU. At minimum the memory space occupied from the C51 ;          run-time routines must be set to zero.;注释:8051中 IDATA 区物理上已经包括了DATA区(直接寻址区)以及 BIT区 (位寻址区)。

      C51(库)占用了 最小;化内存空间,运行时程序需要把它设为0;------------------------------------------------------------------------------;;  Reentrant Stack Initilization;  重入堆栈初始化;  The following EQU statements define the stack pointer for reentrant;  functions and initialized it:; 下面的EQU语句定义重入函数的堆栈指针并初始化它;  Stack Space for reentrant functions in the SMALL model.; SMALL模式下的重入函数的堆栈空间IBPSTACK        EQU     0       ; set to 1 if small reentrant is used.;如果再SMALL模式下使用重入则设为1IBPSTACKTOP     EQU     0FFH+1  ; set top of stack to highest location+1.;设置堆栈顶  最高位置+1;;  Stack Space for reentrant functions in the LARGE model.;  LARGE模式下的重入函数的堆栈空间XBPSTACK        EQU     0       ; set to 1 if large reentrant is used.;如果再LARGE模式下使用重入则设为1XBPSTACKTOP     EQU     0FFFFH+1; set top of stack to highest location+1.;设置堆栈顶  最高位置+1;;  Stack Space for reentrant functions in the COMPACT model.    ;  COMPACT模式下的重入函数的堆栈空间PBPSTACK        EQU     0       ; set to 1 if compact reentrant is used.;如果再COMPACT模式下使用重入则设为1PBPSTACKTOP     EQU     0FFFFH+1; set top of stack to highest location+1.;设置堆栈顶  最高位置+1;;------------------------------------------------------------------------------;;  Page Definition for Using the Compact Model with 64 KByte xdata RAM;  使用COMPACT模式时为64KB的XDATA RAM定义页;  The following EQU statements define the xdata page used for pdata;  variables. The EQU PPAGE must conform with the PPAGE control used;  in the linker invocation.; 下面的EQU语句定义PDATA变量的使用了XDATA页PPAGEENABLE     EQU     0       ; set to 1 if pdata object are used.;如果使用PDATA页则设为1;PPAGE           EQU     0       ; define PPAGE number.;定义页号;PPAGE_SFR       DATA    0A0H    ; SFR that supplies uppermost address byte;SFR的最高地址字节;  (most 8051 variants use P2 as uppermost address byte);  (大多数8051变量要用P2的最高地址字节);------------------------------------------------------------------------------; Standard SFR Symbols ; 标准SFR符号ACC     DATA    0E0HB       DATA    0F0HSP      DATA    81HDPL     DATA    82HDPH     DATA    83H                NAME    ?C_STARTUP?C_C51STARTUP   SEGMENT   CODE?STACK          SEGMENT   IDATA                RSEG    ?STACK                DS      1                EXTRN CODE (?C_START) ;外部代码(这个标号将代表用户程序的启始地址)                PUBLIC  ?C_STARTUP ;给外部使用的符号                CSEG    AT      0 ;在code段的0地址处放以下代码(使用AT指令进行绝对地址的定位)?C_STARTUP:     LJMP    STARTUP1                RSEG    ?C_C51STARTUPSTARTUP1:IF IDATALEN <> 0   ;如果长度大于1则初始化IDATA                MOV     R0,#IDATALEN - 1                CLR     AIDATALOOP:      MOV     @R0,A                DJNZ    R0,IDATALOOPENDIFIF XDATALEN <> 0   ;如果长度大于1则初始化XDATA                MOV     DPTR,#XDATASTART                MOV     R7,#LOW (XDATALEN)  IF (LO。

      点击阅读更多内容
      相关文档
      2025—2026学年上学期高一地理教学计划(人教版2019必修一).docx 13.2 《致大海》 高二语文(统编版选择性必修中册)(课件).pptx 《李凭箜篌引》高二语文(统编版选择性必修中册)(课件).pptx 8.1《荷花淀》高二语文(统编版选择性必修中册)(课件).pptx 13.4《树和天空》高二语文(统编版选择性必修中册)(课件).pptx 《锦瑟》高二语文(统编版选择性必修中册)(课件).pptx 01《社会历史的决定性基础》【大单元教学】高二语文同步备课系列(统编版选择性必修中册)(课件).pptx 《屈原列传》《苏武传》群文阅读比较探究高二语文(统编版选择性必修中册)(课件).pptx 13.3 《自己之歌》高二语文(统编版选择性必修中册)(课件).pptx 高中数学第八章 立体几何初步单元复习课-人教A版高一数学必修二第二学期.pptx 高中数学事件的关系和运算+课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx 高中数学平面向量及其应用单元复习课-2024-2025学年高一数学下学期复习人教A版2019必修第二册.pptx 高中数学古典概型课件第一课时课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx 高中数学频率与概率课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx 高中数学事件的相互独立性+课件-2024-2025学年高一下学期数学人教A版(2019)+必修第二册.pptx 高中数学平面与平面平行课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx 高中数学第9章 统计复习课-2024-2025学年高一数学人教A版2019必修第二册.pptx 高中数学率的基本性质课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx 高中数学平面向量基本定理+课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx 高中数学事件的相互独立性+课件-2024-2025学年高一下学期数学人教A版(2019)必修第二册.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.