|
1.3 51系列单片机内部结构 |
我们了解了8051单片机的引脚结构后,还需要了解单片机的内部构成。典型的8051单片机包括中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、指令寄存器、串行通信接口、并行I/O接口、定时器/计数器和中断系统等几大组件,这些组件之间通过数据总线、地址总线和控制总线相连。8051系列单片机的典型内部结构,如图1-11所示。
单片机的内部结构是其强大功能的源泉,我们将逐个分析单片机内部各个强大的组成部分。
1.中央处理器(CPU)
中央处理器(CPU)是整个单片机的灵魂,其地位与大脑相对于人体的地位一样。51系列单片机的CPU主要由算术逻辑部件、控制器、通用寄存器、专用寄存器和特殊功能寄存器5部分组成。51系列单片机的CPU采用了8位数据总线宽度的结构,指令和寻址按照8位二进制数据来管理。CPU在单片机运行中负责控制、指挥和调度所有组成单元之间的协调工作,完成核心运算及控制输入/输出功能等操作。
图1-11 8051系列单片机的内部结构框图
2.程序存储器(ROM)
程序存储器(ROM)主要用于存放用户程序,程序由用户自己来编写。程序存储器还可以存放固定数据或者表格等。早期的8051单片机共有4K个8位掩膜ROM,有些则提供了更大的程序存储器,这种程序存储器需要专门的、昂贵的设备来进行编程。目前新推出的一些单片机,均采用了创新的Flash程序存储器构架,编程更为简单方便,例如AT89S51等。
3.数据存储器(RAM)
数据存储器(RAM)主要用于存放程序运行过程中的变量。早期的8051单片机内部共有128个8位用户数据存储单元,程序运算能力有限。目前新推出的一些单片机,内部均集成了更多的RAM单元,有些甚至达到了几十k。大的数据存储器可以可存放更多的读写数据、运算的中间结果或用户定义的字型表等。需要注意的是数据存储器是易失的,即掉电后其内部的数据便完全丢失,但数据存储器的访问时间比较短。
4.指令寄存器
指令寄存器主要用于存放执行的指令。单片机CPU是一种顺序执行的结构,因此,其指令需要逐条通过指令寄存器来执行。
5.定时器/计数器
定时器/计数器就相当于一个方便的闹钟,主要用于单片机硬件的定时或者计数。典型的8051单片机有两个16位的可编程定时器/计数器,以实现定时或者计数两种功能。通过定时器/计数器可以为串口通信组件提供波特率的计量,也可以产生相应的中断控制程序的转向。
6.并行输入/输出(I/O)口
并行输入/输出(I/O)口是单片机与外界进行通信的最主要的接口。典型的8051共有4组8位I/O口(P0、P1、P2和P3),用于对数据的读入和输出。这在前面的并行I/O引脚部分已经进行了详细讲解。通过并行I/O端口,单片机可以读入外部的数据,然后在单片机内部进行运算处理,最后将信息再次反馈到外部设备。
7.全双工串行口(UART)
全双工串行通信口(UART)是一个灵活的通信接口,主要用于与其他设备间的串行数据传送。典型的8051单片机内置一个全双工串行通信口,该串行口可以实现多种工作模式的选择及多种通信速率(波特率)的选择。
8.中断系统
中断系统是一种应急响应系统。典型的8051单片机提供了两个外部中断、两个定时器/计数器中断和一个串行中断。中断系统统一管理所有的中断源的响应,同时这些中断源提供了2级的优先级别供选择。
9.时钟振荡电路
时钟振荡电路为单片机指令的执行提供了一个统一的步调。典型的8051单片机内置了时钟振荡电路,只需外接一个无源晶振和振荡电容便可以工作。时钟振荡电路产生的时钟,是供整个单片机运行的脉冲时序。当然,单片机还提供了灵活的外部时钟源工作方式。这在前面的时钟引脚部分已经进行了详细讲解。
10.单片机的结构类型
按照程序存储器和数据存储器的组织结构,单片机可以划分为哈佛结构和普林斯顿结构两种。
对于哈佛(Harvard)结构,其程序存储器(ROM)和数据存储器(RAM)分开寻址。这样可以实现对程序和数据的同时访问,可有效减少程序运行时的访问瓶颈,提高数据的吞吐率。典型的8051单片机便是这种结构。
对于普林斯顿(Princeton)结构,其程序存储器(ROM)与数据存储器(RAM)进行统一寻址。这样,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。这种结构也称为冯·诺伊曼结构,广泛应用于通用计算机中。有些16位的单片机,例如MCS-96系列单片机,则同样采用普林斯顿结构。