单片机寄存器是什么?单片机寄存器有哪些分类?
单片机中有很多种特殊功能,今天宇凡微来为大家介绍”单片机的寄存器是什么?“以下内容将详细分析单片机寄存器 的各个参数。
单片机寄存器是什么?
一、单片机寄存器是什么?
寄存器是一种特殊的存储器,主要用于存储和检查微机的状态。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今日分享的单片机寄存器相关知识,希望对大家有帮助,如果您还有其他疑问,欢迎一起探讨交流。
相关问答
什么是 单片机的寄存器 ?单片机的寄存器是一种存储器件,用于存储和操作单片机中的数据。它是单片机内部的一部分,在CPU内部或与CPU紧密集成。寄存器的容量通常非常有限,每个寄存器能够...
单片机寄存器 通俗解释?单片机寄存器就是一种用来存储特定信息的硬件单元,它的数量和类型会因单片机型号的不同而有所差别。与内存或存储器不同,单片机寄存器位于CPU内部,并且存取速...
简述程序状态 寄存器 PSW各位的含义, 单片机 如何确定和改变当前工作 寄存器 组?PSW各位的定义如下:Cy(PSW.7):即PSW的D7位,进位、借位标志。进位、借位CY=1;否则CY=0.AC(PSW.6):即PSW的D6位,辅助进位、借位标志。当D3向D4有借位或...进...
51 单片机 工作 寄存器 组是什么?51单片机的工作寄存器组是RAM低端的32个单元,地址是00~1FH,这个区域被分成4组,每组都是8个单元,单元的名称都是R0~R7。工作寄存器组很重要,用于单片机内部...
单片机寄存器 芯片的作用?可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。分成DPL(低8位)和DPH(高8位)两个寄存器。用来存放16...
什么是 单片机 SR控制?单片机SR控制是指单片机里的16个CPU寄存器中状态寄存器的控制。单片机是是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理...单...
关于 单片机 工作 寄存器 位,地址,字节的理解?不知道你问的是什么问题!可能你根本就没理解寄存器地址的基本概念!51单片机因为是8位机,其每一个寄存器的位数也是8位的,也就是一个字节的长度。32位机的寄...
51 单片机 之程序状态字 寄存器 主要功能?51单片机的PSW(程序状态字)寄存器包括了C,AC,RS1,RS0,OV,P等几个状态位,这些状态位反映的是51单片机在执行完某个指令后的状态,比如有没有进位,有没有溢出,A...
单片机 ccr是什么?1.CCR是单片机中的一个功能模块。2.CCR是Capture/CompareRegister的缩写,用于捕获和比较功能。它可以用来捕获外部事件的时间戳或者进行定时器的比较。3.C...
单片机 当中的程序状态字PSW,是做什么的?能给具体的说说吗?谢...程序状态字(PSW)是单片机中的一个寄存器,用于存放当前程序的执行状态。它包含了许多寄存器,如工作寄存器、标志位、堆栈指针等。在单片机的运行过程中,这些寄...