
051是MCS-51系列单片机的典型产品。我们用这个代表性的模型来系统地解释单片机的原理。
851单片机包括CPU、数据存储器(RAM)、定时器/计数器、程序存储器(ROM)、并行接口、串行接口和中断系统,以及数据总线、地址总线和控制总线三条总线。现在,我们将分别解释其原理:
数据存储器(RAM):
851有128个8位用户数据存储单元和128个专用寄存器单元,统一寻址。专用寄存器只能用来存储控制指令数据,用户只能访问,不能存储用户数据。所以用户可以使用的RAM只有128个,可以存储读写数据,运算的中间结果或者用户自定义的字体表。
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是一个8位数据宽度的处理器,可以处理8位二进制数据或代码。CPU负责控制、指挥和调度整个单元系统的协调,完成计算和控制输入输出功能等操作。了解中央处理器cpu对于理解单片机原理非常重要。
程序存储器(ROM):
851中有4096个8位掩码rom,用来存储用户程序、原始数据或表格。
全双工串行端口:
051内置全双工串行通信端口,用于与其他设备进行串行数据传输。该串口既可用作异步通信收发器,也可用作同步移位器。
中断系统:
051具有完善的中断功能,包括两个外部中断、两个定时器/计数器中断和一个串行中断,可以满足不同的控制要求,并具有两个优先级。
时钟电路:
8051内置最高频率为12MHz的时钟电路,用来产生整个单片机的脉冲序列,但8051单片机需要外接振荡电容。
并行输入输出(I/O)端口:
851中有四组8位I/O口(P0,P1、P2或P3),用于传输外部数据。
计时/计数器(只读存储器):
851有两个16位可编程定时器/计数器来实现定时或计数,以产生控制程序导向的中断。
单片机的原理有两种,一种是程序存储器和数据存储器分开的形式,即哈佛结构,另一种是通用计算机中广泛使用的程序存储器和数据存储器合二为一的结构,即普林斯顿结构。英特尔 MCS-51系列MCU采用哈佛结构,后续产品MCS-96系列MCU采用普林斯顿结构。
下图是MCS-51单片机的原理图。
MCS-51单片机关键引脚描述:
MCS-51系列单片机中的8031、8051和8751均采用40针封装的双列直插式结构。右图显示了它们的引脚配置。40个管脚中,有两条正电源和地线,两条外接应时振荡器的时钟线,四组8位I/O口,中断口线与P3口线复用。现在让让我们解释一下这些引脚的功能:
插脚20:接地插脚。
Pin40:正电源引脚,正常工作或对片内EPROM编程时接5V电源。
pin 19:clock的XTAL1引脚,片内振荡电路的输入。
Pin18: clock XTAL2引脚,片内振荡电路的输出。
051时钟有两种方式,一种是片内时钟振荡,但需要在18脚和19脚连接应时晶体(2-12MHz)和振荡电容,振荡电容的值一般为10p-30p。另一种是外部时钟模式,即XTAL1接地,外部时钟信号从XTAL2引脚输入。
输入和输出(I/O)引脚:
Pin39-Pin32为P0.0-P0.7输入/输出引脚,Pin1-Pin1为P1.0-P1.7输入/输出引脚,Pin21-Pin28为P2.0-P2.7输入/输出引脚,Pin10-Pin17为P3.0-P3.7输入/输出引脚。这些输入/输出引脚的功能描述将在以下内容中描述。
引脚9:复位/VPD复位信号复用引脚。8051上电时,时钟电路开始工作,reset引脚上出现超过24个时钟周期的高电平,系统初始复位。初始化后,程序计数器PC指向0000H,P0-P3的输出端口都为高电平,堆栈时钟写入07H,其它特殊寄存器清零0 & gt;RESET从高电平降到低电平后,系统从0000H地址开始执行程序。但是,初始复位不会改变RAM(包括工作寄存器R0-R7)的状态,8051的初始状态如下:
851可以自动或手动复位,如下图所示。另外,RESET/Vpd也是一个复用引脚,在Vcc掉电时可以接入备用电源,保证单片机内部RAM中的数据不丢失。
pin 31:EA/VPP程序存储器内外选通线,8051和8751单片机,内置4kB程序存储器。当EA处于高电平且程序地址小于4kB时,将读取内部程序存储器指令数据,而当地址超过4kB时,将读取外部指令数据。如果EA为低电平,则无论地址大小如何,都将读取外部程序存储器指令。显然,没有内部程序存储器的8031的EA端必须接地。
编程时,EA/Vpp引脚需要施加21V的编程电压。
pin 30:ALE/访问外部编程器时,ALE(数据锁存)的输出用于锁存地址的低位字节。ALE端在访问内部程序存储器时,会有一个1/6时钟频率的正脉冲信号,用来识别单片机是否工作,也可以作为时钟输出。此外,当访问外部程序存储器时,ALE将跳过一个脉冲。
如果微控制器是EPROM,它将用于在编程期间输入编程脉冲。
Pin29:访问外部程序存储器时,此引脚输出一个负脉冲选通信号,PC的16位地址数据会出现在端口P0和端口P2上,而外部程序存储器会把指令数据放在端口P0上,由CPU读取并执行。









