导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]

* 34562: [求助]

   phosphor 
phosphor发表的帖子 

 [求助]
我用C语言对MCS-51单片机产品系统进行编程.仿真时程序运行很正常,可我发现程序是从0000H开
始一下子跳到4000H去了,也就是说程序存放在4000H开始以后的单元里面.而我用的是AT89C51单
片机芯片,最多只能从0000H到1FFFH,也就是说我在烧写的时候程序不会烧进89C51里面去(实际上
也不能烧写进去).请问大侠怎样在C语言编程时,让程序从0000H开始后跳到0100H去.让程序从
0100H开始,这样就能烧写进入芯片.用汇编很简单,用C语言我试了很长时间都不行.可老板要我用
C语言,请帮忙,不胜感激!例如一个很简单的例子:
#include  <stdio.h>  
#include  <reg51.h>  
void delay(void);
void main (void)
{
    for(;;)
    {
        P1=0x00;
        delay();
        P1=0xff;
        delay();
    }
}
void delay(void)
{
    long int i;
    for(i=0;i  <=99999;i++)
    {
        
    }
}
生成的.m51文件中有这样的:
  TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     0004H     UNIT         _DATA_GROUP_
            IDATA   000CH     0001H     UNIT         ?STACK

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
                    0003H     3FFDH                  *** GAP ***
            CODE    4000H     003FH     INBLOCK      ?PR?DELAY?T1
            CODE    403FH     0016H     UNIT         ?C?LIB_CODE
            CODE    4055H     000DH     INBLOCK      ?PR?MAIN?T1
            CODE    4062H     000CH     UNIT         ?C_C51STARTUP

请问在options中具体怎样设定,我试过很多次还是不成功,请各位赐教,谢谢!(我用的是
keil c51 炜煌的仿真器)


发表时间:2003年6月16日12:02:44

  
回复该帖

本主题共有 6 帖,分页:>>>>>该主题的所有内容[6]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  34564.[详细]这个问题好办,
摘要: 这个问题好办,你可以设置啊!  有什么问题也可以到这里找 sky_adb ,  http://www.rdeast.com/rdbbs/list.asp?boardid......(117字)
- [guest][721次] 2003年6月16日

  34583.[详细][讨论]
摘要:对,可以在options中设置,我和试过很多次都不成功,每次设定的地址小于4000h时,调试时就被告知不行必须大于或等于4000h,可不可详细一点在options中怎样设定。谢谢了!!!!!!!!!!!!!......(181字)
- [phosphor][857次] 2003年6月16日

  34585.[详细]我想你对KEIL还不熟悉把,
摘要:......(无内容)
- [guest][946次] 2003年6月16日

[上一篇帖子]:救命啊,用74LS245能驱动几块硬盘??我的只能驱动3快,可我带4块,怎么都不行。 还有,
[下一篇帖子]:求教:mpeg4实时编解码器请高手指教除了使用dsp核实现mpeg4算法之外,有什么型号的芯片能实现