51单片机外部存储器
1. MCS-51系列单片机的存储器可划分为几个空间,地址范围以及容量是多少
MCS-51单片机在物理的角度上有四个存储空间:
1、片内程序存储器
2、片外程序存储器
3、片内数据存储器
4、片外数据存储器
但在逻辑上,从用户的角度上,单片机有三个存储空间:
1、片内外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片内数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
2. 51单片机的片内存储器和片外存储器都是在芯片内部吗
传统上,片内存储器是在芯片内部,片外存储器是在芯片外部。顾名思义嘛。
随着芯片的发展,有些扩展型51单片机会在片内扩展一些SRAM方便使用,这些SRAM会映射在片外存储空间内,使用时通过访问片外存储空间的低地址来访问这些“实际上在片内”的SRAM。
3. 51单片机外扩数据存储器最大的容量是多少,可以达到50MB吗用的是什么芯片
如果正常外扩外部数据存储器, 最大只有64K
如果用8088 的那种映射办法, 那51单片机可以达到无穷大
例如用 8000H - FFFFH 这个32K来分片切换, 可以把其他芯片映射到这个32K中来, 片选如果是8根线, 那就有256 * 32K 外部数据存储器空间了
4. 51单片机内部ram,外部ram的区别
单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此形成51单片机内部ram和外部ram的区别。
一、从使用字节区别。标准 51单片机的片内 RAM 地址从 0x00H~0x7F 共 128 个字节。而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。而片外 RAM 最大可以扩展到 0x0000~0xFFFF 共 64K 字节。
二、从连接地址区别。片内 RAM 和片外 RAM 的地址不是连起来的,片内是从 0x00 开始,片外也是从 0x0000 开始的,分别形成data,即片内 RAM 从 0x00~0x7F;idata,即片内 RAM 从 0x00~0xFF;pdata,即片外 RAM 从 0x00~0xFF;xdata,即片外 RAM 从 0x0000~0xFFFF。
一般情况下,使用 data 区域,data 不够用了,就用 xdata,如果希望程序执行效率尽量高一点,就使用 pdata 关键字来定义。其它型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必须得用 xdata 来访问了。
(4)51单片机外部存储器扩展阅读:
51单片机对所有兼容Intel 8031指令系统的统称,8004单片机成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机属于基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
51单片机的RAM用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据,ROM用以存放程序、一些原始数据和表格。四个8位并行I/O口,既可用作输入,也可用作输出。T/C包括两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式。
5. 51单片机外扩存储器时如何确定存储器的地址范围
51单片机外扩存储器时,用地址线确定存储器的地址范围。
用一个IO口的口涎作为数据存储器的片选信号。比如8051单片机,P2:P0口提供的地址A15~A0(实际是A12~A0)用来访问8K的数据存储器。
用单片机的P1口作为存储器的片选信号:P1.0接一个存储器的CS,P1.1接另一个存储器的CS,这样8个存储器正好用完P1口,当要访问其中一个时,只把相应的P1.x=0而其他为1,这样就可以了。
工作原理
存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。
主存的工作方式是按存储单元的地址存放或读取各类信息,统称访问存储器。主存中汇集存储单元的载体称为存储体,存储体中每个单元能够存放一串二进制码表示的信息,该信息的总位数称为一个存储单元的字长。
6. 51单片机的外部存储器扩展
是的。
主流的单片机(不包括51)都已经不支持外部存储器扩展了,单片机自带128K的ROM也很常见。
而且51类中,也有不少是不支持外部存储器扩展的。
最后,做为学习,这部分看看就行,了解一下就好了。
对于trousers所说的。
51的外部存储器扩展是把单片机内部的总线外引化,I/O使用不少于8根线。对于一个你说的要完成不同工作的单片机系统,相对是很复杂的,剩下的IO还够用吗?
按你的意思,一个功能复杂到内部128K都装不下的程序,那还用单片机就太费劲了吧,应该用ARM了,但ARM的程序空间就又是一个量级的了,不过,ARM到还是有不少是保留了外部存储器扩展I/O的。
尽管目的是一样的,都是为了扩展外部存储器但你要知道,51刚出现时ROM贵的和金子似的,英特尔不敢在51结构里放ROM,所以才想出外部扩展的主意,现在FLASH ROM都白菜价了,51也不再是单片机的主力,单片机的外部扩展越来越多的变成了内部自带,就51的外部扩展而言早已是鸡肋了,知道有怎么个东西就行。
而ARM扩展只是以防万一,128M(不是128K)的ROM还不够用吗?
万一(岂止是万一,我想是千万分之一)用到了,不陌生,脸熟就行了。
对kxjs。
大哥,你知道51的外部存储器扩展具体是指什么吗?24C02是I2C通讯,51这个直接就是结内部是总线,不是一会事。
以上!