嵌入式——MCS-51单片机的硬件结构

1. 硬件结构整体概述

1.1 简图概述

单片机主要由:CPU,存储器,IO接口三者构成
在这里插入图片描述
在这里插入图片描述

1.2 个人的总结看法

单片机结构人体结构详情
CPU大脑负责思考的部分包括运算器和控制器
存储器大脑负责记忆的部分包括数据存储器和程序存储器
时钟与震荡器相当于心脏频率与性能相关
IO接口类似神经反射中的感受器和效应器包括串行和并行接口
总线人体的神经和血管包括数据总线,地址总线,控制总线

1.3 详细结构框图

在这里插入图片描述
下面根据这个框图对每个部分的结构进行讲解

2. 中央处理器CPU

CPU内部的结构可以大致分成3个部分:运算器,控制器,和一些通用寄存器

2.1 运算器——进行运算

组成部件描述
算术逻辑单元ALU进行算术运算,逻辑运算
累加器ACC(8位)需要ALU处理的数据和运算结果多经过A
寄存器B(8位)与A配合执行乘除运算,也可以作为通用寄存器
程序状态字PSW(8位)存放ALU运算过程的标志转台CY,AC,F0,RS1,RS0,OV,F1,P

2.2 通用寄存器——暂时存放数据(这应该属于存储器部分)

工作寄存器R0-R7(8位)
暂时存储运算数据和中间结果,有四个工作寄存器区,通过PSW.4(RS0)和PSW.3(RS1)来切换,选用
在这里插入图片描述

程序状态字与工作寄存器组的对应关系

在这里插入图片描述

2.3 控制器——对指令进行处理

组成部分描述
时钟电路分内部时钟电路和外部震荡源
复位电路使电路恢复称起始状态
指令寄存器存放指令代码
指令译码器对指令进行译码,译码之后有定时和控制电路发出相应的控制信号
程序计数器PC(16位)PC用来存放CPU下一条要执行的指令地址,PC内容送到地址总线,CPU读取指令,PC自动加1,复位时PC=0000H
堆栈指针SP(8位)MCS-51的堆栈设在片内RAM,用于子程序调用及返回中断处理断点的保护和返回数据入栈出栈时,SP自动加减1,其内容始终为栈顶地址,复位时SP=07H
数据指针DPTR(16位)存放片外存储器地址,作为片外存储器的指针,可以分为两个八位寄存器DPH,DPL使用
来自wave仿真器的截图

在这里插入图片描述

3. 存储器的结构

总体框架

单片机的存储器可以分为三个部分:程序存储器(64KB),内部数据存储器(256B),外部数据存储器(64KB)
(存储器及其大小的理解,以程序存储器为例子,程序存储器就相当于一栋大楼,这栋大楼一共有64K( 2 16 2^{16} 216)个房间,每个房间可以存放一个字节(8个2进制数)的数据,相当于有8个床位(有人是1,没人是0)
在这里插入图片描述

3.1 程序存储器

对于8051来说, 程序存储器(ROM)的内部地址为 0000H~0FFFH, 共 4 KB; 外部地址为 1000H ~ FFFFH, 共 60 KB。 当程序计数器由内部 0FFFH执行到外部 1000H 时, 会自动跳转。

按字节存放,64K的地址,存储空间是64KB
也有一些没有内部程序存储器,如8031.

补充说明:ROM(read only menmory),这种存储单元不会因为掉电而消失,ROM有MASKROM.PROM,EPROM,EEPROM,FLASH,当需要需要频繁的重写,就要采用EEPROM,或是FLASH,因为FLASH擦写速度快,所以一般采用FLASH。

3.2 内部数据存储器

从00H到0FFH一共256个字节,低128个字节(00H-7FH)为整整的RAM区,高128字节(80H-FFH)为特殊功能寄存器SFR

RAM区(低128字节)

3.2.1 (00H-1FH)通用工作寄存器

在低128个字节RAM中,00H-1FH共32个单元是4个通用工作寄存器区。每一个区有8个通用寄存器R0-R7,地址对应关系如下
在这里插入图片描述

3.2.2 (20H-2FH)位寻址区

可以当成一般的开放区使用,也可以通过地址映射表进行位操作

位寻址对应的地址图

在这里插入图片描述

3.2.3 (30H-7FH)开放区

这部分区域“痛快的”开放给用户使用,用户直接对该区域进行写入与读取。

特殊功能寄存器SFR

各个特殊功能寄存器在内存(80H-0FFH)的分布如下,但是要注意,这部分寄存器是分散地分布,但是没有被占用的地址一般不会用作一般开放区,因为这些地址有可能不存在。

各个特殊功能寄存器的分布位置

在这里插入图片描述

各个寄存器的详细信息

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

PSW程序状态字的说明
位符号名称功能
CY进位标志位最高位向前进位借位时,CY为1
AC辅助进位标志位用于十进制调整,低四位向高四位进位借位时,AC为1
F0用户标志位可以用指令置位,复位
RS1、RS0寄存器组选择位选择寄存器组
OV溢出标志位带符号加减运算,结果溢出,OV为1,乘积超过255,OV为1,出发无意义,OV为1
/无定义
P奇偶标志位累加器A中为奇数,P为1

3.3 外部数据存储器

外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定, 最大可扩展到 64 KB RAM , 地址是 0000H~0FFFFH。
CPU通过MOVX指令访问外部数据存储器, 用间接寻址方式, R0、R1和 DPTR都可作间接寄存器。
注意, 外部RAM和扩展的I/O接口是统一编址的, 所有的外扩I/O 口都要占用 64 KB中的地址单元。

4. 并行IO接口

·MCS-51单片机有4个双向8位并行的IO口;P0-P3
·每一个口都是一个8位的锁存器
·复位后状态都是1

4.1 P0是三态双向口

三态指0,1,高阻态
既可以作为并行IO口,也可以作为数据总线口
当外部拓展了存储器或是IO端口,则只能作数据总线和地址总线低8位

4.2 P1 P2 P3是准双向口

  1. P1口是专供用户使用的IO口
  2. P2可以做并行IO口,当有外部拓展时,充当地址总线感8位
  3. P3还是双功能口,每个口都有第二功能
    在这里插入图片描述

5.单片机的引脚与功能

5.1 总览

在这里插入图片描述

引脚功能
端口线(4*8)前面的IO端口介绍
电源线VCC电源线,VSS接地线
控制线(6条)进行一些控制

5.2 控制线

符号名称
A L E / P R O G ‾ ALE/\overline{PROG} ALE/PROG地址锁存允许/编程线
E A ‾ / V P P \overline{EA}/VPP EA/VPP允许访问片外存储器/变成电源线
P S E N ‾ \overline{PSEN} PSEN片外ROM选通线
R S T / V P D RST/VPD RST/VPD复位/备用电源线
X T A L 1 / X T A L 2 XTAL1/XTAL2 XTAL1/XTAL2片内震荡电路输入输出线

6. 单片机的基本时序

6.1 机器周期和指令周期

  1. 振荡周期,也称时钟周期,是指为单排年级提供时钟振荡信号的振荡源的周期
单片机的时钟电路

在这里插入图片描述

(a)内部时钟电路 (b)外部振荡源
  1. 状态周期:每个状态周期是时钟周期的两倍,每个状态周期由两个节拍P1,P2组成
  2. 机器周期:一个机器周期包含6个状态周期,也就是12个时钟周期,在一个机器周期内,单片机可以完成一个独立的操作
  3. 指令周期:CPU执行一条指令所需要的时间叫做一个指令周期,由一个或是几个机器周期组成
例子及其关系

在这里插入图片描述
因为重点关注硬件结构,时序暂时不作深入了解

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值