51单片机应用——存储器扩展

  89C51单片机的基础应用之程序存储器和数据存储器扩展      


        51单片机可以扩展程序存储器和数据存储器,它俩也可以同时扩展。因为51单片机取指令和取数据是分开进行的,因此可以共用地址线而不起冲突。

        扩展时,P0口作为地址线低八位,同时也是八位数据线,P2口作为地址线高八位,因此P0P2可最高可寻址2的十六次方也就是65536个字节,用64KB表示,即64*1024B也就是64*1024个字节(这里的K不是1000的意思)。因为P0的特殊作用,需要给P0接上地址锁存器(一般用74LS373),同时P0接扩展存储器的数据输入输出端D0~D7,地址锁存信号ALE接地址锁存器的G端。

        对程序存储器(2764),EA端接地,使得片内存储器无效,程序存储器完全由片外扩展组成,EA接高电平,程序存储器由片内和片外组成,优先从片内开始编码。PSEN为外部程序存储器读选通信号,全拼为Program Store Enable。另外,8031单片机无片内程序存储器,使用它必须进行外部程序存储器扩展。

        对数据存储器(6264),与程序存储器不同的是它对片外数据存储器的读取不需要用到PSEN,而是WR和RD,它们分别接在存储器对应的控制端。WR有效时向6264写入内容,RD有效时从6264读出内容到单片机。

        要掌握存储器扩展相关知识,除了接线原理,还需要掌握如何分析芯片的地址。题目一般会要求你写出存储器的各自的范围。

        学习存储器范围之前,你得知道,无论是程序存储器还是数据存储器,扩展多片时,每次操作只能有一片被选中,这就需要用到片选信号。片选信号可以来自未使用的高地址线,将它们分别接在扩展存储器的使能端,编址时令其中只有一位有效;也可以让未使用的高地址线接译码器,如三八译码器,这样就可以利用多余的三位地址线扩展最多八个存储器,若同时扩展程序和数据存储器那就是十六个!只是用一部分高地址用来片选的方法叫部分译码,会产生地址重叠,意思就是不同的地址会指向同一个单元。全地址译码就是全部地址都利用起来寻址,每一个单元与地址是一一对应的,地址连续也是它的优点之一。

        在分析扩展存储器的地址时,可以通过列表法,把每一位都按顺序列出来,按照片选信号的顺序,确定每一片存储器的地址。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机汇编语言存储器扩展实验是单片机课程中常见的实验之一,旨在通过扩展外部存储器的方式增加单片机的存储空间,以便更好地实现各种功能。下面我将简要介绍如何进行单片机汇编语言存储器扩展实验。 1. 硬件准备 首先需要准备一块可编程外部存储器(如EEPROM或Flash芯片),并将其连接到单片机系统的地址线和数据线上,以便单片机可以通过地址线和数据线访问外部存储器。此外,还需要在单片机系统中编写一个存储器扩展程序,以便单片机能够正确地访问外部存储器。 2. 编写存储器扩展程序 存储器扩展程序主要包括以下几个方面的内容: (1)初始化外部存储器,包括设置存储器的起始地址、结束地址和访问方式等; (2)实现单片机访问外部存储器的程序,包括读取、写入等操作; (3)设计合理的地址映射方案,以便单片机可以通过地址访问到外部存储器中的数据。 需要注意的是,在编写存储器扩展程序时,要考虑到单片机系统的实际应用场景和需求,并根据具体情况进行合理的设计和优化。 3. 进行实验 完成存储器扩展程序的编写后,需要将程序下载到单片机系统中,并连接外部存储器。然后,可以通过单片机系统的输入输出设备(如按键、LED等)或其他外部设备(如LCD显示屏、数码管等)来测试存储器扩展程序的功能和性能。 通过实验,可以了解单片机存储器扩展原理和方法,提高单片机程序设计和开发的能力,为后续的单片机应用开发奠定基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值