51单片机自学笔记(4)——MCS-51存储器的扩展

这篇具有很好参考价值的文章主要介绍了51单片机自学笔记(4)——MCS-51存储器的扩展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  为什么要进行存储器的扩展呢?就是因为单片机自带的储存空间不够。本文将以80C31单片机来举例讲解存储器的扩展,80C31内置128字节数据存储器(RAM),片内并无程序存储器(ROM),需外接ROM。 所谓的存储器扩展其实就是构建系统总线。

1.总线的基本概念

  系统总线是连接计算机各部件的一组公共信号线,MCS-51的系统总线可分为地址总线、数据总线和控制总线。

1.1 地址总线

  地址总线(Adress Bus,简写AB)他用来传输单片机所发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线的数目决定着可直接访问的存储单元及I/O口的数目。MCS-51系类单片机在扩展存储器时是由P0与P2端口作为地址总线。

1.2 数据总线

  数据总线(Data Bus,简写DB)单片机与存储单元及I/O口之间传输数据信号。MCS-51系类单片机在扩展存储器时是由P0端口作为数据总线,P0口即做地址总线又做数据总线,后续将会讲解如何将地址信息与数据信息分离出来。

1.3 控制总线

  控制总线(Control Bus,简写CB)是一组控制信号线,包括单片机发出的也包括从外部存储单元或者I/O口发送给单片机的。

51单片机自学笔记(4)——MCS-51存储器的扩展
  也可以这样理解系统总线,比如要读取一字节信息我们都需要什么?首先需要这一字节信息的地址,那么我们就可以把这个地址放到所谓的地址总线上面,然后告诉存储器我要读取信息并且把读取信息的地址告诉他,告诉存储器这个行为就是运用控制总线来进行的,最后存储器知道了要读取数据以及读取的地址,就将该地址的信息放到数据总线上面再由单片机读取。
  总线结构大大减小了单片机系统中传输线的数目,增加了系统的可靠性。

2. 扩展程序存储器

  上面我们明白了系统总线的相关概念,现在我们来对8031单片机访问是的时序问题以及片选问题进行讨论。

2.1 访问片外程序存储器的时序

  8031单片机的P0与P2端口是用来构建地址总线的,其中P0是地址的低8位,P2是地址的高8位。在介绍数据总线部分我们也提到P0口也是用作数据总线的,也就是说P0口是分时复用的,其功能是由ALE信号控制,ALE为下跳沿时P0口数据为地址信息。
  在运行MOVC A,@DPTR(读取外部存储器指令)后,当ALE为下降沿时P0口输出的为稳定的地址信号,其内容由锁存器进行存储,P0口地址信号完整的锁存之后,P0端口就变成了8位的数据总线,紧接着PSEN*为低电平时,其说明可以从存储器上面读取数据,外部存储器将数据放入到数据总线上面(即P0口,P0都把低8位地址放入到锁存器后就变为数据总线),再将数据总线的内容放入到累加器A中。51单片机自学笔记(4)——MCS-51存储器的扩展

2.2 访问片外数据存储器的时序

  对于扩展片外的数据存储器与程序存储器其地址总线与数据总线是没有区别的,只是应用的控制线不同,扩展片外程序存储器时,使用的是PSEN来控制读选通信号,扩展程序存储器时,使用RD来控制读选通信号、WR来控制写选通信号。
  下图红线以前为读程序存储器的时序图,在运行MOVC指令时(读程序存储器时)RD
与WR均保持高电平;红线之后为运行MOVX指令时(存取数据存储器时)PSEN始终保持高电平。
  在运行MOVX A,@DPTR (读片外数据存储器)后,首先P0发送低8位地址信息,P2口发送高8位地址信息,待P0口地址信息稳定后ALE发生下跳沿,将P0口低8位地址信息送入到锁存器中,紧接着P0口转变为数据总线,待RD变为低电平时,数据存储器将该地址的内容放入到数据总线上,最后将数据总线内容放入到累加器A当中,RD变为高电平。
  在运行MOVX @DPTR,A(写片外数据存储器)后,首先P0发送低8位地址信息,P2口发送高8位地址信息,待P0口地址信息稳定后ALE发生下跳沿,将P0口低8位地址信息送入到锁存器中,紧接着P0口转变为数据总线,待WR变为低电平时,累加器A将数据内容放入到数据总线上,待存储器将数据总线内容保存后WR转换为高电平。
51单片机自学笔记(4)——MCS-51存储器的扩展

2.3 线选法扩展

  该部分运用扩展EPROM2764进行介绍,首先我们了解了解2764存储器,2764为8K程序存储器,8K = 23 *210= 213,所以需要有13条地址总线接口,地址总线接口为A0-A12,8位的数据接口位DO-D7。存储器读选通OE,低电平选通,存储器片选控制CE,低电平选通,存储器编程脉冲PGM,编程电压输入VPP,在对其进行扩展时PGM与VPP接电源即可。
  所谓的线选法扩展,即使用高端地址线(P0与P2端口未用到的地址线)作为外扩存储器的片选线(连接存储器的CE接口)。使用线选法进行连接,地址空间有重叠,即同一存储空间有多个地址空间。如下图原理图,单片机的P2.5与P2.6有四种输出电平(0,0)、(0,1)、(1,0)和(1,1)但是这4种输出电平与选取存储器的地址毫无关系,也就是说该存储器可以用4组地址来表示。
  第一组:0 00 0000000000000B~0 00 1111111111111B(0000H~1FFFH)
  第二组:0 01 0000000000000B~0 01 1111111111111B(2000H~3FFFH)
  第三组:0 10 0000000000000B~0 10 1111111111111B(4000H~5FFFH)
  第四组:0 11 000000000000B~0 11 1111111111111B(6000H~7FFFH)
  访问该存储器时不管用任何一组地址均可访问。
  CE接口理论上也是可以接单片机其他端口(P1 or P3),则P2.5、P2.6与P2.7与选取存储器的地址毫无关系,存储器可以由8组地址来表示,空间重叠更严重,一般不建议使用。
51单片机自学笔记(4)——MCS-51存储器的扩展

2.4 译码法扩展

  该部分使用74LS138译码器传输片选信号,使用高端地址线(P2.5、P2.6与P2.7)做为译码器的输入。下图为译码器的真值表。51单片机自学笔记(4)——MCS-51存储器的扩展
  可以看出在正常工作状态下一共有8组输出,也就是2.3最后部分说的8组地址。下图原理图OE端连接的是Y1端,其有效地址为: 001 0000000000000B~001 1111111111111B(2000H~3FFFH),运用译码法扩展时就消除了空间重叠这一问题,每一块存储器对应的地址唯一。
51单片机自学笔记(4)——MCS-51存储器的扩展

2.5 数据存储器的扩展

  以上我们了解了有关时序以及片选的相关内容,这部分根据以上内容展示几种数据存储器扩展的电路原理图,请读者自行分析,相关内容可以在评论区共同探讨。

2.5.1 线选法片选

51单片机自学笔记(4)——MCS-51存储器的扩展

2.5.2 译码器片选

51单片机自学笔记(4)——MCS-51存储器的扩展

2.5.3 EPROM与RAM综合扩展——线选法

51单片机自学笔记(4)——MCS-51存储器的扩展

2.5.4 EPROM与RAM综合扩展——译码法

51单片机自学笔记(4)——MCS-51存储器的扩展文章来源地址https://www.toymoban.com/news/detail-507461.html

到了这里,关于51单片机自学笔记(4)——MCS-51存储器的扩展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自学笔记:89c51单片机最小系统Protues篇

    什么是单片机最小系统? 单片机最小系统:单片机最小应用系统,使用 最少 的元件组成单片机能够工作的系统。 单片机最小系统 三要素 :电源模块,(晶振/时钟)振荡电路模块,复位电路模块 1,电源模块:供电。VCC端接正向5V电压,GND端接地。 51单片机全部引脚图(百

    2024年02月04日
    浏览(31)
  • 为什么MCS-51 单片机总线和端口要有匹配的驱动电路?

            MCS-51系列单片机是一种广泛使用的8位微控制器,它通常用在嵌入式系统中。单片机的总线和端口可能需要额外的驱动电路,这取决于外部设备的电气特性和所需的电流能力。下面将从以下几个方面分析为什么驱动电路这么重要:          电流驱动能力: MCS-51单片机

    2024年02月20日
    浏览(45)
  • STC单片机存储器介绍和使用

    🌿STC15F2K60S2系列内部结构框图 🌿STC12C5A60S2系列内部结构框图 📑程序存储器(ROM/Flash) 🔖STC单片机ROM容量大小可以根据其型号和命名规则了解到。 🌿STC15

    2024年02月09日
    浏览(33)
  • EPROM 作为存储器的 8 位单片机

    TX-P01I83 是以 EPROM 作为存储器的 8 位单片机,专为多 IO 产品的应用而设计,例如遥控器、风扇/灯光控制或是 玩具周边等等。采用 CMOS 制程并同时提供客户低成本、高性能等显着优势。TX-P01I83 核心建立在 RISC 精简指 令集架构可以很容易地做编程和控制,共有 55 条指令。除了

    2024年01月16日
    浏览(52)
  • 【GD32】从零开始学GD32单片机高级篇——外部存储器控制器EXMC详解+SDRAM读写例程

    外部存储器控制器EXMC,用来访问各种片外存储器,通过配置寄存器,EXMC可以把AMBA 协议转换为专用的片外存储器通信协议,包括 SRAM,ROM,NOR Flash,NAND Flash,PC Card和SDRAM 。 EXMC的工作原理其实就是把外部储存器的地址映射到内部的特定地址上,用户想访问外部的存储器,我们

    2024年02月10日
    浏览(79)
  • STM32F407单片机通用24CXXX读写程序(KEIL),兼容24C系列存储器(24C01到24C512),支持存储器任意地址跨页连续读写多个页

    原文链接:https://blog.csdn.net/ba_wang_mao/article/details/108318633 AT24C01,AT24C02,AT24C04,AT24C08,AT24C16,AT24C32,AT24C64,AT24C128,AT24C256…不同的xxx代表不同的容量。 总容量(Byte容量) = 页数 × 页内字节单元数。 对AT24CXXX进行读写操作时,都得先访问存储地址、比如AT24C01写一个字节的I

    2024年04月11日
    浏览(49)
  • 51单片机--AT24C02数据存储

    存储器是计算机系统中的一种重要设备,用于存储程序和数据,它可以通过电子、磁性介质等技术来记录和保持数据。在这里,主要介绍的是随机存储器(RAM)和只读存储器(ROM)。 随机存储器(Random Access Memory,RAM)是一种 可以读取和写入数据的存储器 。 它的特点是可以

    2024年02月16日
    浏览(42)
  • 29、基于51单片机简易电子琴(有存储功能)系统设计

     随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器等等也很

    2024年02月03日
    浏览(34)
  • 单片机语言--C51语言数据类型与存储类型以及C51的基本运算

    C51的基本语法与标准C相同,C51在标准C的基础上进行了适合于51系列单片机硬件的扩展。 深入理解Keil C51对标准C的扩展部分以及不同之处,是掌握C51语言的关键之一。 C51与标准C的主要区别如下: (1)库函数的不同。 (2)数据类型有一定的区别。 (3)C51的变量存储模式与标

    2024年04月10日
    浏览(33)
  • 51单片机笔记

    是指用户自己编写的程序区 ISP区是指芯片出厂时就已经固化在单片机内部的一段程序,STC单片机可以进行ISP串行下载程序,这就是因为芯片在出厂时已经在单片机内部固化了ISP引导码,程序首次上电时先会从ISP区开始执行代码,体现在实际实验中时,就是我们在下载程序时,

    2024年02月12日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包