单片机原理与应用第2章__MCS-51单 片机的结构与原理-新.pptVIP

单片机原理与应用第2章__MCS-51单 片机的结构与原理-新.ppt

  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文档。上传文档
查看更多
DPL、DPH两者拼接起来构成一个16位特殊功能寄存器,称为数据指针DPTR。DPL、DPH分别为DPTR的低8位和高8位。可对它们独立操作,也可以将它们合起来作为DPTR操作,用于存放8位地址或16位的地址。 ? 数据指针DPTR: * ? P0、P1、P2、P3: P0、P1、P2、P3:是4个并行I/O口(P0口~P3口)的锁存器,它们与对应的端口同名,通过对它们的读/写操作,实现将数据从相应的I/O口输入/输出。 * 【项目应用】 请读者查找应用项目的程序中大致用到了哪些特殊功能寄存器。不要求了解具体如何使用,只要求大致了解,不懂之处可作为驱动后续学习的动力暂且放下。 * 2.字节寻址区 字节寻址区也称为用户数据区或通用RAM区,地址范围为30H~7FH,共有80个RAM单元,只能进行字节寻址,按字节存取数据。用于存放用户数据,或者通过将这一区域的某一单元地址赋给堆栈指针SP,而将其中的一段单元作为堆栈区使用。 * 【项目应用】 在应用项目中,所用到的片内RAM数据存储单元中的一部分就位于字节寻址区,具体安排如下。 26H:0.1s计数单元 27H:秒计数单元 28H:分计数单元 29H:时计数单元 2AH:计时单元指针初值 2BH:存放秒计数基制 2CH:存放分计数基制 2DH:存放时计数基制 2EH:数据区地址暂存单元 3AH:控制码存储单元 3BH、3CH:数据暂存单元 4AH~4FH:显示缓冲区 5AH:堆栈栈底 * 3.位寻址区 位寻址区的字节地址范围为20H~2FH,共有16个RAM单元,它们既可以进行字节寻址,按字节存取数据,也可以对每个RAM单元进行位寻址,按位存取数据。 这一区域共有128个位单元,它们的位地址范围为00H~7FH,如表2-5所列。 * 表2-5 位寻址区的位地址 * 表2-5 位寻址区的位地址(续表) * 4.工作寄存器区 工作寄存器区的地址范围为00H~1FH,共有32个RAM单元,分为4组,每组占8个RAM单元,分别对应8个工作寄存器,用代号R0~R7表示。 R0~R7可以是4组中的任一组,用户可以通过改变PSW中RS1、RS0的状态选择其中的一组作为当前工作寄存器。R0~R7的物理地址与RS1、RS0的状态之间的关系如表2-6所示。 * 表2-6 工作寄存器的地址与RS1、RS0的关系 例如,当RS1、RS0为00时,选择第0组为当前工作寄存器,此时,R0~R7的字节地址为00H~07H;当RS1、RS0为01时,选择第一组为当前工作寄存器,此时,R0~R7的字节地址为08H~0FH,其余依此类推。 * 【项目应用】 在应用项目中通过编号为87的指令选择第一组工作寄存器。 …… 87 SETB RS0 ;选择第一组工作寄存器 …… 在此指令之前,PSW中RS1、RS0的状态为初始状态00H,所以使用的工作寄存器组为第0组;在此指令之后至恢复PSW状态之前,凡是程序中的工作寄存器都属于第一组,尽管使用的符号与第0组相同,但由于它们对应的物理地址不同,因此,实际对应的存储单元也不同。 * (4)执行完第一条指令后,定时与控制器又控制PC加1器,将程序计数器PC中的地址加1,变成0052H,从而指向下一条指令的首字节,为执行下一条指令做准备。 * (5)重复上述类似的过程,并通过使用暂存寄存器TMP1、TMP2,寄存器B和运算器ALU,便可以完成第2~第4条指令的执行,最终实现将ACC中的数据(01H+02H=03H)与B中的数据(03H)相乘,所得乘积的高8位(00H)送入B,低8位(09H)送入ACC,从而完成程序要求的(1+2)?×?3运算。乘法指令之所以用到B、ACC两个寄存器存放乘积,是考虑到两个8位数的乘积有可能会超过8位。 * (6)程序的最后一条指令是停机指令,执行到这条指令时,定时与控制器将不再控制PC加1,而是将PC的值置换为0058H,使之又指向该指令本身的首字节,使得接下来再执行的还是该指令,循环往复,从而实现“动态停机”。 读者只要理解了上述的CPU工作过程,就不难理解单片机CPU的工作原理或MCS-51单片机的工作原理。 * 2.2.3 CPU的时钟和时序 单片机CPU的时钟信号,可以采用内部时钟,也可以采用外部时钟。 (1)内部时钟 内部时钟信号的产生方法,是通过在单片机的XTAL1、XTAL2引脚外接石英晶体振荡器和微调电容,以使MCS-51单片机内部的

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档