一个微控制器是一个集成电路或芯片,具有处理器和其他支持设备,如程序存储器,数据存储器,I / O端口,串行通信接口等集成在一起。与微处理器不同(例:英特尔8085),微控制器不需要支持设备的任何外部接口。英特尔8051是世界市场上最流行的微控制器。现在让我们详细讨论一下8051微控制器。

在继续之前,您将有兴趣了解微处理器和微控制器之间的区别。我们有一个详细的文章,描述了两者之间的基本差异。

微处理器和微控制器

以下是对本文的各个部分的快速访问: -

销图:-内部架构:-程序存储器组织:-数据存储组织:-8051系统时钟:-8051复位电路

介绍

英特尔在1976年首次生产了一种微控制器用……的名字MCS-48,这是一个8位单片机。在1980年后期,他们发布了一个进一步改进的版本(也是8位的),命名为MCS-51。最流行的8051微控制器属于英特尔公司的MCS-51系列微控制器。随着8051的成功,其他半导体企业纷纷推出了采用MCS-51核心的自有品牌微控制器。全球公司和半导体行业巨头Microchip、Zilog、Atmel、飞利浦、西门子以其品牌名称发布产品。其特点是所有这些设备都可以使用相同的MCS-51指令集进行编程。它们在支持设备配置方面基本不同,如改进的内存、ADC或DAC等。1982年,英特尔发布了其第一款16位微控制器,名为MCS-96

笔记:-阅读关于英特尔的故事和历史–制造第一台微处理器和更多!

8051单片机的包装

不需要解释每个包装的意思,您已经知道了。因此,我将浏览8051的主要用于包装。请参阅,各种包的可用性从设备更改为设备。最常用的是双内联封装(40个引脚) - 普遍称为DIP。8051也可在QFP(四边形封装),TQFP(薄型扁平包装),PQFP(塑料四边形封装)等中提供。用于解释针图,我们使用了40针DIP IC作为模型。

8051微控制器架构

可以非常详细地解释微控制器体系结构,但我们将本文的范围限制在内部体系结构、引脚配置、程序内存和数据内存组织。MCS-51系列的基本架构保持不变。通常,MCS-51系列中的所有微控制器都用XX51表示,其中XX可以取80、89等值。

原理图和特征

8051基本原理图

8051单片机的总体原理图如图所示。我们可以看到3个系统输入,3个控制信号和4个端口(用于外部接口)。Vcc电源和接地也显示。现在让我们来详细地解释一下。系统输入是使微控制器正常工作所必需的。因此,第一个也是最重要的是功率,用GND(地电位)标记为Vcc。没有适当的电源供应,任何电子系统都无法工作。XTAL 1和XTAL 2用于晶体时钟电路的系统时钟输入。RESET输入需要将微控制器初始化为默认值/期望值并重新开始。

有3个控制信号,EA,PSEN和ALE。这些称为外部访问(EA)的信号,程序存储使能(PSEN)和地址锁存使能(ALE)用于外部存储器接口。

看看下面是示意图(功能微控制器)

8051功能图

如上所述,控制信号用于外部存储器接口。如果没有外部内存接口的要求,EA引脚被拉高(连接到Vcc),另外两个PSEN和ALE则被保留。您还可以看到0.1微法拉去耦电容连接到Vcc(以避免高频振荡在输入)。

有四个端口编号为0,1,2,3,称为端口0、端口1、端口2和端口3,用于DAC、ADC、7段显示器、LED等设备的外部接口。每个端口有8条I/O线,它们都是位可编程的。

8051引脚图和说明

8051微控制器引脚图

为了描述8051的引脚图和引脚配置,我们考虑了40引脚DIP(双列直插封装)。现在,让我们详细介绍引脚配置。

Pin-40:名为Vcc的是主电源。通常为+5V直流电。

您可能会注意到,某些管脚指定有两个信号(显示在括号中)。

PIN 32-39:称为端口0(P0.0至P0.7)–除了用作I/O端口外,低阶地址和数据总线信号与该端口多路复用(用于外部存储器接口)。这是一个双向I/O端口(8051中唯一的一个),需要外部上拉电阻器才能将此端口用作I/O。

Pin-31: -EA /外部访问输入用于启用或禁止外部存储器接口。如果没有外部内存要求,则通过将其连接到VCC,将该引脚拉高。

Pin-30: -ALE又名地址锁存使能(Address Latch Enable)用于解复用端口0的地址数据信号(用于外部存储器接口)。每个机器周期有2个ALE脉冲可用。

引脚-29:-PSEN或Program Store Enable用于从外部程序存储器读取信号。

引脚-21-28:-被称为端口2(P2.0至P2.7)–除了用作I/O端口外,高阶地址总线信号与该准双向端口进行多路复用。

引脚20:-命名为Vss–它表示接地(0 V)连接。

插脚18和19:-用于连接外部晶体以提供系统时钟。

引脚10 - 17:-称为端口3.此端口还提供了其他一些功能,如中断,定时器输入,外部存储器接口RD和WR的控制信号,串行通信信号RXD和TXD等。这是一个具有内部拉伸的准双向端口。

销9: -如前所述,RESET引脚用于设置8051微控制器的初始值,而微控制器正在工作或在最初的应用程序开始。RESET引脚必须为2个机器周期设置高。

引脚1 - 8:-称为端口1。与其他端口不同,此端口不提供任何其他功能。端口1是一个内部上拉的准双向I/O端口。

8051内部结构

8051内部图

不需要任何详细的解释就可以理解8051微控制器的内部结构。只要看上面的图表,你就会仔细观察它。系统总线将所有支持设备与中央处理器相连。8051系统总线由8位数据总线、16位地址总线和总线控制信号组成。从图中可以看出,所有其他设备(如程序存储器、端口、数据存储器、串行接口、中断控制、定时器和中央处理器)都通过系统总线连接在一起。RxD和TxD(串行端口输入和输出)与端口3连接。

8051年记忆组织

在深入研究8051的内存体系结构之前,让我们先讨论一下可用于同一系统的两种变体。他们是普林斯顿建筑和哈佛建筑。普林斯顿体系结构将地址内存和数据内存视为单个单元(不区分两者),而哈佛体系结构将程序内存和数据内存视为单独的实体。因此,哈佛体系结构需要地址、数据和控制总线来分别访问它们,而普林斯顿体系结构不需要任何这样的单独总线。

例如:-8051微控制器基于哈佛体系结构,8085微处理器基于普林斯顿体系结构。

因此,8051具有两个存储器: - 程序存储器和数据存储器

程序记忆组织

8051程序存储器

现在让我们深入了解8051的程序内存组织。它有一个4K大小的内部程序,如果需要,可以添加(通过接口)最大60K大小的外部内存。因此,总共有64K大小的内存可用于8051微控制器。默认情况下,外部访问(EA)引脚应连接到Vcc,以便最初从内部内存获取指令。当超过内存限制(4K)时,控件将自动移动到外部内存以获取剩余指令。如果程序员只想从外部存储器获取指令(绕过内部存储器),则必须将外部访问(EA)引脚连接到接地(GND)。

您可能已经知道,8051具有锁定程序内存(内部)的特殊功能,因此可以防止软件盗版。此功能由程序锁定位启用。一旦这些位被编程,内部存储器的内容就不能使用外部电路访问。如果外部存储器也用于存储软件代码,则无法锁定软件。只能锁定和保护内部内存。一旦锁定,这些位只能通过内存擦除操作解锁,这反过来也会擦除内存中的程序。

8051具有流水线功能。流水线使处理器能够在执行前一条指令的同时获取下一条指令。它有点像多任务,一次做多个操作。8051能够在执行前一条指令时提取下一条指令的第一个字节。

数据存储器组织

8051数据存储器

在MCS-51系列中,8051有128字节的内部数据存储器,它允许接口最大大小为64K的外部数据存储器。因此,在8051中数据内存的总大小可以达到64K(外部)+ 128字节(内部)。仔细观察图表以获得更多的理解。所以有3个分离/划分的数据存储器:- 1)寄存器银行2)位可寻址区域3)便笺区。

8051 -内部RAM

寄存器组构成内部内存中最低的32字节,有4个寄存器组,分别指定为bank#0、#1、#2和#3。每个银行有8个寄存器,它们被指定为R0、R1…R7。一次仅选择一个寄存器组进行操作,并使用助记符R0..R1访问所选寄存器组内的寄存器。。其他寄存器只能通过直接寻址同时访问。寄存器用于在执行期间存储数据或操作数。默认情况下,选择寄存器组#0(在系统重置后)。

8051的位可寻址区域通常用于存储位变量。位可寻址区域由寄存器组旁边的16个字节组成。它们是从地址20H到2FH(总共128位)指定的。在这128位(从20H到2FH)中,每个位可以从00H到7FH访问。位可寻址区主要用于存储应用程序中的位变量,如LED或电机(开/关)等输出设备的状态。我们只需要一个位来存储此状态,使用完整的字节可寻址区来存储此状态是非常糟糕的编程实践,因为它会导致内存浪费。

擦痕垫区域是用于通用存储的80字节。刮擦垫区域从30H到7FH,这也包括堆栈。

8051系统时钟

8051时钟频率电路

8051时钟电路如上图所示。一般情况下,使用石英晶体制作时钟电路。连接如图(a)所示,请注意与XTAL 1和XTAL 2的连接。在某些情况下使用外部时钟源,您可以看到上面的各种连接。时钟频率限制(最大和最小)可能因设备而异。标准做法是使用12MHz频率。如果涉及串行通信,则最好使用11.0592 MHz频率。

8051机器循环波形

好的,看看上面的机器循环波形。时钟源的一个完全振荡称为脉冲。两个脉冲形成状态,六个州形成一个机器循环。另请注意,有两个机器循环可用的两个斑点。

8051复位电路

微控制器复位电路

8051可以通过两种方式复位:1)上电复位–在通电时复位8051;2)手动复位–仅在手动按下按钮时复位。上面显示了两种不同的复位电路。复位不会影响内部RAM的内容。要进行复位,复位输入引脚(引脚9)必须在至少2个机器周期内处于高激活状态。在复位操作期间:-清除程序计数器并从00H开始,选择寄存器组#0作为默认值,堆栈指针初始化为07H,所有端口都用FFH写入。

作者

48注释

  1. 罗希塔什·辛格

    有四个端口,但是端口o和端口2不理解,请解释这两个端口,这个输出或输入的目的是什么。哪里才能得到正确的输出。

  2. Shalu.

    它的好。谢谢你

  3. 高丽

    这对于理解8051是一个很好的解释。
    谢谢。等待其他控制器PIC和ARM的解释以及Rasberry PIE

  4. namrata.

    真棒的文章,先生。希望有更多这样的文章。

  5. 比拉尔·马利克

    写作很好的文章

  6. 约瑟夫·格雷戈拉西

    大家好,
    我是学生,我正在做最后一年的项目。我希望知道可以在8051的输入端口和理想电压下给出的最小电压是多少,因此8051可以将其读取为高(1)输入。

    谢谢
    约瑟夫

    • Jojo.

      @Joseph - 这取决于!您阅读制造商数据表了解这一点。它与制造商变化。一个想法是通过使用Opamps来调节来自传感器/输入信号的虚弱电压,并将其水平提高到5V。

      • 潘多斯蒂芬

        我是三年级的学生,我正在做一个项目,使用8051微控制器基本图章2。请告诉我如何连接到电路

  7. 拉利特

    8051微控制器中位可寻址存储器限制为16字节的原因

  8. Bhaskar肯定

    很有帮助,谢谢

  9. bhavin

    我正在使用8051做项目。请告诉我8051的使用方法。我的项目是能量最大需求控制器

  10. p . jesal

    你好
    我正在用8051做一个太阳能逆变器,请给我一些指导和电路。
    我还建造了一个太阳能追踪器..所以现在我正在移动一步才能建造逆变器。

  11. 苏希玛

    超链接解释。。这真的很好,你可以很容易地理解我们需要的概念,更像你能提供的奔腾功能?

  12. 梅嘉娜

    这是很好的解释
    8051单片机为什么采用总线控制

    • 克里希纳Chaitanya

      公共汽车是一个地方,在8051的每个街区是相互连接的。所以当我们把数据从一个块发送到另一个块时,我们需要使用总线。但是当使用多个块进行数据传输时就会出现问题,通过总线控制逻辑可以解决这一问题。
      总线控制逻辑在数据传输中起着关键作用。

  13. 梅嘉娜

    这是个很好的答案
    8051单片机为什么采用总线控制

  14. 弗兰克·唐纳德

    很好的一个......。在关于MC的各种编程概念中,如果你解释嵌入式C编程,那么很棒

  15. lahiru

    我需要将IC8051添加到PIC C程序。
    我在那里使用reg51.h文件。
    在那我应该设置设备名称。
    我应该使用的名字是什么?

  16. Pradeepkumar.

    很好的解释。它具有读取8051内核及其体系结构的重要信息。感谢您撰写本文。
    这将更有帮助,还有更多的概念将被解释,如配置计时器,计数器,中断…

    再次感谢

  17. nidhi rathi

    时序贴点镍镨vob daldo plzzz ar uski preaszati​​on b ...

  18. 戈文德

    在8051单片机中,电容为什么被放置在VCC和复位之间

  19. bhushan waghmare

    哇,太棒了

  20. 戈帕尔

    用清晰的语言进行精彩的解释。继续……

  21. Jeesha Modi.

    我的问题是为什么电容器用于8051的水晶CKT和值为33pf为什么???

    • gurmukh singh.

      电容器与振荡器一起使用,因为振荡器的输出是具有诸如具有非常高频率的噪声(谐波失真)的时钟脉冲,现在通过使用这些陶瓷CPacitors,高频噪声将被接地,并且提供了具有比较低频率的时钟脉冲到MC几乎没有失真。

  22. 大理乃都

    很好的解释

  23. 普拉巴卡尔

    我想知道。为什么保持8052微控制器的名称。它是什么逻辑

  24. Anurag

    解释得很好,语言简单

  25. 古塔姆·辛格

    我想购买8051微控制器,所以请提供我的制造商地址

    • Jojo.

      你可以从Atmel买AT89S51

  26. 尼希尔

    你好先生,
    我想知道关于16位80286处理器和32位80486处理器架构....
    PLZ帮助我

    • Jojo.

      你好,Nikhil,请继续等。我们一定会写出关于16位和32位架构的文章。

  27. abij

    如果端口1、2、3有内部上拉,那么为什么要连接外部10 k上拉?有必要吗???如果向上拉连接到端口1、2、3,会发生什么情况?

  28. 苏米尔·库马尔·贾哈

    先生良好的解释,

    这对我帮助很大!!!!

  29. 尼图库马兰

    对学生很有帮助的职位。

  30. 哈利卡

    主席先生,定时器和柜台之间有什么区别

    • 阿密特

      计数器:计数并指示任何间隔输入的信号数(事件)。
      ..
      定时器:计数以常数间隔输入的信号数量以指示经过的时间。

    • Lycon

      在简单的单词中,计数器计数在计时器基本上用于时间延迟生成时,不会出现事件。

  31. 卡尼

    对学生非常有用…

  32. Jojo.

    你好,

    你能举个例子吗?

  33. 同名的gupta.

    先生
    在8051微控制器的大多数程序中,我看到“0 * 85,0 * AF等”。这是什么意思?

    • 达克什亚达夫

      在uc的c语言编程中使用c这样的符号
      这意味着将ir 0AF作为十六进制数

  34. 赛特加

    为技术专业学生提供良好的信息。

  35. 你的解释对每个学生来说都是容易理解的,我们想从你那里得到更多的信息,请发给我我的邮箱dhupamsai16@gmail.com

  36. 普拉萨德

    请告诉我关于如何焊接耳机插孔.......

  37. 斯里哈里罗

    棒极了。谢谢分享。
    想要更多这样的。

Baidu