51单片机内部结构(AT89C51、STC90C51)

2019-04-15 16:04发布

文章目录

1 单片机的内部资源

在这里插入图片描述 对于AT89C51来说,其资源如下:
  1. 1个8位的CPU。
  2. 4K ROM,128字节RAM。
  3. 32 IO,Timer,UART,Interrupt。

1.1 单片机引脚

在这里插入图片描述
  1. 4 * 8 = 32 Pin IO
  2. VCC + GND(VSS)、XTAL1 + XTAL2
  3. RST:外部复位引脚。
  4. EA:EA为高电平时时访问片内程序存储器,EA为低电平时访问片外程序存储器。
  5. ALE:输出锁存信号,用于总线扩展。
  6. PSEN:片外ROM选通信号。

1.2 ROM分配

中断向量地址:00H~2BH
用户程序:向量表后面的都属于用户程序 对于ROM来说,当EA为高电平时会首先访问片内程序存储器,当PC的内容超过片内程序存储器的地址范围时,系统会自动转到片外程序存储器。

1.3 RAM分配

在这里插入图片描述
00H~7FH(128字节) : 即可直接寻址也可以间接寻址。
  • 工作寄存器区(4组,R0~R7): [00H~1FH]
  • 位寻址区: [20H-2FH]
  • 通用RAM区:[30H-7FH]
在这里插入图片描述 8FH~FFH(128字节)
  • SFR:[80-FFH],只能通过直接寻址访问
  • 通用RAM:[80-FFH],只能通过间接寻址访问
对于RAM而言: 使用MOV指令访问内部集成的256字节RAM,使用MOVX访问内部扩展的RAM,内部扩展的RAM地址也是从0开始。

1.4 SFR

PC: 在物理上是独立的,不属于SFR之列。PC的字长为16位。 SP : 堆栈指针,指示堆栈顶部在内部RAM块中的位置,AT89C51的堆栈是向上增长的,并且是满栈。 PSW: 程序状态寄存器。
在这里插入图片描述
  • CY:标志位,最高位有进位或者借位时置位。
  • AC:半字节进位辅助位,方便BCD码加法、减法运算的调整。
  • F0:用户标志位。
  • RS1、RS0:工作寄存器组的选择。
  • OV:溢出标志位。
  • F0:用户标志位。
  • B1:保留位。
  • P:奇偶标志位(累加器ACC中1个个数为奇数置1,为偶数清0)。