单片机寄存器是什么?单片机寄存器有哪些分类?
单片机中有很多种特殊功能,今天宇凡微来为大家介绍”单片机的寄存器是什么?“以下内容将详细分析单片机寄存器 的各个参数。
单片机寄存器是什么?
一、单片机寄存器是什么?
寄存器是一种特殊的存储器,主要用于存储和检查微机的状态。CPU寄存器用于存储和检查CPU的状态,具体包括计算中途数据、程序因中断或子程序分支时的返回地址、计算结果为零时的负值、计算结果为零时的信息、进位值等。
由于CPU的通用寄存器在硬件上直接与CPU相连,因此它们的访问速度比RAM更快,后者通过内部总线访问数据。
单片机的外围功能控制寄存器用于设置外围功能,例如称为通用I/O GPIO的I/O端口、定时器、串行通信、AD转换器和DA转换器。有显示外围功能状态的状态寄存器,存储AD转换器转换结果的结果寄存器,以及存储通信功能中发送/接收数据的发送/接收数据寄存器。
我们可以直接从程序中设置寄存器,但是通常使用厂商们提供的固件库(设备驱动),所以寄存器不是直接设置,而是间接设置的。
二、单片机寄存器的分类
1、SCON控制寄存器
SM2——多机通信控制位:是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接收到的数据放弃。当SM2=0时,就不管第9位数据是0还是1,都会将数据送入SBUF,并发出中断申请。工作于方式0时,SM2必须为0;
REN允许接收位:用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收;
RB8接收数据位8:在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征;
TB8发送数据位8:在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址;
RI接收中断标志位:可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成;
在串口中断处理时,TI,RI都需要软件清"0",硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要ES=0,以防止中断出现。
2、AUXR辅助寄存器
AUXR.0:S1BRS,如果为1那么串口1的波特率发生器为独立波特率发生器,否则为定时器1
AUXR.1:EXTRAM,为1则可以使用内部扩展RAM;
AUXR.2:BRTx12,为1则独立波特率发生器不分频,否则12分频;
AUXR.3:S2SMOD,为1串口2波特率加倍,否则不加倍;
AUXR.4:BRTR,为1则允许独立波特率允许,否则不允许;
AUXR.5:UART_M0x6,为1则串口模式0为2分频,否则为12分频;
AUXR.6:T1x12,为1则定时器1不分频,否则12分频;
AUXR.7:T0x12,为1则定时器0不分频,否则12分频。
3、串口寄存器SBUF
SBUF是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H;
串行发送数据时,CPU向SBUF写入数据 SBUF=date; //发送数据;
串行接收数据时,CPU从SBUF读出数据 date=SBUF; //接收数据。
推荐阅读:“揭秘”单片机主要寄存器有哪些?
以上就是深圳宇凡微为大家介绍关于单片机寄存器 是什么和单片机寄存器有哪些分类的全部内容。
原文:单片机寄存器是什么?单片机寄存器有哪些分类?-深圳宇凡微
TCOOP为您解惑单片机寄存器是什么?有哪几种类型
近期有朋友在咨询单片机寄存器的事情,对这方面了解不多,不知道该如何使用,今天TCOOP就将这方面内容整理分享给大家。下面一起来看吧!
什么是单片机寄存器?
寄存器是CPU内部的一种存储器,分为通用寄存器和特殊功能寄存器(8086也细分为特殊功能寄存器)。通用寄存器,顾名思义是通用的。它们可以存储操作数、运算结果、内存地址等数据,在用C语言编程时,编译器一般负责安排通用寄存器的使用,无需直接联系它们。特殊功能寄存器具有特定功能,其中一些作用于CPU,比如PC存放下一条指令的地址,SP记录栈顶在内存中的位置,其中一些与IO模块相连,单片机程序通过这些寄存器控制各种外设。
寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个"8位元寄存器"或"32位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为“架构寄存器”。例如,x86指令集定义八个32位元寄存器的集合,但一个实作x86指令集的CPU可以包含比八个更多的寄存器。寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
单片机的主要寄存器:
(1)累加器A累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
(2)数据寄存器DR数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
(3)指令寄存器IR和指令译码器ID指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。
(4)程序计数器PCPC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
(5)地址寄存器AR地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。
以上就是TCOOP今日分享的单片机寄存器相关知识,希望对大家有帮助,如果您还有其他疑问,欢迎一起探讨交流。
相关问答
单片机 RAM中,sp的 作用 是什么?SP指的是堆栈指针详细解释如下:堆栈是一种数据结构,和他相类似的有队列。如果对数据结构有这样的要求:先将数据放到该区内,先放的后出后放的先出。这...
单片机寄存器 通俗解释?单片机寄存器就是一种用来存储特定信息的硬件单元,它的数量和类型会因单片机型号的不同而有所差别。与内存或存储器不同,单片机寄存器位于CPU内部,并且存取速...
C语言中,怎么定义 单片机的寄存器 -ZOL问答所以不能定义单片机的寄存器。访问寄存器可以通过直接地址引用来完成。例如52单片机的寄存器有4组,分别为00H-07H,08H-0FH,10H-17H,18H-1FH,各组均8字节,要结...
单片机 有几个通用 寄存器 ?51单片机共有四组通用寄存器(r0~r7),默认的为第0组,地址为00h~07h第一组为08h~0fh,第二组为10h~17h,第三组为18h~1fh如果你的中断中存在调用r0~r7寄存器...
5051 单片机 定义 寄存器 名称及 作用 ?是51单片机特有的,他的作用是定义一个单片机特殊功能寄存器(specialfunctionregister)。51单片机内部有很多个小模块,每个模块居住在拥有唯一房间号的房间...
pic 单片机 status 寄存器的作用 是什么?pic单片机status寄存器的作用是:各类数据存储器都是以寄存器方式工作和寻址的。型号不同的PIC单片机,其数据存储器的内部资源仅仅是功能种类和多少的不同...
TH1 寄存器作用 ?TH1和TL1分别指的是单片机中定时器来1的Timer寄存器的高八位源,低八位。2、定时器的核心部件是一个加法(也有减法)的计数器百,其本质是对秒冲进行计数.TH1...
单片机 主要 寄存器 有哪些?[回答]指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。累加器A是微处理器中使用比较频繁的寄存器。在算术和逻辑运算时它有双功...
单片机 复位电路的 作用 是什么?单片机的状态处于初始化状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。目的是让单...单片机复位电路的作用...
单片机寄存器 如何控制引脚?单片机寄存器可以通过配置和控制特定的寄存器位来控制引脚的工作模式和输出状态。一般来说,单片机都会提供一组寄存器来控制引脚的工作方式、输入输出状态、上...