- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机技术及应用--第二章 MCS-51单片机结构.ppt
2.2 MCS-51单片机存储器 计算机的存储器结构有两种:一种结构称为哈佛结构,即程序存储器和数据存储器分开,相互独立;另一种结构称为普林斯顿结构,即程序存储器和数据存储器是统一的,地址空间统一编址。 MCS-51单片机的存储器配置方式与其他常用的微机系统不同,属哈佛结构。程序存储器为只读存储器(ROM),数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。 从物理地址空间看,MCS-51单片机有4个存储器地址空间,即片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。但是,从应用设计的角度可分为3个逻辑空间:片内、外统一寻址的64KB程序存储器空间,地址范围为0000H~FFFFH,64KB的片外数据存储器空间,256B的片内数据存储器空间,如图2-14所示。上述3个存储空间地址是重叠的,如何区别这3个不同的逻辑空间呢?8051的指令系统设计了不同的数据传送指令符号:CPU访问片内、片外ROM,指令用MOVC;CPU访问片外RAM,指令用MOVX;CPU访问片内RAM,指令用MOV。 2.2.1 程序存储器 程序存储器(ROM)用来存放程序和表格常数。程序存储器以程序计数器PC作地址指针,通过16位地址总线,可寻址的地址空间为64KB,片内、片外统一编址。片内有4KB的ROM存储单元,地址为0000H~0FFFH;片外最多可扩至64KB的ROM,地址为1000H~FFFFH。 当EA引脚接高电平时,CPU将首先访问片内ROM,当指令地址超过0FFFH时,自动转向片外ROM取指令。 当EA引脚接低电平时,CPU只访问片外ROM。片外ROM的地址从0000H开始编址。对于8031,由于其片内无ROM,所以使用时必须使EA接低电平,以便能够从片外扩展的EPROM中取指令。 读片外ROM时,CPU从PC中取出当前ROM的16位地址,分别由P0口(低8位)和P2口(高8位)同时输出,当ALE信号有效时,由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到片外ROM 16位地址输入端;当PSEN信号有效时,片外ROM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。 在程序存储器中,表2-5所示的6个单元具有特殊含义。使用时一般在这 6个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。 2.2.2 数据存储器 数据存储器(RAM)主要用来存放运算的中间结果和数据等。MCS-51单片机的数据存储器无论在物理上还是逻辑上都分为两个地址空间:一个为片内数据存储器,地址范围为00H~FFH,访问片内数据存储器用MOV指令;另一个为片外数据存储器,地址范围为0000H~FFFFH,访问片外数据存储器用MOVX指令。 读片外RAM时,片外RAM 16位地址分别由P0口(低8位)和P2口(高8位)同时输出,当ALE信号有效时,由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到片外RAM 16位地址输入端;当RD信号有效时,片外RAM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。 写片外RAM的过程与读片外RAM的过程相同,只是控制信号不同,信号换成WR信号。当WR信号有效时,片外RAM将数据总线(P0口分时传送)上的数据写入相应地址存储单元中。 2.2.3 MCS-51单片机片内数据存储器的配置 片内RAM地址空间共有256B,其又分为两个部分:低128B(00H~7FH)为真正的RAM区;高128B(80H~FFH)为特殊功能寄存器(SFR)区。 低128B是单片机的真正RAM存储器,按其用途可划分为工作寄存器区(00H~1FH)、位寻址区(20H~2FH)和用户区(30H~7FH)这3个区域,其地址空间详细分布如表2-6所示。 1.工作寄存器区 00H~1FH共32个单元为工作寄存器区。工作寄存器也称为通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都有8个寄存器,用R0~R7表示。程序中每次只用1组,其他各组可以作为一般的数据缓冲区使用。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择,其对应关系如表2-7所示。通过软件设置RS0和RS1这2位的状态,就可任意选择一组工作寄存器工作,系统复位后,默认选中第0组寄存器为当前工作寄存器。 MCS-51单片机指令系统有专用于工作寄存器操作的指令,读、写速度比一般片内RAM要快,指令字节比一般直接寻址指令要短,还具有间址功能,能给编程和应用带来方便,有利于提高单片机的运算速度。因此,在单片机的
文档评论(0)