单片机的硬件结构(51单片机的组成)

2023-11-10

文章目录

51单片机的组成

在这里插入图片描述(1)8位微处理器(CPU
(2)数据存储器(128B RAM
(3)程序存储器(4KB Flash ROM
(4)4个8位并行I/O口(P0口~P3口)
(5)1个全双工异步串口
(6)2个16位定时器/计数器
(7)1个看门狗定时器
(8)中断系统:5个中断源、5个中断向量;
(9)特殊功能寄存器(SFR)26个;
(10)低功耗的空闲模式和掉电模式;
(11)3个程序加密位;

优点

相比AT89C51,AT89S51有
(1)增加在线可编程功能ISP功能(In System Program),现场程序调试和修改更加方便灵活
(2)数据指针2个,方便对片外RAM的访问过程
(3)看门狗定时器,提高系统抗干扰能力
(4)增加断电标志;
(5)增加掉电状态下的中断恢复模式;

各部件的功能

  • CPU(微处理器)
    8位,包括运算器和控制器两部分,还有位处理功能。
  • 数据存储器RAM
    128B(52子系列为256B),最多可扩64KB。片内RAM为高速RAM,可加快速度和降低功耗
  • 程序存储器(Flash ROM
    4KB Flash(AT89S52 则为8KB;AT89C55片内20KB),如不够,片外可外扩至64KB。
  • 中断系统
    5个中断源,2级中断优先权。
  • 定时器/计数器
    2个16位定时器/计数器(52子系列有3个),4种工作方式。
  • 1个看门狗定时器WDT
    当CPU由于干扰使程序陷入死循环或跑飞时,WDT可使程序恢复正常运行
  • 串行口
    全双工异步串行口,4种工作方式。可进行串行通信,扩展并行I/O口,可与多个单片机构成多机系统
  • P1口、P2口、P3口、P0口:4个8位并行I/O口。
  • 特殊功能寄存器(SFR)

26个,对片内各功能部件管理、控制和监视。是各功能部件的控制寄存器和状态寄存器,映射在片内RAM区80H~FFH内。

引脚的功能

在这里插入图片描述

1.电源引脚

(1)VCC(40脚):+5V电源引脚
(2)VSS(20脚):数字接地

左下脚接地,右上脚接电源

2.时钟引脚

(1)XTAL1(19脚)

输入端,使用片内振荡器时,应接外部石英晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器输出的信号。

(2)XTAL2(18脚):

片内振荡器反相放大器的输出端

  • 使用片内振荡器,该脚连接外部石英晶体和微调电容。
  • 当使用外部时钟源时,本脚悬空。

3. 控制引脚

(1)RST (RESET,9脚)

复位信号输入端
单片机要想复位,需要在RST加持续时间大于2个机器周期的高电平,可使单片机复位。
正常工作应≤0.5V。

看门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期的高电平

(2)EA*/VPP (31脚)
  1. EA*:第一功能:允许访问外部程序存储器控制。
    • EA*=1
      PC值≤0FFFH时,单片机读片内4KB Flash中的程序,
      PC值 >0FFFH时 (超出片内4KB Flash地址范围),转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。
    • EA*=0
      只读取外部程序存储器中的内容,读取地址范围0000H~FFFFH片内4KB Flash无效
  2. VPP:第二功能,对片内Flash编程,接编程电压。
(3)ALE/PROG*(30脚)
  1. ALE:第一功能
    为访问外部存储器提供低8位地址锁存信号,将低8位地址锁存在片外地址锁存器中。

  2. PROG*:第二功能
    对片内 Flash编程的编程脉冲输入

4. 并行I/O端口

剩下的32个引脚都是并行I/O口引脚
p0,p1,p2,p3共四个引脚,每个引脚8位

4个8位并行I/O端口,为P0、P1、P2、P3。
输出锁存器属特殊功能寄存器。
端口组成:每位均由输出锁存器、输出驱动器和输入缓冲器组成,
4个端口均可位寻址。

P0口

8位,漏极开路的双向 I/O口
漏极开路意味着有一个高阻态
可作为系统总线低8位地址总线及数据总线分时复用端口。
也可作通用I/O口,需加上拉电阻,这时为准双向口。如作通用I/O输入,应先向端口写入1,可驱动8个LS型TTL负载。

双功能的8位并行端口,字节地址为80H,位地址为80H~87H
在这里插入图片描述

电路结构

P0口位电路包括:
(1)1个数据输出的锁存器
(2)2个三态的数据输入缓冲器,分别是用于读锁存器数据的输入缓冲器BUF1和读引脚数据的输入缓冲器BUF2。
(3)1个多路转接开关 MUX,它的一个输入来自锁存器的 Q*端,另一个输入为地址/数据信号的反相输出。 MUX由“控制”信号控制,实现锁存器输出和地址/数据信号间转接。
(4)数据输出的控制和驱动电路,由2个场效应管(FET)组成。

工作过程

在这里插入图片描述

(1)P0口用作地址/数据总线
P0口作为复用的地址/数据总线使用。
当作为地址或数据输出时,“控制”信号为1,硬件自动使转接开关MUX打向上面,接通反相器的输出,同时使“与门” 开启。
当输出的地址/数据信息=1,“与门”输出为1,上方场效应管导通,下方场效应管截止,P0.x引脚输出为1
当输出的地址/数据信息=0,上方场效应管截止,下方场效应管导通,P0.x引脚输出为0。
由上、下两个场效应管形成的推拉式结构,大大提高负载能力,上方的场效应管这时起到内部上拉电阻的作用。
当P0口作为数据输入时,仅从外部引脚读入信息, “控制”信号为0,MUX接通锁存器Q*端
P0口作为地址/数据复用方式访问外部存储器时,CPU自动向P0口写入FFH,使下方场效应管截止,上方场效应管由于控制信号为0也截止,从而保证数据信息的高阻抗输入,从外部输入的数据直接由P0.x引脚通过输入缓冲器BUF2进入内部总线。
具有高阻抗输入的I/O口应具有高电平、低电平和高阻抗3种状态的端口。因此,P0口作为地址/数据总线使用时是真正的双向端口,简称双向口。

(2)P0口用作通用I/O口
对应的“控制”信号=0,MUX打向下面,接通锁存器的Q端,“与门”输出为0,上方场效应管截止,形成的P0口输出电路为漏极开路输出
P0口作输出口时,CPU的“写”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并由引脚P0.x输出。
当D锁存器为1时, Q
端为0,下方场效应管截止,输出为漏极开路,此时,必须外接上拉电阻才能有高电平输出;当D锁存器为0时,下方场效应管导通,P0口输出为低电平。
P0口作I/O输入使用时,两种读入方式:“读锁存器”和“读引脚”。
当CPU发出**“读锁存器”指令时,锁存器的状态由Q端经上方的三态缓冲器BUF1进入内部总线;
当CPU发出
“读引脚”指令**时,锁存器的输出状态Q=1(Q*端为0),而使下方场效应管截止,引脚的状态经下方的三态缓冲器BUF2进入内部总线。

p0口总结

双功能口——地址/数据复用口通用I/O口
(1)当用作地址/数据复用口时,为真正双向口
(2)当P0口用作通用I/O口时,需在片外接上拉电阻,端口不存在高阻(悬浮)状态,是一准双向口。

为保证正确读入引脚,应先向锁存器写1
单片机复位后,锁存器自动被置1;
P0口大多作地址/数据复用口,就不能再作通用I/O口使用。

P1口

8位,准双向I/O口,具有内部上拉电阻。
准双向I/O口,作为I/O输入时,应先向端口锁存器写1

p1口电路结构:

在这里插入图片描述
仅作I/O口,字节地址为90H,位地址为 90H~97H

1.位电路结构

P1口位电路结构由以下3部分组成:
(1)数据输出位输出锁存器。
(2)2个三态的数据输入缓冲器BUF1和BUF2,控制读锁存器数据和读引脚数据。
(3)数据输出驱动电路,由一个场效应管(FET)和一个片内上拉电阻组成。

2.工作过程分析

P1口只作为通用I/O口。
(1)作输出时:
若CPU输出1,Q=1,Q*=0,场效应管截止,P1.x脚输出为1
若CPU输出0,Q=0,Q*=1,场效应管导通,P1.x脚输出为0

(2)作输入口时,分为“读锁存器”和“读引脚” 。
“读锁存器”,输出Q状态经输入缓冲器BUF1进入内部总线;
“读引脚”,先向锁存器写1,使场效应管截止,P1.x引脚上的电平经输入缓冲器BUF2进入内部总线。

3.P1口的特点

由于内部有上拉电阻,无高阻抗输入状态,故为准双向口。
P1口“读引脚”输入时,必须先向锁存器写入1。

P2口

8位,准双向I/O口,具有内部上拉电阻。
当外扩存储器及I/O口时,P2口输出高8位地址。
P2口也可作为通用I/O使用。当作输入时,应先向端口输出锁存器写1。
可驱动 4个LS型TTL负载。

双功能口,字节地址为A0H,位地址为A0H~A7H。

P2口位电路结构

在这里插入图片描述

1.位电路结构

P2口某一位的电路包括:
(1)1个数据输出锁存器,用于输出数据的锁存。
(2)2个三态数据输入缓冲器BUF1和BUF2,分别用于读锁存器数据和读引脚数据的输入缓冲。
(3)1个多路转接开关MUX,一个输入是锁存器的Q端,另一个输入是高8位地址。
(4)输出驱动电路,场效应管+内部上拉电阻。

2.工作过程分析

(1)P2口用作地址总线
在控制信号作用下,MUX与 “地址”接通。当“地址”为0时,场效应管导通,P2口引脚输出0;当“地址”线为1时,场效应管截止,P2口引脚输出1。
(2)P2口用作通用I/O口
在内部控制信号作用下,MUX与锁存器Q端接通。
CPU输出1时,Q=1,场效应管截止,P2.x引脚输出1;
CPU输出0时,Q=0,场效应管导通,P2.x引脚输出0。
P2口输入时,分“读锁存器”和“读引脚”两种方式:
“读锁存器”时,Q端信号经输入缓冲器BUF1进入内部总线
“读引脚”时,先向锁存器写1,使场效应管截止,P2.x引脚上的电平经输入缓冲器BUF2进入内部总线。

3.P2口的特点

作为地址输出线时,P2输出高8位地址,P0输出低8位地址寻址64KB地址空间。
作为通用I/O口时,P2口为准双向口。功能与P1口一样。
一般情况下,P2口大多作为高8位地址总线口使用,这时就不能再作为通用I/O口使用。

P3口

8位,准双向I/O口,具有内部上拉电阻。
可作为通用I/O口使用。如作通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。
P3口还可提供第二功能,定义如表2-1,应熟记。

由于引脚数目有限,P3口增加第二功能。每1位都可分别定义为第二输入/输出功能。P3口字节地址B0H,位地址B0H~B7H。

P3口的位电路结构

在这里插入图片描述

1.位电路结构

P3口位电路包括:
(1)1个数据输出锁存器,锁存输出数据位。
(2)3个三态数据输入缓冲器BUF1、BUF2和BUF3,分别用于读锁存器、读引脚数据和第二功能数据的输入缓冲。
(3)输出驱动,由“与非门”、场效应管(FET)和内部上拉电阻组成。

2.工作过程分析

(1)P3口用作第二输入/输出功能
当选择第二输出功能时,该位的锁存器需要置“1”,使“与非门”为开启状态。
当第二输出为1时,场效应管截止,P3.x引脚输出为1;
当第二输出为0时,场效应管导通,P3.x引脚输出为0。
当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3.x引脚的信息由输入缓冲器BUF3的输出获得。
(2)P3口用作第一功能——通用I/O口
用作第一功能通用输出时,第二输出功能端应保持“1”,“与非门” 开启。CPU输出1时,Q=1,场效应管截止,P3.x引脚输出为1;CPU输出0时,Q=0,场效应管导通,P3.x引脚输出为0。
用作第一功能通用输入时,P3.x位的输出锁存器和第二输出功能均应置1,场效应管截止,P3.x引脚信息通过输入BUF3和BUF2进入内部总线,完成“读引脚”操作。
当P3口第一功能通用输入时,也可执行“读锁存器”操作,此时Q端信息经过缓冲器BUF1进入内部总线。

3.P3口的特点

P3口内部有上拉电阻,无高阻抗输入态-准双向口。P3口作为第二功能的输出/输入,或第一功能通用输入,均须将相应位的锁存器置1。实际应用中,由于复位后P3口锁存器自动置1,满足第二功能所需的条件,所以不需要任何设置工作,就可以进入第二功能操作。
当某位不作为第二功能用时,可作为第一功能通用I/O使用。
引脚输入部分有两个缓冲器,第二功能的输入信号取自缓冲器BUF3的输出端,第一功能的输入信号取自缓冲器BUF2的输出端。

时钟电路与时序

时钟电路产生必需的控制信号,严格按时序执行指令。
执行程序时,CPU首先取指令,然后译码,由时序电路产生一系列控制信号完成规定的操作。
CPU时序信号两类:
(1)对片内各个功能部件控制,用户无须了解;
(2)对片外存储器或I/O端口的控制,这部分时序对分析、设计硬件接口电路至关重要。

时钟电路设计

时钟频率直接影响单片机运行速度,电路质量直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式

  1. 内部时钟方式
    AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,如下图AT89S51内部时钟方式的电路。

在这里插入图片描述
C1和C2的典型值通常选择为30pF。
电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。

晶振频率范围通常是1.2~12MHz。频率越高,单片机速度就越快。速度快对存储器的速度要求就高,印制电路板的工艺要求也高,即线间寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电容,保证振荡器稳定、可靠工作。为提高温度稳定性,采用温度稳定性能好的电容。
常选6MHz或12MHz的石英晶体。随着集成电路制造技术的发展,单片机的时钟频率也在逐步提高,已达33MHz。

  1. 外部时钟方式
    用现成的外部振荡器产生脉冲信号,常用于多片AT89S51同时工作,便于多片AT89S51同步,一般为低于12MHz的方波。
    外部时钟源接到XTAL1端,XTAL2端悬空,如图

外部时钟方式电路

  1. 时钟信号的输出
    当使用片内振荡器,XTAL1、XTAL2引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。其引出的方式有两种,如图

在这里插入图片描述

机器周期、指令周期与指令时序

各种指令时序与时钟周期相关。

  1. 时钟周期
    时钟控制信号的基本时间单位。
    若晶振频率为fosc,则时钟周期Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。
  2. 机器周期
    CPU 完成一个基本操作所需时间为机器周期。
    执行一条指令分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。每12个时钟周期为1个机器周期

1个机器周期包括12个时钟周期,分6个状态:S1~S6。每个状态又分两拍:P1和P2。因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2、…、S6P2,如图
在这里插入图片描述

  1. 指令周期
    执行一条指令所需的时间。
    简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。

从指令执行时间看:

  • 单字节和双字节指令一般为单机器周期和双机器周期;
  • 3字节指令都是双机器周期;
  • 乘、除指令占用4个机器周期。
指令周期

执行一条指令所需的时间。
简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。
从指令执行时间看:
单字节和双字节指令一般为单机器周期和双机器周期;
3字节指令都是双机器周期;
乘、除指令占用4个机器周期。

复位操作和复位电路

单片机初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使AT89S51复位。

复位操作

复位时,PC初始化为0000H,程序从0000H单元开始执行。
除系统正常初始化外,当程序出错(如程序跑飞)或操作错误使系统处于死锁状态时,需按复位键使RST脚为高电平,使AT89S51摆脱“跑飞”或“死锁”状态,而重新启动程序。
在这里插入图片描述

复位操作还对其他一些寄存器有影响,这些寄存器复位时的状态如表2-7。
由表2-7,复位时,SP=07H ,而P0~P3引脚均为高电平。
在某些控制应用中,要注意考虑P0~P3引脚的高电平对接在这些引脚上的外部电路的影响。
例如,当P1口某个引脚外接一个继电器绕组,当复位时,该引脚为高电平,继电器绕组就会有电流通过,就会吸合继电器开关,使开关接通,可能会引起意想不到的后果。

CPU

由运算器和控制器构成。

运算器

功能:对操作数进行算术、逻辑和位操作运算
组成:算术逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存器PSW及两个暂存器等。
1.算术逻辑运算单元ALU
可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除)
ALU还有位操作功能,对位变量进行位处理,如置“1”、清“0”、求补、测试转移及逻辑“与”、“或”等。
2.累加器A
使用最频繁的寄存器,可写为Acc。“A”与“Acc”书写的差别,将在第3章介绍。
作用如下:
(1)ALU单元的输入数据源之一,又是运算结果存放单元。
(2)数据传送多通过A,数据中转站。为解决“瓶颈堵塞”问题,AT89S51增加了一部分可不经过累加器的传送指令。
A进位标志Cy是同时又是位处理机的位累加器
3.程序状态字寄存器PSW
PSW位于片内特殊功能寄存器区,字节地址为D0H。
包含程序运行的状态信息,其中4位保存当前指令执行后的状态,供查询和判断。
特殊功能寄存器在内存中的位置:80H~FFH
PSW格式:
在这里插入图片描述

特殊功能寄存器PSW各位功能:

(1)Cy(PSW.7)进位标志位
可写为C。在算术和逻辑运算时,若有进位/借位,Cy=1;否则,Cy=0。在位处理器中,它是位累加器。
(2)Ac(PSW.6)辅助进位标志位
BCD码运算时,用作十进位调整。即当D3位向D4位产生进位或借位时,Ac=1;否则,Ac=0。
(3)F0(PSW.5)用户设定标志位
由用户使用的一个状态标志位,用指令使它置“1”或清“0,控制程序流向,应充分利用。
(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择
选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄存区。
(5)OV(PSW.2)溢出标志位
当执行算术指令时,用来指示运算结果是否产生溢出。如溢出,OV=1;否则,OV=0。
(6)PSW.1位:保留位
(7)P(PSW.0):奇偶标志位
指令执行完,A中“1”的个数是奇数还是偶数。
P=1,A中“1”的个数为奇数。
P=0,A中“1”的个数为偶数。
此标志位对串行通信有重要意义,常用奇偶检验来检验数据串行传输的可靠性。

控制器

任务:识别指令,控制单片机各功能部件,保证各部分自动协调工作。
控制器包括:PC、指令寄存器、指令译码器、定时及控制逻辑电路等。
功能:控制指令的读入、译码和执行,对各功能部件进行定时和逻辑控制。
程序计数器PC 是一个独立的16位计数器,不可访问。单片机复位时,PC内容为0000H,从程序存储器0000H单元取指令,,执行程序。
PC工作过程:CPU取指令时,PC内容为所取指令的地址,程序存储器按此地址输出指令字节,同时PC自动加1。

存储器

存储器空间分为4类:

1. 程序存储器空间
  • 片内和片外两部分。
  • 片内4KB Flash ,编程和擦除完全是电气实现。可用通用编程器对其编程,也可在线编程。
  • 当片内4KB Flash 存储器不够用时,可外扩,最多可扩展至64KB程序存储器。
  • 51单片机中,当片内4k不够的时候可以外扩

存程序和表格的固定常数
片内为4KB的Flash ,地址为0000H~0FFFH。16位地址线,外扩的程序存储器空间最大为64KB,地址为0000H~FFFFH。使用应注意:

  1. 片内和片外两部分,访问片内还是片外程序存储器,由EA*脚电平确定。
    • EA*=1,CPU从片内0000H开始取指令,当PC值没有超出0FFFH时,只访问片内Flash ,当PC值超出0FFFH自动转向读片外程序存储器1000H~FFFFH 内的程序。
    • EA*=0,不理会片内4KB Flash 存储器,只执行片外程序存储器(0000H~FFFFH)中的程序。
  2. 程序存储器5个固定单元为各中断源中断入口。
2.数据存储器空间
  • 片内与片外两部分。
  • 片内有128B RAM(52子系列为256B)。
  • 片内RAM 不够用时,在片外可扩展至64KB RAM 。
  • 片内和片外的空间地址一样,但是数据不会发生冲突, 因为访问片内和片外使用不同的指令
  1. 片内RAM
    片内数据存储器(RAM)共128个单元,字节地址为00H~7FH。结构:
    在这里插入图片描述
    00H~1FH 4组通用工作寄存器区,每区包含8B,为R7~R0。可用指令改变RS1、RS0两位来选择。
    20H~2FH的16个单元的128位可位寻址,也可字节寻址。
    30H~7FH的单元只能字节寻址,用作存数据以及作为堆栈区。

  2. 片外数据存储器
    当片内RAM不够用时,需外扩,最多可外扩64KB的RAM。
    注意,片内RAM与片外RAM两个空间是相互独立的,片内RAM与片外RAM的低128B的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突

3.特殊功能寄存器SFR

各功能部件的控制寄存器及状态寄存器。
SFR综合反映了整个单片机基本系统内部实际的工作状态及工作方式。

映射在片内RAM的80H~FFH区域中,共26个,有些可位寻址
与AT89C51相比,新增5个SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST
凡是可位寻址的SFR,字节地址末位只能是0H或8H
若读/写未定义单元,将得到一个随机数。
下面介绍部分SFR。
在这里插入图片描述在这里插入图片描述

  1. 堆栈指针SP
    指示栈顶在内部RAM中的位置。
    堆栈向上生长。单片机复位后,SP为07H,堆栈从08H单元开始,由于08H~1FH单元分别是属于1~3组的工作寄存器区,最好在复位后把SP值改置为60H或更大的值,避免堆栈与工作寄存器冲突。
    堆栈主要为子程序调用和中断操作而设。保护断点和现场
    (1)保护断点。无论子程序调用还是中断服务子程序调用,最终都要返回主程序。应预先把主程序断点在堆栈中保护起来,为程序正确返回做准备。
    (2)现场保护。执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的“现场保护”。
    两种操作:数据压入(PUSH)堆栈,数据弹出(POP)堆栈。

  2. 寄存器B
    为执行乘和除而设。不执行乘、除的情况下,可把它当作一个普通寄存器来使用。
    乘法,两乘数分别在A、B中,执行乘法指令后,乘积在BA中(高8位存到B里,低8位存到A里)
    除法,被除数取自A,除数取自B,商存放在A中,余数存B中。

  3. AUXR寄存器
    AUXR是辅助寄存器
    在这里插入图片描述
    DISALE:ALE的禁止/允许位。
    0:ALE有效,发出脉冲;
    1:ALE仅在执行MOVC和MOVX类指令时有效,不访问外部存储器时,ALE不输出脉冲信号;
    DISRTO:禁止/允许WDT溢出时的复位输出。
    0:WDT溢出时,在RST引脚输出一个高电平脉冲;
    1:RST引脚仅为输入脚。
    WDIDLE:WDT在空闲模式下的禁止/允许位。
    0: WDT在空闲模式继续计数;
    1: WDT在空闲模式暂停计数。。

  4. 数据指针DPTR0DPTR1
    双数据指针寄存器,便于访问数据存储器
    DPTR0:AT89C51原有的数据指针,
    DPTR1:新增加的数据指针。
    寄存器AUXR1的DPS位用于选择两个数据指针。
    DPS=0,选用DPTR0;DPS=1,选用DPTR1。
    可作为一个16位寄存器来用,也可作为两个独立的8位寄存器DP0H(或DP1H)和DP0L(或DP1L)来用。

  5. AUXR1寄存器
    为辅助寄存器,格式如图2-6:
    DPS:数据指针寄存器选择位。
    0:选择数据指针寄存器DPTR0;
    1:选择数据指针寄存器DPTR1。
    在这里插入图片描述

  6. 看门狗定时器WDT
    WDT包含一个14位计数器和看门狗复位寄存器(WDTRST)。
    WDT提供一种使程序恢复正常运行的有效手段。
    有关WDT在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应章节具体介绍。
    上面介绍的特殊功能寄存器,除SP和B以外,其余均为AT89S51在AT89C51基础上新增加的SFR。

4.位地址空间

211个寻址位的位地址,位地址范围为00H~FFH,其中00H~7FH,这128位处于片内RAM 字节地址20H~2FH 单元中。其余的83个可寻址位分布在特殊功能寄存器SFR

可被位寻址的特殊寄存器有11个,共有位地址88个,5个位未用,其余83个位的位地址离散地分布于片内数据存储器区字节地址为80H~FFH的范围内,其最低位的位地址等于其字节地址,且其字节地址的末位都为0H或8H

各类存储器的结构图

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单片机的硬件结构(51单片机的组成) 的相关文章

  • Linux本地套接字

    LINUX和UNIX都拥有一个非常实用的工具 UNIX套接字 或称为本地套接字 它可以被用在进程间通讯 IPC 当中 UNIX套接字的运转机制和Internet套接字类似 主要的区别UNIX套接字只能用在一台计算机中 而Internet套接
  • Linux(ubuntu)安装libevent

    步骤如下 第一步下载压缩包文件 libevent 2 1 8 stable tar gz 地址 https github com libevent libevent releases download release 2 1 8 stabl

随机推荐

  • 李沐论文精读系列四:CLIP和改进工作串讲(LSeg、GroupViT、VLiD、 GLIPv1、 GLIPv2、CLIPasso)

    文章目录 一 CLIP 1 1 简介 1 1 1 前言 1 1 2 模型结构 1 1 3 模型效果 1 1 3 1 对自然分布偏移的鲁棒性 1 1 3 2 StyleCLIP 1 1 3 3 CLIPDraw 1 1 3 4 zero sh
  • 互联网拥塞控制终极指南

    本文为媒矿工厂翻译的技术文章 原标题 The Ultimate Guide to Internet Congestion Control 原作者 Michael Schapira 原文链接 https www compiralabs com
  • sqlserver 查看表所占磁盘空间

    方法1 可以通过SP SPACEUSED来查看 sp spaceused 显示行数 保留的磁盘空间以及当前数据库中的表所使用的磁盘空间 或显示由整个数据库保留和使用的磁盘空间 语法 sp spaceused objname objname
  • ubuntu开机出现initramfs解决办法

    今天上班打开ubuntu的虚拟机的时候出现了这个界面 注意倒数第三行 说 dev sda1 需要 fsck 第一步 执行命令 fsck dev sda1 y 第二步 当出现FILE SYSTEM WAS MODIFIED这个的时候 就表示已
  • 你想知道undo log的作用都在这里

    今天我们来介绍下mysql的undo log 日志 带你更加深入理解它的作用 01 为什么需要 undo log 考虑一个问题 一个事务在执行过程中 在还没有提交事务之前 如果mysql发生了崩溃 要怎么回滚到事务之前的数据呢 如果我们每次
  • 关于本地方法栈的详细介绍

    本地方法栈 Native Method Statck 与虚拟机所发挥的作用是非常相似的 它们之间的的区别不过是虚拟机栈为虚拟机执行java方法 也就是字节码 服务 而本地方法栈则为虚拟机是有的Native方法服务 在虚拟机规范中对本地方法栈
  • entity framework core + SQLite Error 1: 'no such table: Blogs'.

    在学习Entity Framework Core使用SQLite时 出现上述错误 原因是找不到db文件 在UseSqlite 中添加具体的db文件路径 改成如下即可 protected override void OnConfiguring
  • Sentinel--服务容错

    目录 1 高并发带来的问题 2 服务雪崩效应 3 常见容错方案 1 高并发带来的问题 在微服务架构中 我们将业务拆分成一个个的服务 服务与服务之间可以相互调用 但是由于网络原因或者自身的原因 服务并不能保证服务的100 可用 如果单个服务出
  • 置信度&置信区间,这篇讲解我给100分!

    今天这篇聊聊统计学里面的置信度和置信区间 好像没怎写过统计学的东西 这篇试着写一写 1 点估计 在讲置信度和置信区间之前先讲讲点估计 那什么是点估计呢 给你举两个例子你就知道了 现在你想要知道一个学校学生的身高情况 你可以把所有的学生测量一
  • 创造与魔法为什么显示无法连接服务器,创造与魔法为什么显示登录失败

    发布时间 2018 04 19 一些玩家遇到数据库登录失败的问题 不知道如何解决 进不了游戏很是烦恼 下面小编就为大家带来十三号星期五数据库登录失败解决方法 遇到这类问题的小伙伴快来看看吧 十三号星期五数据库登录失败解决方 标签 攻略 发布
  • 哈夫曼编码(Huffman Coding)多图详细解析

    哈夫曼编码 哈夫曼编码 又称为霍夫曼编码 它是现代压缩算法的基础 假如我们需要将字符串ABBBCCCCCCCCDDDDDDEE通过二进制编码进行传输 那应该怎么将字符转换为二进制码 方法一 转换为ASCII码 直接将字母转换为对应的ASCI
  • vue【封装 Vue.js 组件库】

    一 组件库有哪些 element iu iview CDD Component Driven Development 自下而上 从组件级别开始 到页面级别结束 CDD 的好处 组件在最大程度被重用 并行开发 可视化测试 二 组件库开发流程
  • git 之 gitlab 私有项目仓库的搭建与使用

    gitlab 私有项目仓库的搭建与使用 一 gitlab简介 二 gitlab安装 三 gitlab使用 一 gitlab简介 GitLab是一个利用 Ruby on Rails 开发的开源应用程序 实现一个自托管的Git项目仓库 可通过W
  • 自用.vimrc文件

    set paste set nocompatible 关闭 vi 兼容模式 syntax on 自动语法高亮 set number 显示行号 set cursorline 突出显示当前行 set ruler 打开状态栏标尺 set shif
  • 机器学习--聚类(12)

    一 基本概念 聚类的概念 一种无监督的学习 事先不知道类别 自动将相似的对象归到同一个簇中 应用场景 文档分类器 客户分类 保险欺诈检测 乘车数据分析 二 距离计算 对于有序距离 其中P 1为曼哈顿距离 P 2为欧氏距离 对于无序距离 使用
  • ASCII码-shellcode的技巧

    网上已经有成熟的工具了 所以就简单记录一下工具怎么用吧 https github com TaQini alpha3 https github com veritas501 ae64 git https github com rcx she
  • Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种 它有可变集合 set 和不可变集合 frozenset 两种 创建集合set 集合set添加 集合删除 交集 并集 差集的操作都是非常实用的方法 1 创建集合 set类是在python的set
  • Prometheus Node_exporter 详解

    Basic CPU Mem Disk Info https www cnblogs com qianyuliang p 10479515 htmlBasic CPU Mem Disk Gauge https www cnblogs com
  • 设计一个类,求圆的周长

    define CRT SECURE ND WARNINGS include
  • 单片机的硬件结构(51单片机的组成)

    文章目录 51单片机的组成 优点 各部件的功能 引脚的功能 1 电源引脚 1 VCC 40脚 5V电源引脚 2 VSS 20脚 数字接地 2 时钟引脚 1 XTAL1 19脚 2 XTAL2 18脚 3 控制引脚 1 RST RESET 9