MCS51单片机程序存储器扩展技术的研究.pdfVIP

MCS51单片机程序存储器扩展技术的研究.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012年 3月 广西师范学院学报:自然科学版 Mar.2012 第29卷 第 1期 JournalofGuangxiTeachersEducationUniversity:NaturalScienceEdition Vo1.29No.1 文章编号:1002—8743(2012)01—0058—03 MCS51单片机程序存储器扩展技术的研究 杨宏峰,施汉祥 (1.浙江绿城建筑设计有限公司,浙江 杭州 310007;2.浙江大学 宁波理工学院,浙江 宁波 315000) 摘 要 :在单片机应用系统中,某些场合需要大容量程序存储器。探讨三种存储器硬件的扩展方案 ,基于公共 代码技术,实现大容量程序存储器的软件编制技术。 关键词 :MCS51;程序存储器;扩展技术 中图分类号:TP333 文献标识码 :A MCS51系列单片机采用程序存储器与数据存储器分开的哈佛结构,因其功能丰富,大量的成功案 例 ,而得到了广泛的应用。通常情况下,64K的程序存储器和64K的数据存储器足够系统使用,但某些 应用场合中,却需要大容量的数据存储器和程序存储器。扩展单片机数据存储器已有成熟的解决方案, 而扩展程序存储器在技术上要困难得多。 存储器扩展的硬件方案 存储器硬件扩展有多种方案,常见的有三种。 1.1 利用 I/O端 口进行存储器扩展 利用 I/o端 口进行存储器扩展,其原理是将单片机的部分 I/o线作为地址线使用,但需要 占有部分 I/O资源,且系统的总体性能有所下降,成功的案例见文[1][][。 1.2 利用外部 RAM 口进行存储器扩展 由于51系列微处理器外部ROM和外部 RAM 的分时操作 ,使得通过外部RAM 口读写来进行存 储器的扩展成为可能。对应的硬件连接如图1所示。 图 1 利用外部RAM口进行存储器扩展的硬件连线示意图 从图 1可以看出,通过对外部RAM 的写操作就可以锁定 A16、A17和A18上的电平值,然后通过 收稿 日期 :2011—12—16 作者简介:杨宏峰 (1979一 ),男 ,浙江杭州人,工学硕士,工程师 ,从事电气设计及建筑智能化研究 第 1期 杨宏峰,等:MCS51单片机程序存储器扩展技术的研究 ·59 · P0和P2口的操作,就可以访问512K代码存储器中的任何一个字节了。锁定A16、A17和A18管脚 电 平的情况下,512K代码存储空间被划分为8个64K代码存储区。该方案的特点是不 占用单片机的 I/0 资源,但对系统总体性能仍有一定的影响。 1.3 利用芯片内部 ROM进行存储器扩展 这种方案主要是针对那些具有 内部ROM 的8051系列微处理器。这类芯片有的只需要对 内部特 殊寄存器进行赋值,就可以确定使用片内ROM还是片外ROM,如DallasSOC520l4;而有的则需要对芯 片EA管脚上的电平进行操作,才可以实现,如 9C51-5]。对EA管脚的电平操作可以是P1和P3的 直接操作,也可以是外部RAM 的写操作。因为连接的方法可以有很多种,就不再赘述了。该方案不占 用单片机 I/O资源,对系统性能影响最小,但只适用于有 内部ROM 的单片机。 2 程序存储器的扩展的软件方案 51系列处理器能够直接寻址空间为 64K,称作一页(BANK),上述硬件存储器扩展方案均可突破 64K,用于数据存储不存在技术问题 ,只需要对软件略作调整儿][][引。但用于程序存储就必须解决一系 列技术难题。为表述方便,用4页面为例,定义如下: 公共代码区:一段连续的代码区,这段代码区在每个 64K页面内对应的地址一样,且代码 内容也一 样 。 母函数:i页的函数A调用J页的函数B(i≠ ,i, [0,1,2,3]),则函数A称为函数B 的母函数; 子函数:I页的函数A调用J页的函数B(≠ ,i, [0,1,2,3]),则函数B称为函数A 的母函数。 . 本文实例中的公共代码区地址设为0X6000H一0X7FFFH,实现不同页面之间程序切换的代码就

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档