《单片机最小系统设计》2(阅读).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《单片机最小系统设计》 存储器组织 一、存储器空间分类 根据作用分类: 程序存储器ROM 数据存储器RAM 根据位置分类: 片内存储器 片外存储器 1、片内程序存储器(片内ROM) 2、片内数据存储器(片内RAM) 3、片外ROM扩展 4、片外RAM扩展 MCS-51(8051)存储结构如图所示 从用户使用的角度,即从逻辑上划分3个存储器地址空间: 片内外统一编址的64KB的程序存储器地址空间 片内片外的程序存贮器在同一逻辑空间中,地址从0000H~FFFFH,共有64K字节范围 片内256B数据存储地址空间 片内数据存贮器为00H~FFH 片外64KB的数据存储器地址空间 片外为0000H~FFFFH 二、区分四个独立空间的方法 1、使用MOV、MOVX、MOVC三个不同的指令分别 区分片内RAM、片外RAM和ROM 2、片外ROM使用控制信号PSEN 片外RAM使用控制信号RD、WR 3、EA引脚接地,从片外ROM开始 0000H~0FFFH 位于片外ROM EA引脚接高电平,从片内ROM开始 0000H~ 0FFFH位于片内ROM 4、ROM和片外RAM一定要用16位地址 片内RAM 和SFR,只能使用8位地址 三、程序存储器ROM 最多为64K,用于存放程序和表格 使用PC作为程序地址指针 编址方式:片内、片外ROM统一编址(0000H~FFFFH) 片内(如有,4K)为低地址(0000H~0FFFH),片外为高地址 加电复位后,PC=0000H,当PC超出片内,则会自动转向片外ROM EA引脚控制PC值(8031和8051不同) MOVC用来读取ROM中存放的表格常数 分为两个部分: 1、系统使用区:其中0000H~0002H为系统复位入口,其中必有一条存放PC的跳转指令(转至主程序);0003H~002AH为各个中断源处理程序使用 2、用户使用区:其余地址空间 四、片内RAM 单片机的数据存储器分为片内RAM和片外RAM,两者单独编址(片内为00~FFH,片外为0000~FFFFH)。一般需要外部扩展时才使用最多64K的片外RAM。 通常将单片机256B的内部数据存储器RAM分为两个部分,一个是片内RAM(占128B) ,一个是特殊功能寄存器SFR(占另外128B的21B)。 片内RAM的128B地址为00~7FH,可分为四个大区: 工作寄存器区、位寻址区、数据缓冲区、堆栈区 片内RAM 工作寄存器区: 字节地址:00H~1FH 位寻址区: 字节地址:20H~2FH 位地址为:00H~7FH 数据缓冲区/堆栈区: 字节地址:00H~7FH 一般使用30H~7FH RAM空间分配示意图 1、工作寄存器区 00~1FH单元,共32B,常用来存放操作数和中间结果,可以使用指令系统中有工作寄存器的专用指令,多为单字节指令,执行速度快,方便。 分为4个寄存器区: 0区:00~07H 1区:08~0FH 2区:10H~17H 3区:18~1FH 每个区有8个单元,都用R0~R7编号。 在任何时刻CPU只能使用其中一个区(当前寄存器组),即将这个区的8个单元作为工作寄存器,其他区仍是一般的RAM。具体使用哪个区,由程序状态寄存器PSW中的RS1、RS0两位的状态来决定。 2、位寻址区 20H~2FH,共16个单元,128位。 为布尔处理区 各有自己的位地址,统一编址为00H~7FH(1个地址代表1位) 既可以字节寻址,也可以位寻址。 有17条位操作指令, 常进行置位(SETB)、清零(CLR)、取反(CPL) 3、数据缓冲区 30H~7FH 用户RAM区,用于存放运算数据和结果。 4、堆栈区 用户可以指定内部RAM的最高若干字节作为堆栈区(至7FH),指针为SP 例:MOV SP,#5FH 则从60~7FH单元为堆栈区 堆栈 堆栈是在片内RAM中临时开辟的暂存区; 作用:保护现场、保护断点 针对:子程序调用、中断操作 在响应中断或子程序调用时,发生入栈操作,入栈的是16位的PC值,PSW值并不自动入栈。 特点:先进后出,后进先出 指令:入栈PUSH,出栈POP 堆栈区每个单元不能按字节任意访问,PUSH和POP都是对堆栈的栈顶单元进行的。为了指示栈顶的地址,必须使用堆栈指针SP。 SP始终指向堆栈最后压入或即将弹出的数据单元,即指向栈顶。 SP实际为一个8位寄存器,它的内容是栈顶存储单元的

文档评论(0)

peain + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档