【SoC基础】单片机之寄存器解析

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨

📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852

📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉

📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处

文章目录

  • 1、寄存器位置
  • 2、寄存器种类
    • [2.1 通用用途寄存器](#2.1 通用用途寄存器)
    • [2.2 CPU执行相关寄存器](#2.2 CPU执行相关寄存器)
    • [2.3 外设控制寄存器](#2.3 外设控制寄存器)
  • [3. 寄存器在CPU访问外设过程中起到的作用](#3. 寄存器在CPU访问外设过程中起到的作用)

1、寄存器位置

寄存器通常存放在单片机的内部。

具体来说,寄存器是集成在单片机的中央处理器(CPU)内,作为CPU的一部分,用于暂存指令、数据和地址等信息,以支持CPU快速地进行数据处理和运算。此外,一些特殊功能寄存器还分布在单片机的其他功能模块中,用于控制和配置这些模块的工作模式和状态,如定时器、串口等模块都有各自对应的控制寄存器。

2、寄存器种类

寄存器种类繁多,在不同的系统和场景下有着不同的划分方式,以下为你从通用用途、CPU执行、外设控制三个方面对寄存器进行分类并制成表格:

2.1 通用用途寄存器

寄存器类型 说明 应用场景
通用数据寄存器 用于暂存数据和运算结果,可进行算术、逻辑运算等操作。如8086CPU中的AX、BX、CX、DX 数据处理、运算操作
地址寄存器 存储内存地址,方便CPU快速定位和访问内存单元。如基址寄存器、变址寄存器等 内存寻址、数据读取与存储

2.2 CPU执行相关寄存器

寄存器类型 说明 应用场景
程序计数器(PC) 存放下一条要执行的指令地址,使CPU按顺序执行程序 程序执行流程控制
指令寄存器(IR) 存放当前正在执行的指令,供CPU进行译码和执行 指令译码与执行
状态寄存器(PSW) 包含各种标志位,反映运算结果的状态(如进位、溢出、零标志等)和CPU的工作状态 条件判断、程序分支控制

2.3 外设控制寄存器

寄存器类型 说明 应用场景
控制寄存器 用于配置和控制外设的工作模式、功能等。如串口通信的波特率控制寄存器、定时器的工作模式控制寄存器 外设功能配置与控制
状态寄存器 反映外设的当前工作状态,如设备是否忙、是否有数据就绪等 外设状态监测与处理
数据寄存器 用于外设与CPU之间的数据传输,如串口的数据发送寄存器和接收寄存器 外设数据读写

3. 寄存器在CPU访问外设过程中起到的作用

本质上,CPU访问外设或存储器主要是通过地址总线、数据总线和控制总线来实现的,而不是寄存器。不过,寄存器在这个过程中也起着重要的辅助作用。

CPU通过地址总线发送地址信号来指定要访问的外设或存储器的具体位置,通过控制总线发送控制信号来确定操作类型(如读或写),通过数据总线来传输数据。

寄存器在其中的作用是暂存数据、地址和控制信息等,例如,CPU在访问外设或存储器之前,会先将地址信息存入地址寄存器,将数据存入数据寄存器,然后通过总线将这些信息发送出去。在数据传输完成后,也会将接收到的数据存入相应的数据寄存器。所以寄存器是协助CPU进行数据处理和传输的重要部件,但并非CPU访问外设或存储器的本质方式。

相关推荐
小莞尔3 小时前
【51单片机】【protues仿真】基于51单片机数字温度计数码管系统
单片机·嵌入式硬件
future14125 小时前
MCU硬件学习
单片机·嵌入式硬件·学习
GilgameshJSS5 小时前
STM32H743-ARM例程24-USB_MSC
c语言·arm开发·stm32·单片机·嵌入式硬件
小莞尔6 小时前
【51单片机】【protues仿真】基于51单片机电压测量多量程系统
c语言·单片机·嵌入式硬件·物联网·51单片机
showmethetime6 小时前
STM32实现LED舞台灯具控制
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi6 小时前
基于单片机的智能电力参数测量 (论文+源码)
单片机·嵌入式硬件·毕业设计·电力参数测量
python百炼成钢6 小时前
3.Linux 网络相关
linux·运维·网络·stm32·单片机
mc235610 小时前
STM32F103C8T6--深入GPIO
stm32·单片机·嵌入式硬件
兆龙电子单片机设计10 小时前
【STM32项目开源】STM32单片机智能家居控制系统
stm32·单片机·物联网·开源·毕业设计·智能家居
A9better11 小时前
嵌入式开发学习日志41——stm32之SPI总线基本结构
stm32·单片机·嵌入式硬件·学习