基于MCS-8051单片机的片外数据存储器扩展设计研究

发布者:灵感发电站最新更新时间:2013-11-04 来源: dzsc关键字:MCS-8051单  数据存储器  存储单元 手机看文章 扫描二维码
随时随地手机看文章

  0  引言

  随着单片机运算速度和处理能力的不断提高,其在各个领域得到更广泛的应用。然而。随着其应用领域的不断扩大及集成化的不断提高,其内部资源已不能满足实际需求,往往需要对其内部资源进行扩展。

  经典的扩展方法主要是通过地址总线、数据总线即P0、P2口,以及控制线ALE等来进行数据或程序存储器的扩展,最大寻址空间可达64KB,但这种方法占用端口较多,在有些情况下不能满足需求。这里以MCS-8051系列单片机为例,介绍一种新的片外数据存储器扩展方法,仅用单片机的P0口、P1.6及P1.7共10个端口便可实现256 KB数据存储器的扩展。

  

  1  总体设计思路

  MCS-8051单片机片内部存储空间为256 B,有P0、P1、P2、P3 4个I/O端口。实际应用中,其内部存储空间往往不能满足需求,常常会在片外进行扩展。有别于经典的扩展方法,这里并没有用到P2口,仅用P0口和各个存储器的地址线、数据线连接,组成地址总线和数据总线。同时将PO口的P0.0、P0.1和P0.2这3个端口引到译码器件的输入端,译码后作为数据存储器件的片选择控制线,与单片机的其他控制端口一起形成控制总线。从而通过数据总线、地址总线和控制总线这3个总线实现单片机片外256 KB数据存储器的扩展。

  单片机的PO口具备地址总线、数据总线及控制线的功能。由软件来分时传送地址信号、数据信号和片选择控制信号。

  2  硬件接口电路设计

  MCS-805l单片机与多片62256数据存储器的扩展电路主要由8片62256型数据存储器、3片74IS373锁存器和1片74LS138译码器件组成。62 256数据存储器为32 KB静态随机存取存储器,为片选信号输入线,为写选通信号输入线,为读选通信号输人线,A0~A14为地址输入线,D0~D7为双向三态数据线。该存储器件在不同操作方式下控制引脚电平的状态如表1所示。74LS373是带三态缓冲输出的8D触发器,OE为使能端,G为控制端。其功能如表2所示。

  

  

  图l是MCS-8051单片机与多片62256数据存储器的硬件连接电路。单片机的P0口与译码器741S138、锁存器74LS373-0和 74LS373-l的输入端口相连,用来传输地址信息和控制信息。同时,P0口还与数据存储器的数据线相连接,用来传输数据信息。P1.6接到锁存器 74LS373-2的控制端G,P1.7接到锁存器74LS373-1的控制端G,ALE接到锁存器74LS373-0的控制端上。由此,在P1.6、 P1.7和ALE 3个端口共同作用下,使可实现地址信息和数据信息的分时传送。T0~T7是8片62256数据存储器,组成片外256 KB存储空间。

  

  3  软件设计

  3.1数据存储器扩展的软件设计

  MCS-8051单片机片外256 KB数据存储器扩展,其软件设计的主要思路是如何在MCS-805l单片机与要访问的片外存储单元之间建立联系,实现两者的信息传递。MOVX指令执行时,将地址信息同时进行锁存,然后开始传送数据,其读、写周期很短,但占用端口较多。为了节约端口资源,可将地址信息分时传送,图2是单片机读、写片外数据存储器的过程。与MOVX指令不同,单片机在访问片外存储单元时,首先是分时将片外存储单元的地址信息送入锁存器并锁存起来,然后再对片外数据存储单元进行读、写操作,这是2个完全独立的过程,这一特点大大节约了端口资源,但读、写周期较长。[page]

  

  随着单片机运算速度和处理能力的不断提高,其在各个领域得到更广泛的应用。然而。随着其应用领域的不断扩大及集成化的不断提高,其内部资源已不能满足实际需求,往往需要对其内部资源进行扩展。经典的扩展方法主要是通过地址总线、数据总线即P0、P2口,以及控制线ALE、*****等来进行数据或程序存储器的扩展,最大寻址空间可达64KB,但这种方法占用端口较多,在有些情况下不能满足需求。这里以MCS-8051系列单片机为例,介绍一种新的片外数据存储器扩展方法,仅用单片机的P0口、P1.6及P1.7共10个端口便可实现256 KB数据存储器的扩展。

  3.2数据存储器扩展的软件实例分析

  分析对数据存储器扩展软件设计可知,单片机通过P1口读、写片外数据存储单元时,软件设计具有重要作用。下面通过一实例介绍单片机访问片外数据存储单元的过程。

  以下程序段首先是将片外存储器000000H单元中的内容读到片内存储器30H单元中,然后再将片内存储器30H单元中的内容写到片外存储器 077FFFH单元中。在程序中,首先将片内存储单元20H、21H和22H定义为地址信息存储单元,20H是高8位地址信息存储单元,仅低3位有效;21H是中8位地址信息存储单元,低7位有效;22H是低8位地址信息存储单元,8位全有效。所以,其寻址空间为000000H~007FFFH、 010000H~017FFFH、020000H~027FFFH、030000H~037FFFH、040000H~047FFFH、 050000H~057FFFH、060OOOH~067FFFH和070000H~077FFFH,共256 KB.MOVR和MOVW分别读、写子程序。

  

  

  从程序中分析可知,能够仅用P0口及其他几个很少的控制端口便可实现片外大容量数据存储器的扩展,主要是因为PO口具备地址线、数据线及片选择控制线的功能,而这一功能是通过软件方式实现的,即分时传送地址信息,数据信息和控制信息。从MOVR和MOVW 2个子程序可以看出数据的具体传送过程。此外,在编程过程中,每次读、写外部存储器内容时,只要将地址信息写到DPHH、DPTRH和DPTRL3个单元中,然后调用子程序MOVR和MOVW便可实现对片外数据存储器的读、写操作。

  4  结论

  本文所介绍的的MCS-8051单片机片外256 KB数据存储器的扩展方法,其特点主要是扩展的存储空间大,占用的端口少,数据传送采用并行传送方式。在外围设备较多的情况下,有限的端口无法满足要求,或是存储空间难以满足要求时,完全可采用该扩展方法。此外,如果将单片机与数据存储器件的硬件连接部分稍作改动,便可直接访问片外256 KB,2种访问方式可完全独立。

  如果256 KB的存储空间还不能满足实际需求,不妨将高位地址存储单元的8位全部进行译码。可得到256个片选择控制端口,那么原来的8片数据存储器便可增加到 256片。这样,片外存储空间就可以达到8 MB.完全满足需求。而且,按此原理,还可以将原来的3个地址存储单元改为4个地址存储单元或更多,以增加其存储空间。但这样其读、写周期也将更长。因此需根据实际情况,综合考虑,最终使单片机的硬件与软件达到最优化。

关键字:MCS-8051单  数据存储器  存储单元 引用地址:基于MCS-8051单片机的片外数据存储器扩展设计研究

上一篇:一种基于CH340T 的STC89C52RC 编程器设计
下一篇:基于IIC总线的单片机排队系统接口设计

推荐阅读最新更新时间:2024-03-16 13:29

USB传感器与存储器数据记录中的应用
目前市场上有很多种数据采集设备可用于在PC上记录数据,如NationalInstrument的LabVIEW,不过这类设备的传感器件开始越来越多地采用USB接口而不是RS232或其他传统接口。过去在嵌入式系统中应用USB设备需要性能相对较强的硬件,要带有USBHost控制器接口、RTOS以及USB软件驱动,结果因USBHost功能实施成本的原因设计工程师一直都不太愿意在小型8位或16位MCU系统上增加USB设备。但随着最新一代智能USBHost控制器IC的推出,与MCU配合使用不仅可为PC应用使用USB数据采集设备,而且还可将数据存储在低成本高容量的闪存盘上。 数据记录应用 第一个应用实例显示了一个MCU控制器和一个带有
[工业控制]
USB传感器与<font color='red'>存储器</font>在<font color='red'>数据</font>记录中的应用
ATmega88 SRAM数据存储器
SRAM数据存储器 Figure 10 给出了ATmega88 SRAM 空间的组织结构。 ATmega88 是一个复杂的微控制器,其支持的外设要比预留的 64 个 I/O( 通过IN OUT 指令访问 ) 所能支持的要多。对于扩展的 I/O 0x60 - 0xFF 只能使用ST/STS/STD 和 LD/LDS/LDD 指令。 前 1280 个数据存储器包括了寄存器文件,I/O 存储器,扩展的 I/O 存储器以及数据 SRAM。起始的 32 个地址为寄存器文件,然后是 64 个 I/O 存储器,接着是 160 个扩展 I/O 存储器。最后是 1024字节的数据 SRAM。 数据存储器的寻址方式分为5 种:直接寻址、带偏移量的间接
[单片机]
ATmega88 SRAM<font color='red'>数据</font><font color='red'>存储器</font>
汇编代码、机器码和存储器的关系以及数据的表示
即使使用C/C++或者其他高级语言编程,最后也会被编译工具转换为汇编代码,并最终作为机器码存储在内存、硬盘或者其他存储器上。在调试程序时,经常需要阅读它的汇编代码,以下面的汇编代码为例: 2023404: e5901000 ldr r1, 2023408: e3c110ff bic r1, r1, #255 ; 0xff 202340c: e3c11cff bic r1, r1, #65280 ; 0xff00 2023404、2023408、202340c是这些代码的运行地址,就是说运行前,这些指令必须位于内存中的这些地址上; e5901000、e3c110ff、e3c11
[单片机]
汇编代码、机器码和<font color='red'>存储器</font>的关系以及<font color='red'>数据</font>的表示
为什么西部数据不能收购东芝存储器业务
据报导,东芝存储器(TMC)出售案的重要部分为外界所知,必须满足3个条件才能出售:1,通过10个主要国家地区的反垄断法审查;2,与西部数据(WD)的仲裁案及官司中,没有禁止出售命令;3,日本政府认为交易不影响国家安全。 在反垄断法审查方面,需通过审查的国家有:巴西、大陆、欧盟、日本、韩国、墨西哥、菲律宾、台湾、土耳其、美国。目前重点在通常耗时超过6个月的大陆审查,因参与此案的SK海力士(SK Hynix)与东芝是同业,故契约设定10年内SK海力士取得东芝存储器普通股比例,不得超过15%,以利通过审查。 至于与西部数据的官司方面,东芝(Toshiba)判断西部数据无法全面胜诉阻止交易,只能就东芝母公司名下的四日市工厂设备分配
[嵌入式]
“新基建”风口下,关键数据存储器撑起表计市场升级大旗
距离中国首次提出泛在电力物联网的概念刚过去一年,通过升级电网基础设施,以大数据、云计算、5G、边缘计算等技术实现传统电网向能源互联网升级,将随着承担“拉动经济”重任的“新基建”而加速,泛在电力物联网在电力系统基础建设中的重要性不言而喻。而作为电力网络化数据采集的唯一设备,智能电表是用户侧泛在电力物联网的基础,智能电表的技术创新可以说从根本上影响着泛在电力物联网行业的发展。 针对这波大规模的市场热潮,富士通电子元器件(上海)有限公司产品管理部总监冯逸新近日在一次研讨会上也表示:“智能表计作为富士通长期关注的重点业务,在未来几年具有很大的市场潜力,特别是智能电表行业发展潜力依然看好。” 随风而起, FRAM筑造坚固数据存储
[网络通信]
“新基建”风口下,关键<font color='red'>数据</font><font color='red'>存储器</font>撑起表计市场升级大旗
STM32学习笔记-Flash作为存储器储存数据
说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装芯片配置、芯片ID、自举程序等等。当然, FLASH还可以用来装数据。 自己收集了一些资料,现将这些资料总结了一下,不想看的可以直接调到后面看怎么操作就可以了。 FLASH分类 根据用途,STM32片内的FLASH分成两部分:主存储块、信息块。 主存储块用于存储程序,我们写的程序一般存储在这里。 信息块又分成两部分:系统存储器、选项字节。 系统存储器存储用于存放在系统存储器自举模式下的启动程序(BootLoader),当使用ISP方式加载程序时,就是由这个程序执行。这个区域由芯片厂写入Boot
[单片机]
利用C8051F020的SPI接口扩展大容量数据存储器
引言 在以网络通讯、软件和微电子为主要标志的信息产业飞速发展的今天,以为微处理器为核心的嵌入式系统随处可见,这些系统应用的典型例子包括移动电话系统、汽车的应用、家用电器、航天应用、医疗设备和国防系统等 。作为嵌入式系统核心部分的微处理器分为8位,16位,32位和64位四大类。对于很大一部分应用领域,性能要求相对较低,而产品成本是最重要的考虑因素,这种情况下8位微处理器将是最佳选择。在8位微处理器中8051芯片家族具有低成本、大范围、易获得和应用广泛的特点,是开发嵌入式优秀平台。另外需要指出的是为了适应目前IC产业中流行的SOC(system on a chip)设计潮流,许多著名半导体公司纷纷推出了基于8051架构的8051 S
[单片机]
利用C8051F020的SPI接口扩展大容量<font color='red'>数据</font><font color='red'>存储器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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