单片机结构_单片机原理读书笔记

单片机结构_单片机原理读书笔记文章目录Chapter1:51单片机结构1.1MCS-51单片机内部结构1.1.151单片机内部结构1.1.2核心部件CPU1.2存储器1.2.1ROM和RAM1.2.2普林斯顿结构、哈佛结构1.2.3片内存储器、片外存储器1.2.4程序存储器、外部数据、内部数据存储器1.3特殊功能寄存器1.4时钟电路和复位电路1.4.1时钟电路1.4.2基本时序单位1.4.3复位…

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

Jetbrains全系列IDE稳定放心使用

Chapter 1:51单片机结构

1.1 MCS-51单片机内部结构

1.1.1 51单片机内部结构

  • 内部结构描述:
    .
  • 内部结构图:
    在这里插入图片描述

1.1.2 核心部件CPU

CPU是单片机的核心部件。它由运算器和控制器等部件组成。

  1. 运算器
    进行算术运算:加、减、乘、除、加1、减1、BCD码十进制调整等
    逻辑运算:与、或、异或、求反等逻辑操作
    位操作:内部有布尔处理器,它以进位标志位C为位累加器,用来处理位操作。可对位置 “1”、对位清“0”、位判断等。
    操作结果的状态信息送至状态寄存PSW。

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

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

1.2 存 储 器

1.2.1 ROM和RAM

  • 存储器可以用来存放程序和数据,半导体存储器由一个一个单元组成,每个单元有一个编号(称为地址),一个单元存放一个8位数据,当一个数据多于8位就需要两个单元存放。有程序存储器、数据存储器。

  • 程序存储器ROM:

    • 只读性:ROM(Read Only Memory)中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器。
    • 非遗失性:电源关闭后,仍能保存程序,上电后指令可重新执行。
    • 可编程性:向ROM存储器中写入信息称为ROM编程,根据编程的方式不同,可分为以下几种: 掩模ROM、PROM、EPROM、E2PROM(EEPROM)、Flash ROM。
    • 用来存放:程序和始终要保留的常数
  • 数据存储器RAM:

    • 随机性:RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关
    • 遗失性: 在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。
    • 静动态:按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
    • 用来存放:程序运行中所需要数据(常数和变量)或运算结果。

1.2.2 普林斯顿结构、哈佛结构

  • 计算机的存储器地址结构形式有两种:普林斯顿结构和哈佛结构

    • 普林斯顿结构:RAM和ROM连续编址在同一地址空间。
    • 哈佛结构:RAM和ROM分别编址在不同一地址空间,RAM和ROM可以有相同的地址,CPU靠不同的指令区别。
      在这里插入图片描述
  • 51单片机采用哈佛结构

    它将ROM和RAM分开编址,各有自己的寻址方式、控制信号和指令。

1.2.3 片内存储器、片外存储器

  • 从物理上看,51单片机有四个存储器地址空间:片内数据、片外数据、片内程序、片外程序(存储器)

  • 51单片机,就那个小黑方块里面程序存储器有4K,这个就是片内。
    然后你程序大,里面放不下,就在片外安了个FLASH芯片,这个就是片外了。
    片内不是说CPU内部,说CPU会让人联想到单片机的内核。
    在这里插入图片描述

  • 引脚EA的接法

    • EA接法决定了程序储存器的0000~0FFFH 4KB地址范围是在单片机片内还是单片机外

    • 若接+5V(EA=1)程序从片内开始执行。

    • 若接地(EA=0)程序从片外开始执行,而不管片内是否实际存在程序存储器。

1.2.4 程序存储器、外部数据、内部数据存储器

  • 程序存储器

    • 程序储存器以程序计数器 PC 作为地址指针,通过16位地址总线,可寻址的地址空间为64KB。访问程序存储器使用MOVC指令。
    • 8031单片机,无内部ROM。必须外接程序存储器才能使用(最大能扩64K),EA应始终接地(目前已被淘汰)。
    • 8051单片机,有内部ROM,大小为4K。EA接+5V,程序从内部ROM开始,当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间(最大能扩60K)。外部程序存储器地址空间为1000H~FFFFH,60K。
    • 特殊地址的使用
      在这里插入图片描述
  • 外部数据存储器

    • 用于存放随机读写的数据。
    • 外部I/O口地址影像区。
    • MCS-51单片机的外部数据存储器和外部I/O口实行统一编址 ,并使用相同的RD、WR作选通控制信号,均使用 MOVX 指令和相同的寄存器间址访问。
    • MCS-51 单片机最多可扩展64KB外部数据存储器。
  • 内部数据存储器 —— 是使用最多的地址空间 【重点】

    • 存放随机读写的数据

    • 通用寄存器区、堆栈区、运算操作数存放区

    • 指令(算术运算、逻辑运算、位操作运算等)的操作数,只能在此地址空间,或特殊功能寄存器(SFR)地址空间。

      • 在基本型51子系列中只有128字节RAM,占地址00-7FH,SFR占地址80H-FFH;
      • 在增强型52子系列中它有256字节RAM,占地址00-FFH,其中80H-FFH地址的RAM,和基本型中 SFR 80H-FFH占的地址是重合的
      • 在52子系列中,高128字节RAM和SFR的地址是重叠的,CPU访问内部RAM和访问SFR的指令是相同的,所访问的地址究竟是RAM还是SFR呢???靠寻址方式区别,访问SFR用直接地址(称为直接寻址)访问RAM采用寄存器间接寻址。即:访问高128字节RAM采用寄存器间址,访问SFR则只能采用直接寻址,访问低128字节RAM时,两种寻址均可采用。
        在这里插入图片描述
    • 51 系列单片机内部数据存储器地址范围为00~7FH。各区域地址见下表
      在这里插入图片描述
      (1)地址 0~1FH 的前32个单元称为:通用寄存器区

    ​ 用途:① 作通用寄存器R0~R7 ② R0与R1可作间址寄存器使用。

    ​ 32个单元的寄存器区分为四组,使用时只能选其中一组寄存器。

    寄存器的选组由程序状态字PSW的RS1和RS0位定。
    ​ RS1 RS0 选寄存器组
    ​ 0 0 0组
    ​ 0 1 1组
    ​ 1 0 2组
    ​ 1 1 3组
    ​ **初始化时或复位时,自动选中0组。**一旦选中一组,其它三组只能作为数据存储器使用,而不能作为寄存器使用。设置多组寄存器可以方便保护现场
    (2)20H~2FH:可位寻址区
    ​ 共16个单元,每单元有八个位,每位有一个位地址,共128位,位地址范围为00H~7FH,该区既可位寻 址,又可字节寻址。
    ​ 如 MOV 20H,C (这里C是Cy进位标志位),该指令是将Cy内容送20H位,如果Cy=1,位20H值为“1”。
    (3)30H~7FH:通用存储区。

1.3 特殊功能寄存器

  • 51单片机共有21个字节的特殊功能寄存器SFR (Special Fuction Register)

  • 用途:

    • A累加器、状态标志寄存器
    • 单片机内部各部件专用的控制、状态寄存器
  • 并行口、串行口影射寄存器

  • 地址空间:

    • 21个特殊功能寄存器不连续的分布在80H~FFH 128个字节地址空间。
    • 地址为X0H和X8H是可位寻址的寄存器,用 * 表示,即:不仅可以按字节使用,还可以一位一位的使用。
      在这里插入图片描述
  • 21个SFR简要介绍
    在这里插入图片描述
    在这里插入图片描述

1.4 时钟电路和复位电路

1.4.1 时钟电路

  • 为什么要时钟电路?
    单片机的时钟信号用来提供单片机内各种微操作时间基准。
    拥有时钟电路是单片机正常工作的必要条件。

  • 8XX51单片机的时钟信号通常有两种电路形式:
    内部振荡方式和外部振荡方式。

  • 内部振荡方式:

    • 有三个引脚:GND,XTAL1,XTAL2
    • 在引脚XTAL1和XTAL2外接一个晶体振荡器(晶振),外加两个电容C01,C02
    • 接好以后,结合单片机内部电路,它能够自动产生一个振荡频率的信号,给单片机工作使用。
      在这里插入图片描述
  • 外部振荡方式:

    • XTAL2悬空,XTAL1接外部时钟
    • 是把已有的时钟信号引入单片机。
    • 适用于使单片机的时钟与外部信号保持一致。
      在这里插入图片描述

1.4.2 基本时序单位

  • 三个时序单位:振荡周期(时钟周期),机器周期,指令周期。

    三种时序单位中,振荡周期机器周期 是单片机计算 其他时间值(例如:波特率、定时器的定时时间等)的基本时序单位
    在这里插入图片描述

1.4.3 复位电路

  • 复位电路功能?

    复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。

  • 复位电路物理实现?

    当51系列单片机的复位引脚 RST出现 5ms以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态。

  • 复位操作 2 种基本形式?

    • 上电复位和开关复位。

    • 上电复位要求一接通电源后,自动实现复位。

    • 开关复位要求在电源接通的条件下,单片机运行期间或发生死机状态时控制其退出程序,通过操作按钮开关使其复位。

  • 常用的上电且开关复位电路:
    在这里插入图片描述

    • 电容,开关,电阻。
    • 上电时,由于电容充电,会使得RST持续一段时间高电平,起到复位作用。
    • 按下复位键,开关接通,VCC高电平送入RST,起到复位作用。
    • 通常选择 C = 10 μ f , R = 10 K Ω C=10 \mu f , R=10 K\Omega C=10μf,R=10KΩ
  • 复位操作对SFR的初始化

    单片机的复位操作使SFR寄存器进入初始化,但不会改变片内RAM区中的内容。

    记住一些特殊功能寄存器复位后的主要状态,对于熟悉单片机操作,减短应用程序中的初始化部分是十分必要的。

    寄存器 复位含义
    PC=0000H 单片机复位后程序从0000H地址单元开始执行
    A=00H 累加器已被清0
    PSW=00H 选寄存器0组为工作寄存器
    SP=07H 堆栈指针指向片内RAM 07H单元,根据堆栈操作的先加后压法则,第一个被压入的数据被写入08H单元中
    P0~P3=FFH 已向各端口线写入1,各端口既可用于输入又可用于输出

1.5 引脚

1.5.1 概述

  • 根据单片机的引脚多少,有可总线扩展的单片机不可总线扩展的单片机

    它们指令系统兼容、使用的内部资源不一样。

    同一系列的单片机有不同的封装,绝大多数的同引脚的同系列单片机可以互换,也有少数的不同(如51系列的STC15WXX),为保险起见,替换前应查相关的技术手册。

1.5.2 可总线扩展单片机(重要)

  • 可总线扩展单片机:

    如果设计大系统,内部资源还不够,还需要扩展外部存储器或I/O接口,需要选择可总线扩展的单片机。这种单片机有地址总线、数据总线等引脚,引脚通常多于40个,有44……64、100脚。

  • 引脚图:
    在这里插入图片描述

  • 引脚说明:
    在这里插入图片描述

1.5.3 不可总线扩展单片机(简单了解)

  • 不可总线扩展单片机:

    有的系统较小,单片机内部资源足够需求, 无需扩展外围芯片,为减小体积,缩小PCB(印刷电路板)面积,可选择不可总线扩展的单片机,它们省去总线引脚,引脚少于40个,有8~36脚不等。

  • 引脚图:
    在这里插入图片描述

1.6 小结

  • 单片机
    单片机是集CPU、存储器、I/O接口于一体的大规模集成电路芯片。8XX51系列单片机是目前市场上应用最广泛的单片机机型。

  • 单片机内部结构:
    在这里插入图片描述

  • 单片机内部中存储器的结构:
    掌握51系列单片机各存储空间的地址分配,使用特点及数据操作方法。现将此内容归纳于教材表1-5中,此表是编程和硬件扩展的基础,相当重要,务必要熟记和掌握。
    在这里插入图片描述

  • 时钟电路和复位电路:

    • 时钟电路复位电路对嵌入式系统是很重要的计算机内部数字电路都按时钟节拍工作,如果系统的时钟电路有问题,没有时钟信号,嵌入式系统是无法工作的,因此,如果你的单片机应用系统不能工作,检查系统有没有时钟信号,也是查找毛病的步骤之一。
    • **如果系统不能工作,也应查一查有无复位信号,**因为:
      1.果RST持续为高电平,单片机就处于循环复位状态,PC总为0,不会执行程序 。
      2.如果复位电路有问题, PC不会置初始值0,而是其他随机值,而该地址没有程序,或者是乱码,也不会正常执行程序。因此,用户主程序必须从0地址开始存放。后面我们将看到汇编语言程序的第1句是:ORG 0000H(或ORG 0)
    • EA是否接到+5V ,否则不会到片内取指令、执行程序。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

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

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

(0)


相关推荐

发表回复

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

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