2.1 51系列单片机的内部结构
8051单片机是由中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、串行接口、并行I/O接口、定时/计数器、中断系统等几大单元,以及数据总线、地址总线和控制总线组成的。8051系列单片机的内部结构框架示意图如图2.1所示。
图2.1 8051系列单片机的内部结构框图
2.1.1 内部结构的主要组成部分
单片机的性能都反映在单片机所特有的结构和资源上。这里首先介绍8051单片机基本结构的主要组成部分。
1.中央处理器(CPU)
中央处理器(CPU)是整个单片机的核心部件。51系列单片机是8位数据宽度的处理器,它能处理8位二进制数据或代码。CPU主要由算术逻辑部件、控制器和专用寄存器三部分电路组成,这个将在后面详细介绍。它负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入/输出功能等操作。
2.程序存储器(ROM)
8051单片机共有4096个8位掩膜ROM,用于存放用户程序、原始数据或表格。有些新型的单片机,如AT89S52采用的是Flash存储器。
3.数据存储器(RAM)
8051单片机内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的。专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据。所以,用户能使用的RAM只有128个。这些单元可存放读/写的数据、运算的中间结果或用户定义的字型表。对于一些新型的单片机,内部RAM的单元可能更多,例如AT89S52的内部有256个RAM数据存储单元。
4.定时/计数器
8051有两个16位的可编程定时/计数器,以实现定时或计数。它也可以产生中断,从而控制程序转向。
5.并行输入/输出(I/O)口
单片机需要和外部设备进行通信,以便于处理外部的输入和将运算结果反馈到外部设备。8051共有4组8位I/O口(P0、P1、P2和P3),用于对数据的读入和输出。
6.全双工串行口
8051内置一个全双工串行通信口,用于与其他设备间的串行数据传送。该串行口既可以用做异步通信收发器,也可以用做同步移位器。
7.中断系统
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断。这些功能可满足不同的控制要求,并具有2级的优先级别选择。
8.时钟电路
8051内置最高频率达12MHz的时钟电路,可以外置振荡晶振和电容,便可以产生整个单片机运行的脉冲时序。设计人员也可以采用外部的时钟源作为工作时钟。
2.1.2 单片机结构的类型
按照程序存储器和数据存储器的体系结构,单片机大致有如下两种类型。
◆ 一种是程序存储器(ROM)和数据存储器(RAM)分开的形式,即哈佛(Harvard)结构。这种结构便于对程序和数据同时访问,可以减轻程序运行时的访存瓶颈,提高数据的吞吐率。
◆ 一种是采用通用计算机广泛使用的程序存储器(ROM)与数据存储器(RAM)合二为一的结构,即普林斯顿(Princeton)结构,也称为冯·诺伊曼结构。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。
例如,Intel的MCS-51系列单片机普遍采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。