利用keil c51生成hex如何设置ROM

发布者:hfy13567003617最新更新时间:2016-07-27 来源: eefocus关键字:keil  c51  hex  设置ROM 手机看文章 扫描二维码
随时随地手机看文章
我使用at89s52(256RAM,8K的ROM),程序编译后显示program Size: data=56.0 xdata=0 code=3529。我的电路中无外部ROM,为了使生成的hex代码只存储在该片at89s52,我怎么设置呢?选small肯定不行,因为我的代码大于2K;若选compact,代码能放在64K的程序空间,而我s52只有8K的ROM,代码不会放在我的8K之外吧,那样肯定会出错的。若我选择“Use on-chip ROM(0x0-0xFFF)”,有什么影响? 求高手帮忙了。。。。

附帖:为了说明问题,提供一下Small、Compact及Large的说明(尽管知道有此三种设置,但还是不会运用,不知在什么情况下做何设置),在keil C51编译环境中,能提供:

设置ROM空间的使用,有3个选择项,Small、Compact及Large。

1.Small:只用低于2K的程序空间,适用于AT89C2051这些芯片,2051只有2K的代码空间,所以跳转地址只有2KB,编译的时候会使用ACALL  AJMP这些短跳转指令,而不会使用LCALL  LJMP指令。如果代码地址跳转超过2K,那么会出错。

2.Compact:单个函数的代码量不能超过2K,整个程序可以使用64K程序空间。

3.Large:可用全部64K空间,表示程序或子函数代码都可以大到64KB,使用code bank还可以更大。通常都选用该方式。选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact和Small方式。

Use on-chip ROM(0x0-0xFFF)选择项,表示使用片上的ROM (选中该项并不会影响最终生成的目标代码量),该选项取决于单片机应用系统,如果单片机的EA接高电平,则选中这个选项,表示使用内部ROM,如果单片机的EA接低电平,表示使用外部ROM,则不选中该选项。
问题补充:
我使用at89s52(256RAM,8K的ROM),程序编译后显示program Size: data=56.0 xdata=0 code=3529。我的电路中无外部ROM,为了使生成的hex代码只存储在该片at89s52,我怎么设置呢?选small肯定不行,因为我的代码大于2K;若选compact,代码能放在64K的程序空间,而我s52只有8K的ROM,代码不会放在我的8K之外吧,那样肯定会出错的。
若我选择“Use on-chip ROM(0x0-0xFFF)”后,那Small、Compact及Large 三档选哪一档?

关键字:keil  c51  hex  设置ROM 引用地址:利用keil c51生成hex如何设置ROM

上一篇:Keil C51与标准C比较
下一篇:51单片机 同时扩展ROM,RAM的具体实现及kiel的具体设置

推荐阅读最新更新时间:2024-03-16 15:01

《初学者C51自学笔记》之PS/2
当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平。如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据。传输的每一帧数据由11位组成。 主设备与从设备进行通信时,主设备首先将时钟线和数据线设置为“请求发送”状态,具体方式为:首先下拉时钟线至少100us抑制通信,然后下拉数据线“请求发送”,最后释放时钟线.在此过程中,从设备在不超过10us的间隔内必须检查这个状态,当设备检测到这个状态时,它将开始产生时钟信号.此时数据传输的每一帧由12位构成。多了一个ACK位,这是从设备应答接收到字节的应答位,由从设备通过拉低数据线产生,应答位ACK总是为0.主设备到从设备通信
[单片机]
《初学者<font color='red'>C51</font>自学笔记》之PS/2
Proteus C51仿真学习板9——IIC
IIC总线电气参数就不做多介绍了,了解IIC有2根线,一个SCL时钟,一个SDA数据,然后直接通过时序来看看其是如何工作的。 老规矩,先来句通俗易懂的解释: 老湿:同学们,现在开始点名(起始信号); 学生:一阵骚动,端起小板凳坐好(若干从机上电); 老湿:小明在吗?(寻址); 学生:…(无应答ACK); 老湿:再次开始点人,那小花呢?(再寻址) ——如果老湿很暴躁就不点名了(直接结束) 学生:老湿,我(应答ACK)在(数据Data); 老湿:知道了(应答ACK),结束点名(结束信号)或继续进行其他交流(再次起始信号)。 IIC时序: Start状态: SDA和SCL默认都是上拉为1的,启动数据传输时,需要
[单片机]
Proteus <font color='red'>C51</font>仿真学习板9——IIC
C51-关于中断系统
中断系统
[单片机]
C51-关于中断系统
c51:串口中断方式接收、方式字符串
/* 程序设计功能: 1.f=12MHZ,baud=1200 2.串口中断方式:发送字符串存放tran_buf 中,接收字符串存放rec_buf 中。 3.函数首先发送字符串 abc . 4.接收到的字符串存放rec_buf 中,接收字符串完成后,再发送出去。 */ #include reg52.h #include string.h #define uchar unsigned char //发送字符串缓存 uchar tran_buf ; //接收字符串缓存 uchar rec_buf ; uchar tnum=0; uchar rnum=0; //串口初始化 void
[单片机]
C51单片机学习笔记之密码锁
简介 根据之前学的LCD1602显示器和矩阵键盘实现一个简单的密码锁。 原理图 请翻之前的文章 LCD1602:C51单片机学习笔记之LCD1602 矩阵键盘:C51单片机学习笔记之矩阵键盘 代码部分 LCD1602.c #include reg52.h #include intrins.h sbit RS = P2^0; sbit RW = P2^1; sbit EN = P2^2; #define RS_CLR RS = 0 #define RS_SET RS = 1 #define RW_CLR RW = 0 #define RW_SET RW = 1 #define EN_CLR
[单片机]
STM32学习笔记之Keil工程Lib库文件的制作和运用
最近看了百度手环开源项目,发现所有的算法都被封装成了一个lib文件在keil中调用 也是第一次学习到。 问题引出:为什么要做成lib库? 1、有些方案公司为了将自己写的关键部分源代码不进行公开,但是同时库文件又需要让别人能够正常调用,那封装成lib的格式就是一个好方法。 2、编译某些工程文件时非常耗时,像UCGUI和ST官方的库时,由于文件众多,编译一次可能得1两分钟,这时可以打包成库,这时编译工程时就不会再次编译库的文件,节省不少的时间。 唯一一点不好的是:不能用右键go to Definition 'XXX'来直接找到源文件定义了。但是一般别人都是测试好就封装成lib的 制作方法:以UCGUI为例 第一步:
[单片机]
STM32学习笔记之<font color='red'>Keil</font>工程Lib库文件的制作和运用
Keil C51 总线外设操作问题的深入分析
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。文章中提到的两种解决方法并不直接和简单。笔者认为这并非是Keil C51中不能处理对一个端口进行连续读写的问题,而是对Keil C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。 本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅) 1 问题回顾和分析 原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C5l编译并未达到预期的结果。原文作
[应用]
STC单片机在KEIL编译器中的头文件
  STC单片机在 keil 编译器里找不到头文件如何处理。首先在网络上找到一个关于STC单片机的升级包。安装上去以后,就可以看到有STC型号的单片机可以选择了。但是此时,它的头文件却无法调用。也没有在keil的安装文件下找到这个升级包应该附带的STC单片机头文件。   解决办法就是打开一个AT89S52的头文件,在此头文件的基础上假如STC独有的一些SFR声明,然后把文件名改为STC89S52.H,然后放入工程所在文件夹,就可以进行正常调用了。   STC的特殊SFR声明如下:   /* After is STC additional SFR */   /* sfr AUXR = 0x8e; */   /* sfr
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved