51单片机存储器补充理解

一、有关于存储器

1、先来一张内部存储器的图

在这里插入图片描述

  • MOV指令 —— 对应于内部的 RAM
  • MOVX 指令 —— 对应于外部的 RAM
  • MOVC 指令 —— 对应于 内部的ROM + 外部的 ROM (c可以看作是code 所以对应 ROM)

2、特殊功能区域

  • 对于内部的 ROM 来说,开头的一段被 固化 了一些特殊的功能(中断向量):
    在这里插入图片描述

插入中断:
当我们对应的事件发生之后,比如计数器溢出,外部中断来临,串口缓存器填满,这些操作都会使对应的状态标志位置位

cpu 想要处理这些事件,有两种选择。
1、 轮询去查找标志位 : 适用于相对确定的场景,比如每隔半小时会有一个信号,那我们就每隔半小时去检查一下。(cpu主动去检测)
2、中断方式: 具有随机性,我们不知道这个中断信号什么时候来,当他来的时候,硬件会自动通知 CPU ,让cpu做出相应的处理。(cpu 被动被通知)

设置中断向量表:
意思就是当对应的中断来临之后,cpu 会到对应的中断向量地址处去执行代码
但是由于cpu 设计的厂商不确定我们的中断程序到底有多大,所以让我们在对应的中断向量表的地方放一条跳转指令

在汇编程序中的体现:
在这里插入图片描述
注: ORG 0003H : 指明下一条指令将要放到这个地址处。(明显是跳转到 另一个标号去执行对应的中断处理程序)

问:为什么中断向量处的地址要预留出 8 个字节的空间呢?
答:cpu 厂商在生产时候固定好的,虽然我们的跳转指令只是单字节指令

  • 对于内部的 RAM 来说也有
    在这里插入图片描述
    1、有关工作寄存器组
    在这里插入图片描述
    2、有关位存储区
    在这里插入图片描述

分析指令: MOV C, 20H;
C: 是 psw 的最高位(是一个 bit)
20H: 是对应的位地址区 24H的第0位。

猜你喜欢

转载自blog.csdn.net/vincent3678/article/details/110083723