MCS-51 单片机的结构和工作原理

 

一、MCS-51单片机的基本组成

 

MCS-51单片机芯片有许多种,如8051、8031、8751、80c51、80c31等。它由中央处理器(CPU)、时钟电路、程序存储器(ROM/EPROM)、数据存储器(RAM)、并行I/O口(P0~P3)、串行口、定时器/计数器及中断系统组成。它们通过单一总线连接,并被集成在一块半导体芯片上,即单片微型计算机(Single-Chip Microcomputer)。

二、8051单片机内部结构和功能

 

中央处理器CPU

中央处理器CPU是单片机内部的核心部件,它决定了单片机的主要功能特性,由运算器和控制器两部分组成。

1、  运算器

运算器是计算机的运算部件,用于实现算术逻辑运算、位变量处理、移位和数据传送等操作。它是以算术逻辑单元ALU为核心,加上累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字PSW以及十进制调整电路和专门用于位操作的布尔处理器组成。

(1)算术逻辑单元

算术逻辑单元ALU用来完成二进制数的四则运算和布尔代数的逻辑运算。此外,通过对运算结果的判断影响程序状态标志寄存器的有关标志位。

(2)累加器

累加器ACC为8位的寄存器,是CPU中使用最频繁的寄存器。它既可以用于存放操作数,也可以存放中间结果。MCS-51中大部分单操作数指令的操作数就取自累加器ACC,许多双操作数指令中的一个操作数也取自累加器ACC,单片机中大部分数据操作都通过累加器ACC进行的。

(3)寄存器B

寄存器B是个8位寄存器,是为ALU进行乘除运算设置的。在执行乘法运算指令时,寄存器B用于存放其中一个乘数和乘积的高8位。在执行除法时,用于存放除数和余数。还可以作为一般的寄存器来使用。

(4)程序状态字PSW

程序状态字PSW是个8位的特殊功能寄存器,它的各位包含了程序运行的状态信息,以供程序查询和判断。PSW格式和含义如下:

1)      Cy  进位标志位。Cy是PSW中最常用的标志位。由硬件或软件置位和清零。它表示运算结果是否有进位(借位)。如果运行结果在最高位有进位输出(加法)或借位输入(减法)时,则Cy由硬件置“1”;否则Cy被请“0”。

2)      AC  辅助(半)进位标志。当执行减法运算时,运算结果产生低四位向高四位进位或借位时,由硬件置“1”;否则清“0”。

3)      F0  用户标志位。由用户定义使用。

4)      RS1和RS0  工作寄存器组选择位。这两位的值决定选择哪一组寄存器作为当前寄存器组。

5)      OV  溢出标志位。

6)      未定义。

7)      P  奇偶标志位。P标志表明ACC中1个数的奇偶性。在每条指令执行完后,单片机根据ACC内容对P位自动置位或复位。若累加器ACC中有奇数个1,则P=1;若累加器ACC中有偶数个1,则P=0。

(5)布尔处理器

2、  控制器

控制器是计算机的指挥控制部件,它包括程序计数器PC、指令寄存器IR、指令译码器ID、数据指针DPTR、堆栈指针SP以及定时控制与条件转移逻辑电路等。它对来自存储器中的指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的控制信号,使各种部件协调工作,完成指令所规定的操作。

(1)程序计数器PC(Program Counter)

PC是一个16位计数器。实际上PC是程序存储器的字节地址计数器,其内容是将要执行的下一条指令的地址,寻址范围达64k(216=65536=64k)。PC有自动加1的功能,从而实现程序的顺序执行。可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。

(2)指令译码器ID

当指令取出经指令寄存器IR送至指令译码器ID时,ID对该指令进行译码,即把指令转变成所需的电平信号。CPU根据ID输出的电平信号使定时控制电路定时地产生执行该指令所需的各种控制信号,以使计算机能正确执行程序所要求的各种操作。

(3)数据指针DPTR

数据指针DPTR为16位寄存器。它的功能是存放16位的地址,作为访问外部程序存储器和外部数据存储器的地址。编程时,DPTR即可按16位寄存器使用,也可以按两个8位寄存器使用,即DPH为DPTR高8位,DPL位DPTR的低8位。

存储系统

8051单片机在系统结构上采用哈佛结构,将程序和数据分别存放在两个存储器内。它与采用冯·诺依曼结构,程序和数据共用一个存储器的通用计算机不同。8051的存储器在物理结构上分为程序存储器(ROM)和数据存储器(RAM),有四个物理上相互独立的存储空间,即片内ROM和片外ROM,片内RAM和片外RAM。

从用户使用的角度看,8051存储空间分为三类:片内、片外统一编址0000H~FFFFH的64k程序存储器地址空间;256字节数据存储器地址空间,地址为:00H~FFH,64k片外数据存储器或I/O地址空间。

上述的三个地址空间是重叠的,即程序存储器中片内外低4k地址重叠;数据存储器与程序存储器64k地址全部重叠;数据存储器中片内外低256字节地址重叠。虽然地址重叠,但由于采用了不同的操作指令及控制信号EA、PSEN的选择,因此不会发生混乱。

1、程序存储器

程序存储器用来存放程序代码和常数,分为片内、片外两大部分,即片内ROM和片外ROM。其中8051内部有4K的ROM,地址范围为0000H~0FFFH,片外用16位地址线扩充64K的ROM,两者统一编址。

单片机从片内ROM取指令(EA=1)还是从片外ROM(EA=0)取指令,取决于CPU引脚EA的电平高低。

8051从片内ROM和片外ROM取指令时执行速度相同。

在程序存储器中有些特殊单元。

0000H~0002H   系统复位向量区

0003H~000AH   INT0中断地址区

000BH~0012H   T/C0中断地址区

0013H~001AH   INT1中断地址区

001BH~0022H   T/C1中断地址区

0023H~002AH   串行口中断地址区

2、片内数据存储器

数据存储器用来存放运算的中间结果、标志位,以及数据的暂存和缓冲等。分为片内、片外两部分。8051片内数据存储器按功能划分为低128(00H~7F)单元和高128(80~FFH)单元。

3、片外数据存储器

片外数据存储器,即片外RAM,一般由静态RAM芯片组成。用户可根据需要确定扩展存储器的容量,MCS-51单片机访问片外RAM可用特殊功能寄存器--数据指针DPTR,最大容量为64K。

片外RAM地址范围为0000H~FFFFH,其中0000H~00FFH区间与片内数据存储空间是重叠。CPU使用MOV指令和MOVX指令加以区分。

三、MCS-51单片机的引脚功能

 

MCS-51系列单片机芯片均为40个引脚。引脚功能描述如下:

1、电源引脚VSS和VCC

VSS为电压接地端,VCC为+5V电源端。

2、时钟电路引脚XTAL1和XTAL2

XTAL1和XTAL2是外接晶振引线端。

当使用芯片内部时钟时,此二引脚外接石英晶体振荡器和电容;当使用外部时钟时,用于接外部脉冲信号。

3、控制信号引脚ALE、PSEN、EA和RST

(1)ALE/PROG

此引脚是地址控制锁存控制信号。在访问外部存储器时,ALE用于锁存出现在P0口的低8位地址,以实现低位地址和数据的隔离。

(2)PSEN

此引脚是片外程序存储器的选通信号,低电平有效。在从片外ROM读取指令或常数时,每个机器PSEN两次有效,以实现对ROM单元的读操作。当访问片外RAM时,PSEN信号将不出现。

(3)EA/VPP

此引脚是访问外部程序存储器的控制信号,低电平有效。

(4)RST/VPD

此引脚为复位信号,高电平有效。当此输入端保持2个机器周期以上的高电平,就可以使单片机复位。

4、I/O(输入、输出)端口P0、P1、P2和P3

(1)P0口(P0.0~P0.7)P0口是一个漏极开路的8位双向I/O口,每位能驱动8个LS型TTL负载。在访问片外存储器时,P0分时提供低8位地址线和8位双向数据线。当不接片外存储器或不扩展I/O时,P0口可作为一个通用输入输出口。当P0口作为输入口使用时,应先P0口向锁存器写“1”,此时P0口全部引脚浮空,可作为高阻抗输入。当P0口作为输出时,由于输出电路为漏极开路,驱动NMOS电路时必须外接上拉电阻。

(2)P1口(P1.0~P1.7)P1口是一个带内部上拉电阻的8位准双向I/O口,每位能驱动4个LS型TTL负载。P1口只能作通用输入/输出口用。当P1口作为输入口使用时,应先向P1口锁存器写“1”,此时P1口引脚由内部上拉电阻拉成高电平。当P1口作为输出口时,已能向外提供推拉电流负载,无需在外接上拉电阻。

(3)P2口(P2.0~P2.7)P2口是一个带内部上拉电阻的8位准双向I/O,每位能驱动4位LS型TTL负载。在访问片外存储器时,它输出高8位地址。

(4)P3口(P3.0~P3.7)P3口为双功能口,除了作为一般的准双向通用的I/O口使用外,每个引脚都有第二功能。

引脚信号的第二功能引脚

P3口的第二功能引脚

引脚

第二功能

信号名称

P3.0

RxD

串行数据接收

P3.1

TxD

串行数据发送

P3.2

INT0

外部中断0

P3.3

INT1

外部中断1

P3.4

T0

定时器/计数器0计数输入

P3.5

T1

定时器/计数器1计数输入

P3.6

WR

外部RAM写选项

P3.7

RD

外部RAM读选项

四、MCS-51单片机的时序

   

在执行指令时,单片机通常将一条指令分解为若干基本的微操作。这些微操作对应的脉冲信号在时间上的先后次序称为单片机的时序。单片机的时序可以由片内振荡器(外接晶振和微调电容)或外部时钟信号提供。

CPU时序

1、时序定时单位

MCS-51的时序定时单位从小到大依次为节拍、状态、机器周期和指令周期。

(1)节拍和状态

把振荡脉冲周期定义为节拍。每两个节拍即为一个状态。

(2)机器周期

MCS-51采用定时控制方式,有固定的机器周期,为6个状态,即12个振荡周期。当振荡频率为12MHZ时,一个机器周期为1us。

(3)指令周期

指令周期是最大的定时单位,执行一条指令所需的时间称为指令周期。MCS-51的指令周期可分为一、二、四个机器周期。

2、MCS-51指令的取指及执行时序

按长度MCS-51单片机的指令可分为单字节指令、双字节指令和三字节指令。执行这些指令所需的机器周期数目不同。在单字节指令中只有乘法指令和除法指令是四个机器周期,其余均为单机器周期或双机器周期;双字节指令为单机器周期或双机器周期;三字节指令都是双机器指令。

3、访问片外ROM和RAM的时序

(1)片外ROM读时序

1P0口作为地址信号输出线,用于输出程序存储器的低8位地址PCL。P2口用于输出程序存储器的高8位地址PCH。P2口具有锁存功能,而P0口除了输出地址外,还要输入指令,故需要用ALE把P0口输出的低8位地址PCL锁存起来。在每个机器周期中允许地址锁存器两次有效,在ALE由高变低时,锁存出现在P0口上的低8位地址PCL。

2从片外ROM读取指令,除了ALE外,还需PSEN(片外ROM选通)信号有效,选通片外ROM芯片的使能端,读出的指令从P0口送入单片机。

(2)片外RAM读写时序

前述ROM操作是为了取指令,因此把相应的机器周期称为取指周期,而片外RAM的读或写操作则是为了读写数据,属于指令的执行周期。

说明:

1、第一个机器周期是读片外ROM的取指时序,第一个ALE锁存由P0送出指令的低8位地址PCL,P2口是指令的高8位地址PCH,不需要锁存。在S3与S4P1期间,PSEN选通片外ROM,读出指令。

2、第一个机器周期的S4之后,送出片外RAM地址,第二个ALE锁存P0送出的片外RAM的低8位地址。

3、在第二个机器周期中,第一个ALE信号不再出现,PSEN也保持高电平无效,但读选通信号(RD)从第二个机器周期S1P1开始有效,选通片外RAM,进行RAM的读操作。被寻址的RAM单元把有效数据送入P0口,CPU通过P0口是读入数据。

4、第二个机器周期的第二个ALE信号仍然出现,也进行一次片外ROM读操作,但属无效操作。

五、MCS-51的最小系统

1、什么是最小系统

个人理解为:使系统正常工作的必不可少的外围电路所构成的电路系统。如MCS-51系列单片机要正常工作需要电源、时钟电路(外接晶振和微调电容)和复位电路。这样由MCS-51系列芯片如8051、电源、时钟电路和复位电路构成的数字电路系统即为MCS-51的最小系统。

MCS-51 单片机的结构和工作原理相关推荐

  1. 第二章 MCS-51单片机硬件结构与工作原理

    第二章 MCS-51单片机硬件结构与工作原理 2.1 MCS-51单片机的硬件结构 2.2 引脚介绍 2.3 复位电路 2.4 寄存器 2.5 时序 2.6 MCS-51的工作方式 2.1 MCS-5 ...

  2. 51单片机定时/计数器的工作原理

    定时/计数器的最基本工作原理是进行计数.对内部时钟脉冲进行计数时,作为定时器:对外部脉冲信号计数时,则是计数器.不管作为定时器还是计数器,本质上都是计数器. 51单片机有两个定时/计数器:T0/P3. ...

  3. STC51从入门到精通(汇编)~~~ 第三讲:MCS-51单片机的结构和工作原理

    目录 3.1 概述: 3.1.1 MCS-51单片机系列: 3.1.2 单片机芯片的半导体工艺: 3.1.3 片内ROM存储器的配置形式及应用环境: 3.2 中央处理器 CPU: 3.2.1 运算器: ...

  4. 理解51单片机最小系统的工作原理

    51单片机最小应用系统 概述 要想使用单片机,第一个要搭建的电路就是单片机的最小系统,有了这个最小系统单片机就可以去正常的工作,即使没有其他的外围电路(显示器啥的),也可以对单片机进行程序的编写,程序 ...

  5. 51单片机P0~P3口工作原理

    这里写目录标题 P0 作数据/地址引脚 发出信号 接受信号 作通用I/O引脚 P1 P1.x的电路结构 P1.x的工作原理 总结 P2 P2.x的电路结构 P2.x的工作原理 总结 P3 P3.x的电 ...

  6. C51端口结构和工作原理(转)

    一.P0端口的结构及工作原理 P0端口8位中的一位结构图见下图:   由上图可见,P0端口由锁存器.输入缓冲器.切换开关.一个与非门.一个与门及场效应管驱动电路构成.再看图的右边,标号为P0.X引脚的 ...

  7. 第二章 51单片机硬件结构

    第二章 51单片机硬件结构 这一章节主要介绍经典8051微控制器的组成结构.功能特点以及引脚等功能. 1. 组成结构 1.1 8051微控制器 8051系列微控制器是美国Intel公司于八十年代推出的 ...

  8. AD7390的基本结构和工作原理DAC转化SPI

    串行外设接口(Serial Peripheral InteRFace,SPI)是一种高速同步串行输入/输出端口,近年来广泛应用于移位寄存器.D/A转换器.A/D转换器.串行E2PROM.LED显示驱动 ...

  9. DNA复制体结构和工作原理首次被揭示

    来源:科学网 DNA是生命遗传信息的载体,它的复制是生命繁衍过程当中最重要的一步.关于DNA复制分子机制的研究一直是生命科学中最基本的问题之一.近日,美国国立卫生研究院杰出研究员杨薇的课题组揭示了DN ...

最新文章

  1. AI技术的天花板:图灵机无法建立“自我”意识的概念
  2. 【java开发系列】—— spring简单入门示例
  3. go gin框架:请求静态图片资源(可用于搭建图床等应用)
  4. Java使用正则表达式去掉小数类型字符串多余的.与0
  5. kong 使用jwt RSA256证书
  6. python生成器推导式的结果是一个什么类似于对象_python 生成器和推导式
  7. 有关javabean的说法不正确的是_关于 JavaBean, 下列叙述中不正确的是 ( ) 。_学小易找答案...
  8. MICCAI 2019 :纪录、风向与学术思考
  9. 数据库存储时间的时区问题
  10. SpringBoot+Vue项目校园运动会管理系统
  11. HTML5+CSS大作业——“传统节日--端午节(9页)
  12. NOD32升级账号更新器 [ C# | NOD32 | Eset ]
  13. Ubuntu、Windows双系统下NTFS分区的读写问题
  14. 无线路由频繁掉线9大原因分析
  15. SpringBoot基础知识
  16. 淘系自研前端研发工具 AppWorks 正式发布
  17. 影视剪辑,PR剪辑蒙太奇手法的认识
  18. tcp可靠传输的机制有哪些(面试必看
  19. 2022N1叉车司机操作证考试题库及在线模拟考试
  20. 首批红米Note9Pro陆续到货,网友分享感受:一条差评让人哭笑不得

热门文章

  1. Adobe欲统一相机RAW格式的格式——DNG数码负片_我是亲民_新浪博客
  2. 建立企业的目标---团队凝聚力的开始
  3. YoukuParser 程序 解析优酷视频
  4. 计算机网络分层及原理
  5. 抗震支吊架安装全面解读
  6. PHP针对数字的加密解密类,可直接使用
  7. java web atm机_java笔记——模拟ATM机例子
  8. 百度ai 人脸识别 java_百度ai 接口 人脸识别
  9. 百度之星2017资格赛 1003 度度熊与邪恶大魔王 完全背包
  10. Word——永久修改默认标题和正文样式