单片机中寄存器的作用

合集下载

单片机寄存器_MCS-51单片机特殊功能寄存器详解

单片机寄存器_MCS-51单片机特殊功能寄存器详解

1、定时器/计数器的方式寄存器TMODTMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。

A.主要完成三个功能:*确定选择定时器还是计数器;*选择何种工作方式;*是否借用外中断控制定时器和计数器的启停;B.TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端);TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)C.控制字的格式和含义a、GATE(TMOD.7)分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者都为高电平时定时器才开始工作;b、C/T(TMOD.6)分为两种情况:C/T=0,用作定时器;C/T=1,用作计数器;d、M1(TMOD.5), M0(TMOD.4)用M1,M0来控制定时器/计数器的4种工作方式:*方式0:M1=0,M0=0.13位定时/计数方式*方式1:M1=0,M0=1.16位定时/计数器*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数2、定时器/计数器控制寄存器TCONTCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。

A 控制字的格式和含义a、TF1(TCON.7),TF0(TCON.5)----T1、T0计数溢出标志位当计数器计数溢出时,该位置“1”。

使用查询方式时,此位作为状态位供cpu查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。

使用中断方式时,此位作为中断申请标志位,进入中断服务程序后由硬件自动清0.b、TR1(TCON.6),TR0(TCON.4)----计数运行控制位TR1(TR0)=1,启动定时/计数器工作的必要条件,还与GATE位的状态有关。

MCS-51单片机特殊寄存器功能说明概要

MCS-51单片机特殊寄存器功能说明概要

MCS51单片机SFR特殊寄存器MCS51单片机SFR特殊寄存器功能说明程序壮态字PSW(Program Status Word)(可以位寻址)若P=1,表示累加器A中的个数为奇数。

若P=0,累加器A中的个数为偶数。

2.OV益出标志位若OV=1,表示运算时有益出产生。

否则OV=03.RS1 RS0寄存器选择位用户自行设置。

5.AC辅助进位位若AC=1,表示在加减法运算时,低4位A3有进位或借位。

否则CY=06.CY进位标志位若CY=1,表示在加减法运算时,最高位A7有进位或借位。

否则CY=0电源控制器&波特率(不可以位寻址)若IDL=1,进入空闲模式。

(硬件或重新上电可复位)。

若IDL=0,正常方式2.PD为停止运行控制位若PD=1,进入停止模式。

(硬件或外部中断可复位)。

若PD=0,正常方式3.GF0 CF1为通用标志位用户可通过指改变它的壮态。

4.SMOD为波特率倍率控制位若SMOD=1,则串行口的波特率为16位若SMOD=0, 则串行口的波特率为32位定时器/计数器模式寄存器TMOD(不可以位寻址)若使C/T=0,为内部定时器模式。

(由TH和TL做定时器)若使C/T=1,为外部计数器模式。

(从T0/P3.4口或从T1/P3.5口输入计数脉冲)(前一次检测为高电平,后一次检测为低电平时,才会使计数器加1。

由于二次的检测需要24个时钟脉冲,通常T0,或T1输入线上的计数脉冲频率总是<100KHZ)3.GATE为定时器/计数器控制位当GATE=1时,TR控制位置位1时,而且只有在INT0或(INT1)为高时,才可以打开定时器/计数器工作。

(与INT0或INT1有关)(当GATE=1时,则INT0或INT1作为辅助控制线,不再用作中断请求输入线。

GATE的这种控制作用可使定时器/计数器用来测量脉冲的宽度)当GATE=0时,定时器/计数器工作与INT0或INT1无关。

定时器初值的计算:TC=M-T X/T P 左公式可转换为TC=M-T X*fosc/ 12(12T)或6(6T)或1(1T)TC为实际定时时间初值M为模值 (M=8或M=13,或M=16)Fosc为时钟频率T X为定时器需要的定时时间T P为机器周期时钟周期 T CLK=1/Fosc (如:STC的开发板的Fosc是11.0592MHZ)T CLK =1/11.0592MHZT CLK≈0.09042us机器周期TP=12*T CLK或(6*T CLK)或(1*T CLK) 左公式转换为:≈12*0.09042us TP= 12/Fosc(12T CLK)或6/Fosc(6T CLK) 或1/Fosc (1T CLK)≈1.08507us1.IT0为外部中断INT0的中断触发标志位若使IT0=1,INT0为负边沿触发。

51单片机特殊功能寄存器(SFR)介绍

51单片机特殊功能寄存器(SFR)介绍

51单片机特殊功能寄存器(SFR)介绍51单片机特殊功能寄存器(SFR)介绍1、21 个寄存器介绍51 系列单片机内部主要有四大功能模块,分别是I/O 口模块、中断模块、定时器模块和串口通信模块(串行I/O 口),如其结构和功能如下图:图151 单片机结构和功能图51 单片机掌握的好坏,其实就是能否正确操作这四个功能模块,而其操作的实质则又是能否对每个模块所对应寄存器的正确操纵。

所以下面重点介绍一下51 系列单片机内部的特殊功能寄存器(简称SFR,以下说明以此代替)。

(关于什么叫特殊功能寄存器,这里先不作介绍,不懂的请查阅51 单片机相关资料。

)51 单片机内部共有21 个SFR,其布局如图2,从图中可以看出,每个SFR 占1 个字节,多数字节单元中的每一位又有专用的位名称。

这21 个SFR 又按是否可以位寻址分为两大部分,ACC、IE、P1 等11 个可以位寻址,SP、TMOD 等不可以位寻址。

图2 51 单片机SFR 布局图2、位寻址解释下面以P1、IE 寄存器(可位寻)和TMOD(不可位发)为例解释一下位寻址。

能位寻址是指能够对它的每一位都可以进行位操作,如图3,如P1 口接8 个灯,灯阳极接正极,阴极接单片机的P1 口的8 个脚。

现在要让接P1 口第1 个引脚的灯亮,程序中可以写P1=0xfe,也可以先定义deng1=P1,即P1 口的第1 位,至于为什么写P1,是因为KEIL 软件规定的,然后deng1=0。

也就是P1=0xfe 和deng1=0 都是可以点亮第一个灯,后者deng1=0 属于位操作,前者P1=0xfe 属于总线操作,也就是8 个引脚一起操作。

图3 8 位灯接线图下面再以IE 寄存器为例进行位操作的解释。

IE 寄存器为中断允许寄存器,如各位的作用。

单片机笔记-寄存器、引脚及其英文名称缩写

单片机笔记-寄存器、引脚及其英文名称缩写

单片机笔记-寄存器、引脚及其英文名称缩写在单片机开发过程中,我们常常会涉及到寄存器和引脚的使用。

寄存器是用于存储和处理数据的重要组成部分,而引脚则是用于连接外部设备和单片机的接口。

了解寄存器、引脚及其英文名称缩写是学习和理解单片机编程的重要一步。

一、寄存器寄存器是单片机中的一种特殊功能寄存器,它们用来存储特定的信息,如状态、控制和数据等。

寄存器的使用是通过对其地址进行读/写操作来实现的。

在单片机中,存在着许多不同的寄存器,下面是一些常见的寄存器及其英文名称缩写:1. 状态寄存器(Status Register) - SR状态寄存器用于存储和显示一些跟运算或处理结果有关的标志位,如进位标志位、溢出标志位、零标志位等。

通过对状态寄存器的读写,可以获取或设置这些标志位的值。

2. 数据寄存器(Data Register) - DR数据寄存器用于存储临时数据,如中间计算结果或输入/输出数据等。

读写数据寄存器时,可以进行数据的读取或写入操作。

3. 控制寄存器(Control Register) - CR控制寄存器用于控制某些外设或特定功能的工作方式,如时钟控制寄存器、中断控制寄存器等。

写入或读取控制寄存器可以实现对相应功能的配置和控制。

4. 地址寄存器(Address Register) - AR地址寄存器用于存储指令和数据的地址信息。

在程序执行过程中,地址寄存器可以用于指示当前要执行的指令或要读取/写入数据的地址。

二、引脚引脚是单片机的外部接口,通过引脚可以与其他电子元件或设备进行连接和通信。

引脚的使用通常包括输入输出、中断触发、时钟输入等功能。

下面是一些常见的引脚及其英文名称缩写:1. 电源引脚(Power Pin) - VCC、GND电源引脚用于提供单片机的供电电源。

其中,VCC用于给单片机提供正电源,而GND则是单片机的接地端。

2. 输入引脚(Input Pin) - IN输入引脚用于接收外部信号。

51单片机寄存器功能一览表(最全)

51单片机寄存器功能一览表(最全)

0V:溢出标志位运算结果按补码运算理解。

有溢出,OV=1;无溢出,OV=0。

什么是溢出我们后面的章节会讲到。

P:奇偶校验位它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。

若为奇数,则P=1,否则为0。

运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。

例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。

4、DPTR(DPH、DPL)--------数据指针7、IP-----中断优先级控制寄存器8、TMOD-----定时器控制寄存器•IT0:外部中断源0触发方式控制位。

IT0=0,外部中断1程控为电平触发方式,当INT0(P3.2)输入低电平时,置位IE0。

10、SCON----串行通信控制寄存器它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:(1)SM0、SM1:串行口工作方式控制位。

SM0,SM1 工作方式00 方式0-波特率由振荡器频率所定:振荡器频率/1201 方式1-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/3210 方式2-波特率由振荡器频率和SMOD所定:2SMOD ×振荡器频率/6411 方式3-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/32(2)SM2:多机通信控制位。

< br> 多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。

接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。

当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。

工作于方式0时,SM2必须为0。

(3)REN:允许接收位。

< br> REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。

详解单片机数据结构

详解单片机数据结构

详解单片机数据结构一、单片机内存结构单片机内存结构主要包括程序存储器(ROM)和数据存储器(RAM)。

程序存储器用于存储单片机的指令代码,而数据存储器用于存储程序运行过程中的数据。

单片机内存结构的设计需要考虑存储容量、存取速度、存取方式等因素,以满足不同应用场景的需求。

二、寄存器寄存器是单片机中的一种特殊存储器单元,用于暂时存储指令和数据。

单片机的寄存器分为通用寄存器和特殊功能寄存器两种类型。

通用寄存器用于存储临时数据,特殊功能寄存器用于存储一些特定功能的数据,如控制寄存器、状态寄存器等。

寄存器的设计和使用可以提高单片机的运行效率和灵活性。

三、堆栈堆栈是一种特殊的数据结构,用于存储函数调用时的局部变量和返回地址。

单片机通过堆栈实现函数的嵌套调用和返回。

堆栈的设计需要考虑存储容量和存取效率,合理利用堆栈可以提高单片机的编程效率和系统性能。

四、队列队列是一种先进先出(FIFO)的数据结构,用于存储和管理数据。

在单片机中,队列可以用于缓存输入输出数据、任务调度等应用场景。

队列的设计需要考虑队列长度、入队和出队操作的效率等因素,以满足实际应用的需求。

五、链表链表是一种动态数据结构,可以根据数据的插入和删除自由调整内存空间的分配。

在单片机中,链表可以用于存储和管理动态变化的数据,如传感器数据、任务列表等。

链表的设计需要考虑内存分配和释放的效率,合理利用链表可以提高单片机的灵活性和存储效率。

单片机数据结构的设计是为了优化单片机的存储和处理能力。

通过合理设计单片机内存结构、寄存器、堆栈、队列和链表等数据结构,可以提高单片机的运行效率、编程效率和系统性能,满足不同应用场景的需求。

在实际应用中,需要根据具体需求选择合适的数据结构,并根据实际情况进行优化和调整,以达到最佳的性能和功能。

MCS-51单片机的(SFR)特殊功能寄存器

MCS-51单片机的(SFR)特殊功能寄存器

MCS-51单片机的特殊功能寄存器从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在一个51单片机的内部包含了这么多的东西。

对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O 口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表下面,我们介绍一下几个常用的SFR。

1、ACC---是累加器,通常用A表示。

这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器。

在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC = 0000H(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H(3)数据指针DPTR@R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。

DPTR = DPH + DPL。

可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。

分成DPL(低8位)和DPH(高8位)两个寄存器。

用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作4、PSW-----程序状态字。

单片机中寄存器的作用

单片机中寄存器的作用

单片机中寄存器的作用
单片机中寄存器的作用
单片机中的寄存器是一种独立的储存单元,用来存放指令、数据和程序计数器等信息,是程序运行的重要部件和总线的重要环节。

1. 指令寄存器:指令寄存器用来存放当前要执行的指令。

由指令寄存器将指令发到指令译码器,以使得微处理器知道当前应执行何种操作。

2. 数据寄存器:数据寄存器是一种可以允许数据存储的寄存器,微处理器可以从储存器中读取数据,也可以将数据存入储存器中。

3. 状态寄存器:状态寄存器用来控制微处理器的工作状态,如时钟的频率,中断的使能,输入/输出端口的设置等。

4. 程序计数器:程序计数器是一个特殊的指令寄存器,它用来对当前执行的指令地址进行记录,以便下一条指令的执行,这样可以起到跳转到指令的执行位置。

5. 累加器:它是一种“存取暂存器”,即在某个操作期间它可以用来存放数据,也可以用来处理计算时所需要的数据。

通过以上几种寄存器的联动,实现了单片机在硬件层面的功能实现。

在给定指令和功能的前提下,单片机可以实现较为复杂的控制操作。

- 1 -。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机中寄存器的作用
在单片机中,寄存器是一种非常重要的组成部分。

它们被用于存储
临时数据和控制单元的操作。

寄存器在单片机的操作中发挥着关键的
作用,不仅提供了临时存储空间,还可以用于存储控制和状态信息。

本文将介绍单片机中寄存器的作用及其在单片机中的应用。

一、寄存器的概念与分类
在单片机中,寄存器是一种用于存储数据的特殊硬件。

它们通常由
几个二进制位组成,可以用来存储0和1的状态。

根据单片机的架构
和功能,寄存器可以分为通用寄存器、特殊功能寄存器和状态寄存器。

通用寄存器是单片机中最常用的一类寄存器。

它们通常用于存储计
算过程中的中间结果,包括整数、浮点数、地址和其他临时数据。


用寄存器具有较大的数据容量,在程序执行过程中可以被多次读取和
写入。

特殊功能寄存器(SFR)是单片机的核心组成部分,也是单片机与
外部设备之间进行数据传输和控制的接口。

这些寄存器用于存储特殊
的控制和状态信息,并通过特定的寄存器地址进行访问。

特殊功能寄
存器的内容可以被通过一系列指令来读取和写入,以实现单片机的各
项功能。

状态寄存器用于存储单片机的状态信息,比如运算结果是否为零、
是否进位等。

状态寄存器的内容通常由计算逻辑单元自动生成,在程
序执行过程中可以根据需要进行读取和修改。

状态寄存器的值对程序
的执行流程和结果有重要影响。

二、寄存器的作用
1. 存储临时数据:寄存器可以提供临时的数据存储空间,用于存储
计算过程中的中间结果和临时变量。

通过读写寄存器,可以在程序的
不同阶段进行数据传递和处理。

这样可以避免频繁地读写内存,在一
定程度上提高了程序的执行效率。

2. 控制单元操作:寄存器中的数据可以直接用于控制单元的操作,
包括条件判断、循环控制等。

通过修改寄存器中的值,可以改变控制
单元的行为,实现不同的程序逻辑和功能。

寄存器在单片机的控制过
程中具有非常重要的作用。

3. 存储控制信息:单片机中的特殊功能寄存器用于存储控制和配置
信息。

通过读写特殊功能寄存器,可以对单片机的各项功能进行设置
和控制。

这些寄存器的值可以决定单片机的工作模式、输入输出口的
功能和状态等。

4. 存储状态信息:状态寄存器用于存储单片机的状态信息和处理器
的标志位。

通过读取状态寄存器的值,可以获取和判断单片机的状态,比如是否发生溢出、是否输入/输出完成等。

这些信息对程序的正确执
行和结果的判断至关重要。

5. 数据传输与交换:寄存器可以用于数据的传输和交换。

通过将一
个寄存器中的值复制到另一个寄存器中,可以实现数据的移动和交换。

这在单片机的编程过程中非常常见,可以方便地进行数据的处理和操作。

三、寄存器的应用举例
1. 通用寄存器的应用:通用寄存器在单片机的编程过程中广泛应用。

比如在进行数值计算和逻辑运算时,可以使用通用寄存器存储中间结果;在进行数据传输和处理时,可以使用通用寄存器存储传输的数据;在进行函数调用和参数传递时,可以使用通用寄存器存储函数的返回
值和参数等。

2. 特殊功能寄存器的应用:特殊功能寄存器在单片机的外设控制和
配置中起到重要的作用。

比如单片机的输入输出端口控制、时钟配置、定时器和计数器的设置等,都是通过修改特殊功能寄存器的值来实现的。

这些寄存器的具体应用和功能取决于单片机的型号和功能。

3. 状态寄存器的应用:状态寄存器在单片机的运算和处理过程中起
到重要的判断和标志作用。

比如在进行数值运算时,可以通过状态寄
存器的值来判断是否发生溢出或者是否为零;在进行输入输出操作时,可以通过状态寄存器的值来判断是否完成输入输出等。

这些状态信息
对程序的正常执行和结果的判断非常重要。

四、总结
寄存器在单片机中具有重要的作用,它们不仅可以提供临时数据的
存储空间,还可以存储控制和状态信息。

通用寄存器在数据处理和传
输中起到关键的作用,特殊功能寄存器用于外设的控制和配置,状态
寄存器用于存储程序的状态信息。

了解和掌握寄存器的作用和应用,对于单片机的编程和应用具有重要的意义。

通过合理地使用寄存器,可以提高程序的效率和功能,实现更加复杂的系统和应用。

相关文档
最新文档