80C51单片机逻辑结构
1.电源引脚Vcc和Vss
Vcc:+5V。 Vss:接地端。 通常在Vcc和Vss引脚之间接0.1μ高频滤波电容。
2.时钟电路引脚XTAL1和XTAL2
XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
3.地址锁存允许ALE
在系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6的固定频率向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。
4.外部程序存储器读选通信号PSEN
PSEN是读外部程序存储器的选通信号,低电平有效。CPU从外部存储器取指令时,它在每个机器周期中两次有效
5.程序存储器地址允许输入端EA/VPP
当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。
当EA为低电平时,CPU只执行片外程序存储器指令。
6. 复位信号RST
高电平有效,在输入端保持两个机器周期的高电平后,就可完成复位操作。此外,该引脚还有掉电保护功能,若在该端接+5V备用电源,在使用中若Vcc掉电,可保护片内RAM中信息不丢失
7.输入/输出口引脚P0、P1、P2和P3
P0口:该端口为漏极开路的8位准双向口,负载能力为8高LSTTL负载,它为8位地址线和8位数据线的复用端口。
P1口:它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。
P2口:它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。
P3口:P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。
80C51内部结构
80C51内部数据存储器(内部RAM)
内部RAM有256个单元,通常在空间上分为两个区;低128个单元(00H-7FH)的内部数据RAM块和高128个单元(80H-0FFH)的专用寄存器SFR块。
1、内部RAM低128单元
低128个单元是真正的内部数据RAM区,是一个多功能复用性数据存储器,按用途可分为三个区域
工作寄存器区(00H-1FH):也称为通用寄存器,共有4组寄存器,每组由8个寄存单元组成,每个单元8位,各组均以R0-R7作寄存器编号,共32个单元。
在任一时刻,CPU只能使用其中一组通用寄存器,称为当前通用寄存器组,具体可由PSW中RS1,RS0位的状态组合来确定。
位寻址区(20H-2FH):内部RAM的20H-2FH,共16个单元,计16×8=128位,位地址为00H-7FH。可作字节操作,也可进行位操作
用户RAM区(30H-7FH):所剩80个单元即为用户RAM区,单元地址为30H-7FH。
内部RAM低128单元的使用请注意:
(1)80C51的内部RAM 00H-7FH单元可采用直接寻址或间接寻址方式实现数据传送。
(2)内部RAM 20H-2FH单元的位地址空间可实现位操作。当前工作寄存器组可通过软件对PSW中的RS1、RS0位的状态设置来选择。
(3)80C51的堆栈是*堆栈,单片机复位后,堆栈底为07H,在程序运行中可任意设置堆栈。堆栈设置通过对SP的操作实现。
2.内部RAM高128单元
供专用寄存器使用的,因此称之为专用寄存器区(也称为特殊功能寄存器区,SFR区),单元地址为80H~0FFH。
80C51共有22个专用寄存器,其中程序计数器PC在物理上是独立的,没有地址,故不可寻址,它不属于内部RAM的SFR区。其余的21个专用寄存器都属于内部RAM的SFR区,是可寻址的,它们的单元地址离散地分布于80H~0FFH。
80C51内部程序存储器(内部ROM)
大多数51系列单片机内部都配置一定数量的程序存储器ROM,如80C51芯片内有4KB掩膜ROM存贮单元,AT89C51芯片内部配置了4KB FlashROM,它们的地址范围均为0000H~0FFFH
1.EA引脚接高电平
当EA引脚接高电平,首先在片内程序存储器中取指令,当PC的内容超过0FFFH时系统会自动转到片外的程序存储器中取指令,外部程序存储器的地址从1000H开始编址
2.EA引脚接低电平
当EA引脚接低电平时,单片机自动转到片外程序存储器中取指令(无论片内是否有程序存储器),外部程序存储器的地址从0000H开始编址
复位方式
有上电复位和手动复位。
RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作。