文章目录
1 单片机的内部资源
对于AT89C51来说,其资源如下:
- 1个8位的CPU。
- 4K ROM,128字节RAM。
- 32 IO,Timer,UART,Interrupt。
1.1 单片机引脚
- 4 * 8 = 32 Pin IO
- VCC + GND(VSS)、XTAL1 + XTAL2
- RST:外部复位引脚。
- EA:EA为高电平时时访问片内程序存储器,EA为低电平时访问片外程序存储器。
- ALE:输出锁存信号,用于总线扩展。
- 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)。