1. 简述51单片机的存储器逻辑空间分布,并说明当存储器地址发生重叠时应如何处
MCS-51单片机存储器结构
1、 程序存储器
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意:
其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。
另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:
0003H—000AH 外部中断0中断地址区。
000BH—0012H 定时/计数器0中断地址区。
0013H—001AH 外部中断1中断地址区。
001BH—0022H 定时/计数器1中断地址区。
0023H—002AH 串行中断地址区。
可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,每段只有8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。
2、 数据存储器
数据存储器也称为随机存取数据存储器。MCS-51单片机的数据存储器在物理上和逻辑上都分为两个地址空间,一个是内部数据存储区和一个外部数据存储区。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。
8051内部RAM共有256个单元,这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清楚地看出它们的结构分布。
在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的第3和第4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如图2所示。
内部RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分配如表1所示,CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。
2. 西门子s7-300,MPI协议中,QW和VW的区别是什么 触摸屏与PLC通信,触摸屏中设置地址类型应该是QW还是VW
在S7-300中QW、AW、VW分别是端口的模拟输出、模拟输入和内存的字,触摸屏如果支持MPI的话直接QW就行,一般还是VW的好。
西门子300PLC存储区为M区,位地址开头用MB,字地址用MW 。
S7-300 CPU有三个基本存储区:
(1)系统存储区:RAM类型,用于存放操作数据(I/O、位存储、定时器、计数器等)。
(2)装载存储区:物理上是CPU模块中的部分RAM,加上内置的EEPROM或选用的可拆卸FEPROM卡,用于存放用户程序。
(3)工作存储区:物理上是占用CPU模块中的部分RAM,其存储内容是CPU运行时,所执行的用户程序单元(逻辑块和功能块)的复制件。CPU程序所能访问的存储区为系统存储区的全部、工作存储区中的数据块DB、暂时局部数据存储区、外设I/O存储区等。
参考资料:http://wenku..com/link?url=MiNPRjQO1ZoRsmc3jo-EZ0d4hZhLgNXzSCTUm
3. 1515F代码工作存储器不足
1515F代码工作存储器不足,装载存储器小了,可以更换更大的存储卡,但是工作存储器小了,没法扩展;
则查了一下1513工作存储器是 300KB,1515 工作存储器 500KB,如果程序不能优化了(比如能用优化的FB尽量用优化的),那只能选用更高级别的PLC。
4. 80C51单片机片内数据存储器(RAM)的三个存储区域是如何划分的
内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。数据存储器空间(低128单元);特殊功能寄存器空间(高128单元);这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。
5. 315-dp与s7-1200和s7-1500通讯
S7-1500系列才有:
CPU 1518F-4 PN/DP, 中央处理单元, 带有工作存储区( 4 M 程序, 20 M 数据)
CPU 1517F-3 PN/DP, 中央处理单元, 带有工作存储区( 2 MB 程序, 8 MB 数据)
CPU 1516F-3 PN/DP, 中央处理单元, 带有工作存储区( 1.5 MB 程序, 5 MB 数据)
CPU 1515F-2 PN, 中央处理单元, 带有工作存储区( 750 KB 程序, 3 MB 数据)
CPU 1513F-1 PN, 中央处理单元, 带有工作存储区( 450KB 程序, 1.5 MB 数据)
CPU 1511F-1 PN, 中央处理单元, 带有工作存储区( 225KB 程序, 1 MB 数据)
CPU 1512SP F-1 PN, 中央处理单元, 带有工作存储区( 300 KB 程序, 1 MB 数据)
CPU 1510SP F-1 PN, 中央处理单元, 带有工作存储区( 150 KB 程序, 750 KB 数据)
6. PLC装载存储器与工作存储器的区别是什么分别是做什么用的
你可以这样理解西门子的S7-300/400的工作内存。
7. 西门子s7-1500和1200有安全型plc吗
1200也有安全PLC的
8. s7-1200工作存储器和装载存储器的区别
PLC上的存储器与个人电脑上的存储器功能相似,主要用来存储系统程序、用户程序和数据。
根据功能不同可把存储器进行细分,可分为如下几个存储区:
装载存储器区(Load Memory)
工作存储器区(Work Memory)
保存存储器区(Retentive Memory)
系统存储器区(System Memory)
上面四个区域除了装载存储器区是外插SIMATIC存储卡,其他都是CPU内部集成的存储器。
1、 装载存储器
在S7-300/400系列PLC中装载存储器也就是外插的MMC卡,这个卡是Flash Memory,断电后卡中的信息不会丢失。对于S7-1500 CPU的装载存储器,只能通过外插存储卡扩展,容量最大支持到32G。
装载存储器主要存储项目中的程序块、数据块、工艺对象、硬件配置,就是你用博途编写程序和组态硬件产生的所有数据。
在你下载程序的过程中,首先是存储到装载存储器中,然后再复制到工作存储器中,程序和数据在工作存储器中运行。
对CPU的任何操作都不会让SIMATIC存储卡的用户程序丢失,也不会损坏程序。所以无论你CPU怎么损坏,用户程序是不会丢失的,但是没有了SIMATIC存储卡,即使你买再多的CPU,依然要重写程序。
装载存储器类似电脑的硬盘。
在S7-300/400 PLC中,装载存储器不存储项目中的符号和注释等信息,但是S7-1500 PLC的装载存储器可以保存变量的符号、注释信息以及PLC的数据类型。
西门子SIMATIC存储卡的知识以后专门介绍,这篇文章你知道所谓装载存储器就是S7-300/400上的MMC卡,S7-1500上这张卡叫做SIMATIC存储卡。
2、工作存储器
工作存储器是集成在CPU内部的RAM存储器,容量根据型号确定,不能扩展。所以在选择CPU时除了要考虑指令的处理速度,还要考虑最终程序的大小。如果写完程序发现CPU没法运行,就比较麻烦了。
可分为代码工作存储器和数据工作存储器,分别用来保存与程序运行有关的代码(OB/FC/FB)和数据块(DB)。
工作存储器类似个人电脑中的内存条,断电时数据会丢失,恢复供电时CPU会从装载存储器复制数据到工作存储器。
9. MCS-51 单片机的存储器地址空间如何划分各地址空间的地址范围和容量如何
MCS-51单片机在物理结构上有四个存储空间:
1、片内程序存储器
2、片外程序存储器
3、片内数据存储器
4、片外数据存储器
但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:
1、片内外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片内数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。程序ROM
寻址范围:0000H ~ FFFFH 容量64KB
EA = 1,寻址内部ROM;EA = 0,寻址外部ROM
地址长度:16位
作用: 存放程序及程序运行时所需的常数
数据存储器片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。
也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。其中片内数据存储器分为两部分,地址从00H—7FH单元(共128个字节)为用户数据RAM,从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。