- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 作业答案
MCS51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别?
【答】 80C51单片机采用哈佛(Har-yard)结构,即将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有较强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围都可达64 KB。
在物理上设有4 个存储器空间
片内程序存储器;
片外程序存储器;
片内数据存储器;
片外数据存储器。
在逻辑上设有3 个存储器地址空间
片内、片外统一的64 KB程序存储器地址空间。
片内256字节(80C52为384 字节)数据存储器地址空间。
片内数据存储器空间在物理上又包含两部分:
-对于80C51型单片机,0~127字节为片内数据存储器空间;128~255字节为特殊功能寄存器(SFR)空间(实际仅占用了20 多个字节)。
-对于80C52型单片机,0~127字节为片内数据存储器空 间;128~255字节是数据存储器和特殊功能寄存器地址重叠空间。
片外64KB 的数据存储器地址空间。
在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。访问片内RAM 采用MOV指令,访问片外RAM 则一定要采用MOVX指令,因为MOVX指令会产生控制信号RD或WR,用来访问片外RAM 。访问程序存储器地址空间,则应采用MOVC指令。
MCS51单片机的信号有什么功能?在使用80C51时,信号引脚应如何处理?在使用80C31时,信号引脚应如何处理?
【答】 80C51单片机的EA信号被称为“片外程序存储器访问允许信号”。
CPU访问片内还是片外程序存储器,可由EA引脚所接的电平来确定:
EA引脚接高电平时,程序从片内程序存储器地址为0000H开始执行,即访问片内存储器;当PC 值超出片内ROM 容量时,程序会自动转向片外程序存储器空间执行。片内和片外的程序存储器地址空间是连续的。
EA引脚接低电平时,迫使系统全部执行片外程序存储器0000H开始存放的程序。对于有片内ROM的80C51 / 87C51 单片机,应EA将引脚接高电平。
在使用80C31单片机时,EA信号引脚应接低电平,即此时程序存储器全部为外部扩展。
80C51单片机内RAM低128个存储单元划分为哪3个主要部分?各部分主要功能是什么?
【答】 80C51片内RAM的低128个存储单元划分为3个主要部分:
寄存器区。共4组寄存器,每组8个存储单元,各组以R0~R7作为单元编号。常用于保存操作数及中间结果等。R0~R7也称为“通用工作寄存器”,占用00H~1FH共32个单元地址。
位寻址区。单元地址为20H~2FH ,既可作为一般RAM单元使用,按字节进行操作,也可对单元中的每一位进行位操作。因此,称为“位寻址区”。寻址区共有16个RAM单元,共计128位,位地址为00H~7FH。
用户RAM区。在内部RAM 低128单元中,除去前面两个区,剩下80个单元,单元地址为30H~7FH。在用户RAM区内可以设置堆栈区。
程序存储器的哪些单元被保留用于特定场合?
【答】 80C51单片机复位后,程序计数器PC的地址为0000H,所以系统从0000H单元开始取指,并执行程序。0000H是系统的启动地址,一般在该单元设置一条绝对转移指令,使之转向用户主程序处执行。
0003H~002DH单元被保留用于6个中断源的中断服务程序的入口地址,故有以下7 个特定地址被保留:
复位 0000H
外部中断0 0003H
计时器T0溢出 000BH
外部中断1 0013H
计时器T1溢出 001BH
串行口中断 0023H
由于每个中断入口之间的间隔仅为8个地址单元,所以在程序设计时,通常在这些中断入口处设置一条无条件转移指令,使之转向对应的中断服务子程序处执行。
什么是堆栈?堆栈有哪些功能?堆栈指针SP的作用是什么?在程序设计时,为什么还要对SP重新赋值?
【答】 堆栈是在片内数据RAM区中,数据按照“先进后出”或“后进先出”原则进行管理的区域。
堆栈功能有两个:保护断点和保护数据。在子程序调用和中断操作时这两个功能特别有用。在80C51单片机中,堆栈在子程序调用和中断时会把断点地址自动进栈和出栈。进栈和出栈的指令(PUSH、POP)操作可用于保护现场和恢复现场。由于子程序调用和中断都允许嵌套,并可以多级嵌套,而现场的保护也往往使用堆栈,所以一定要注意给堆
文档评论(0)