为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定一条指令的地址。程序计数器PC正是起到了这种作用,所以通常又称其为指令地址计数器。在程序开始执行前,必须将其起始地址。即程序的第一条指令所在的内存单元地址送入PC。当执行指令时,CPU将自动修改PC的内容,使之总是保存将要执行的下一个条指令的地址。由于大多数都是按顺序执行的,所以修改的过程只是简单的加1操作。
下面我们看看8051的存储器系统:(此章非常重要,请仔细理解)
8051序列单片机与一般微机的存储器配置方式不相同。一般微机通常只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址同在一个队列里分配不同的地址空间。CPU访问存储器时,一个地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令。此种存储器结构称普林斯顿结构。
8051的存储器在物理结构上分程序存储器空间和数据存储器空间。有四个存储空间:片内程序存储器和片外程序存储空间以及片内数据存储器和片外数据存储器。这种程序存储器和数据存储器分开的结构形式,称为哈佛结构。但从用户使用的角度,8051存储器地址空间分为三类:
1、片内,片外统一编址0000H—FFFFH的64K字节的程序存储器地址空间,用16位地址;
2、64K字节片外数据存储器地址空间,地址也从0000H—FFFFH,用16位地址;
3、256K字节数据存储器地址空间,用8位地址。
上述三个存储空间地址是重迭的,任何区别这三个不同的逻辑空间呢?8051的指令系统设计了不同的数据传送指令符号:CPU 访问片内片外ROM指令用MOVC,访问片外指令用MOVX,访问片内RAM指令用MOV。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !