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



No.34562
作者:phosphor
邮件:hcj1136@163.com
ID:13069
登陆:1次
文章数:2篇
最后登陆IP:218.16.66.179
最后登陆:2003/6/16 14:50:56
注册:2003/6/16 12:01:03
财富:107
发帖时间:2003/6/16 12:02:44
发贴者IP:218.16.66.179
标题:phosphor:[求助]
摘要:No.34562[求助] 我用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    ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:78531毫秒 查询6次