IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 单片机的硬件结构 -> 正文阅读

[嵌入式]单片机的硬件结构

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

各类存储器的结构图

在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:36:52  更:2022-04-09 18:38:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:50:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码