简述51单片机的内部结构_51单片机的硬件结构及其作用

简述51单片机的内部结构_51单片机的硬件结构及其作用【1.基本组成】单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O等计算机所需要的基本功能部件的大规模集成电路,又称MCU。51单片机内包含下列几个部件:一个8位CPU一个片内震荡器及时钟电路一个片内4KBROM程序存储器128字节RAM数据存储器可寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路32条可编程的I/O线(4个8位并行I/O端口)两个16位的定时/计数器一个可编程全双工串行口5个中断源、两个优先级嵌套中断结构

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

【 1. 基本组成 】

  • 单片机:
    在一块芯片中集成了CPU、RAM、ROM、定时/计数器、多功能I/O等计算机所需要的基本功能部件的大规模集成电路,又称 MCU

51单片机内包含下列几个部件

  • 一个8位CPU
  • 128字节 RAM 数据存储器
  • 一个片内4KB ROM 程序存储器
  • 可寻址 64KB 外部 RAM 和 64KB 外部 ROM 的控制电路
  • 32条可编程的 I/O 线(4个8位并行I/O端口)
  • 两个16位的定时/计数器
  • 一个可编程全双工串行口
  • 5个中断源、两个优先级嵌套中断结构
  • 一个片内震荡器及时钟电路

在这里插入图片描述
上图1-1中,其“/”前面为普通型,“/”后面为增强型。

【 2. CPU 】

  • CPU:
    是单片机的核心部件,由运算器、程序计数器PC、指令寄存器 等部件组成。

1. 运算器

  • 功能就是进行运算(算术运算、逻辑运算、位运算)。
  • 操作结果的状态信息存至 状态寄存器PSW

2. 程序计数器PC

  • Program Counter
  • 16位自动加 1 的寄存器
  • 存放即将执行的指令地址
  • 可对64KB程序存储器直接寻址
  • 执行指令时,PC内容的低8位经 P0 输出,高8位经 P2 输出。
  • 取出指令码后,PC寄存器内容自动加 1 ,指向下一指令地址。

3. 指令寄存器

  • 存放指令代码
  • CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经指令寄存器译码后,由定时与控制电路发出相应的控制信号,完成指令功能。

【 3. 存储器 】

1. 存储器地址空间的结构形式

  • 第一种:普林斯顿结构:RAM 和 ROM 连续编址在同一地址空间,CPU访问ROM和RAM用相同的访问指令。
  • 第二种:哈佛结构:RAM 和 ROM 分别编址在不同地址空间,(RAM和ROM可以有相同的地址,CPU靠不同的指令区别)MCS-51采用这个结构,各有各自的指令。

在这里插入图片描述

  • 51 存储器的特点:采用哈佛结构,拥有片内RAM、片内ROM、片外RAM、片外ROM;

2. 程序存储器

  • 程序存储器 ROM
    用于存放编制好的始终保留的固定程序和表格常数。
  • 8051单片机内置最低4KB ROM程序存储器。
  • 51 ROM的执行特点
    ❶ 片内、片外的两个ROM统一编址,用MOC指令访问。程序存储器以程序计数器PC作为地址指针,通过16位地址总线,可寻址的地址空间为64KB。
    EA ‾ \overline{\text{EA}} EA=1时,程序先执行片内ROM地址的0000H~0FFFH,再执行片外ROM地址的1000H~FFFFH,是连续的(此时片内、片外ROM中被用的空间共占64K);
    EA ‾ \overline{\text{EA}} EA=0时,程序只执行外部ROM地址的0000H~FFFFH(即只用外部ROM的64K)。

在这里插入图片描述

  • 程序存储器中几个特殊地址

在这里插入图片描述

3. 外部数据存储器

  • 数据存储器RAM:存放随机读写的数据。
  • 外部数据存储器和外部I/O 统一编址,并使用相同的选通控制信号,均使用 MOVX指令和相同的寄存器间接寻址
  • MCS-51单片机最多可扩展64KB外部数据存储器。

4. 内部数据存储器

  • 内部数据存储器
    ❶ 使用最多的的地址空间,用于存放随机读写的数据,所有操作指令的操作数只能存在此地址空间或特殊功能寄存器中。
    ❷ 其区域包括通用寄存器区、堆栈区、运算操作数存放区。
  • 加强型 52 RAM特点
    有256字节RAM,占地址00~FFH,其中80H~FFH地址的RAM和SFR所占地址是重合的。区分方法:访问SFR用直接地址(称为直接寻址),访问RAM采用寄存器采用寄存器间接寻址。在这里插入图片描述
  • 基本型51 RAM 的地址分配:
    51系列单片机内部数据存储器地址范围为00~7FH。(附:而SFR占地址80H~FFH,两者的地址空间是连续的)。
  • 通用寄存器区
       00H~1FH的前32个单元。共4组寄存器(寄存器0组~3组),每组寄存器有8个8位通用寄存器(R0~R7)。
       寄存器的选组由程序状态字PSW的RS1和RS0位决定。
    在这里插入图片描述
       初始化或复位时自动选中0组。
       使用时之能选其中一组寄存器,一旦选中一组,其他三组只能作为数据存储器使用,而不能作为寄存器使用。
       设置多组寄存器可以方便保护现场。
       除选中的寄存组以外的存储器均可以作为通用 RAM 区。
  • 位地址区
    20H~2FH为,共16个单元,每个单元有8个位,每位有一个位地址,共128位,位地址范围是00H~7FH。该区既可位寻址,又可字节寻址。
  • 堆栈区
    8XX51单片机的堆栈设在内部RAM区,深度不大于128字节,除选中寄存器组以外的存储区可作为堆栈区,初始化时SP指向07H。
    在这里插入图片描述

5. 特殊功能寄存器

  • 共21个特殊功能寄存器,不连续地分布在80H~FFH 128个字节地址空间。
  • 常见的SFR :累加器A,寄存器B,程序状态字PSW,堆栈指针SP,数据指令寄存器DPTR,P0 P1 P2 P3 I/O端口寄存器等。
  • PS:52系列中,高128字节RAM和SFR地址是重合的。访问高128字节RAM用寄存器间址,访问SFR只能采用直接寻址,访问低128字节RAM两种寻址方式均可使用
  • 地址为X0H和X8H是可位寻址的寄存器
    在这里插入图片描述
  • A累加器
    自带全0标志Z,A=0时,Z=1; A=0时,Z=0,该全0标志用于程序分支转移的判断条件。
  • B寄存器
    常用于乘除法运算。
  • PSW程序状态字,也叫标志寄存器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

【 4. 时钟电路 】

周期

  • 震荡周期、时钟周期
    晶振的震荡周期。12MHZ晶振的震荡周期为 1 12 \frac{1}{12} 121
  • 状态周期
    两个震荡周期。震荡频率会经过单片机内部的二分频电路。
  • 机器周期
    12个震荡周期。单片机执行一种基本操作的单位时间。
  • 指令周期
    单片机执行一条指令所需的时间。一个指令周期由1~4个机器周期组成(依据指令不同而不同)。
    在这里插入图片描述

电路

单片机的时钟信号用于给单片机提供震荡周期,即操作时间的基准。
在这里插入图片描述
在这里插入图片描述

【 5. 复位电路 】

  • 复位
    使单片机内部电路初始化,从程序的初始状态开始执行。
  • 复位操作的实质
    使SFR寄存器进入初始化,不改变片内RAM区的内容。
  • MCS-51复位操作
    引脚RST出现5ms以上的高电平,单片机就会复位。若RST一直是高电平,则会一直死循环复位。
  • 复位操作的基本种类
    上电复位:单片机一通电,就会自动复位。
    开关复位:电源接通时,利用开关,控制RST引脚接高电平实现复位。当出现死循环或崩溃的时候,可通过开关令其复位使单片机退出当前崩溃状态。
  • 常用复位电路
    上电后,电容充电,有电流流经电容器,RST维持高电平一段时间,当电容充电至电容两端电压为VCC后,就没有电流流经电容器。

在这里插入图片描述

  • 常见寄存器的复位状态
    在这里插入图片描述
    在这里插入图片描述

【 6. 引脚 】

1. 可总线扩展的单片机引脚

在这里插入图片描述
接上图中,保持在低功耗条件下内部RAM中的数据。
在这里插入图片描述
在这里插入图片描述

2. 不可总线扩展的单片机引脚

在这里插入图片描述

【 7. 总结 】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186055.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Python电影评论数据分析系统_echarts数据可视化

    Python电影评论数据分析系统_echarts数据可视化书接上文,继上文实现了《复仇者联盟4:终局之战》电影的影评数据分析采集之后,本文主要对获取到的影评数据进行一些可视化展示,主要的可视化展示手段是词云。这里我把200条左右的纯评论数据抽取解析了出来,贴在下面,感兴趣的可以拿去:=========================================================================…

  • 在 Ubuntu系统下安装 OpenCV 全过程

    在 Ubuntu系统下安装 OpenCV 全过程经过不断的试错、安装、删除重装……写下这篇博客,希望其他人安装时能够轻松一点,少几次还原重装……版本:ubuntu18.10OpenCV-4.1.0首先,OpenCV有在ubuntu上安装的官方文档:https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html大家可以参照官方文档进行操作…

  • vue 的双向绑定原理「建议收藏」

    vue 的双向绑定原理「建议收藏」vue采用“数据劫持”和“观察者模式(又叫做发布者-订阅者模式)”相结合的方式,通过Object.defineProperty()来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。vue的双向绑定原理,分三步:第一步,“数据劫持”:vue用Object.defineProperty()方法实现数据劫持,为每个属性分配一个订阅者集合的管理数组dep; 第二步,“添加观察者”:在编译的时候在该属性的数组dep中添加订阅者,添加方式包括:v

  • Axis2创建WebService实例(转载)

    Axis2创建WebService实例(转载)博文地址:http://clq9761.iteye.com/blog/976029

  • 转载:Java使用dom4j解析XML

    转载:Java使用dom4j解析XML原文地址:http://blog.csdn.net/yyywyr/article/details/38359049解析XML的方式有很多,本文介绍使用dom4j解析xml。1、环境准备(1)下载dom4j-1.6.1.jar(2)下载junit-4.10.jar2、温馨提示解析XML过程是通过获取Document对象,然后继续获取各个节点以及属性等操作,因此获取Documen

  • 动漫补番_二次元入坑番

    动漫补番_二次元入坑番InfiniteStratos约会大作战零之使魔狗与剪刀的正确用法转载于:https://www.cnblogs.com/kexb/p/5968564.html

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号