文章目录
- Chapter 1:51单片机结构
-
- 1.1 MCS-51单片机内部结构
-
- 1.1.1 51单片机内部结构
- 1.1.2 核心部件CPU
- 1.2 存 储 器
-
- 1.2.1 ROM和RAM
- 1.2.2 普林斯顿结构、哈佛结构
- 1.2.3 片内存储器、片外存储器
- 1.2.4 程序存储器、外部数据、内部数据存储器
- 1.3 特殊功能寄存器
- 1.4 时钟电路和复位电路
-
- 1.4.1 时钟电路
- 1.4.2 基本时序单位
- 1.4.3 复位电路
- 1.5 引脚
-
- 1.5.1 概述
- 1.5.2 可总线扩展单片机(重要)
- 1.5.3 不可总线扩展单片机(简单了解)
- 1.6 小结
Chapter 1:51单片机结构
1.1 MCS-51单片机内部结构
1.1.1 51单片机内部结构
- 内部结构描述:
- 内部结构图:
1.1.2 核心部件CPU
CPU是单片机的核心部件。它由运算器和控制器等部件组成。
- 运算器 进行算术运算:加、减、乘、除、加1、减1、BCD码十进制调整等 逻辑运算:与、或、异或、求反等逻辑操作 位操作:内部有布尔处理器,它以进位标志位C为位累加器,用来处理位操作。可对位置 “1”、对位清“0”、位判断等。 操作结果的状态信息送至状态寄存PSW。
- 程序计数器PC 程序计数器是16位的自动加1的寄存器,用来存放即将要执行的指令地址,可对64KB程序存储器直接寻址。 执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出,取出指令码后,PC寄存器内容自动加1,指向下一指令码地址。
- 指令寄存器 指令寄存器中存放指令代码。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 种基本形式?
- 上电复位和开关复位。
- 上电复位要求一接通电源后,自动实现复位。
- 开关复位要求在电源接通的条件下,单片机运行期间或发生死机状态时控制其退出程序,通过操作按钮开关使其复位。
- 常用的上电且开关复位电路:
- 复位操作对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 ,否则不会到片内取指令、执行程序。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/186083.html原文链接:https://javaforall.cn