单片机中寄存器的作用
单片机寄存器_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单片机特殊寄存器功能说明概要

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)介绍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单片机寄存器功能一览表(最全)

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单片机的特殊功能寄存器从图中我们可以看出,在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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机中寄存器的作用
在单片机中,寄存器是一种非常重要的组成部分。
它们被用于存储
临时数据和控制单元的操作。
寄存器在单片机的操作中发挥着关键的
作用,不仅提供了临时存储空间,还可以用于存储控制和状态信息。
本文将介绍单片机中寄存器的作用及其在单片机中的应用。
一、寄存器的概念与分类
在单片机中,寄存器是一种用于存储数据的特殊硬件。
它们通常由
几个二进制位组成,可以用来存储0和1的状态。
根据单片机的架构
和功能,寄存器可以分为通用寄存器、特殊功能寄存器和状态寄存器。
通用寄存器是单片机中最常用的一类寄存器。
它们通常用于存储计
算过程中的中间结果,包括整数、浮点数、地址和其他临时数据。
通
用寄存器具有较大的数据容量,在程序执行过程中可以被多次读取和
写入。
特殊功能寄存器(SFR)是单片机的核心组成部分,也是单片机与
外部设备之间进行数据传输和控制的接口。
这些寄存器用于存储特殊
的控制和状态信息,并通过特定的寄存器地址进行访问。
特殊功能寄
存器的内容可以被通过一系列指令来读取和写入,以实现单片机的各
项功能。
状态寄存器用于存储单片机的状态信息,比如运算结果是否为零、
是否进位等。
状态寄存器的内容通常由计算逻辑单元自动生成,在程
序执行过程中可以根据需要进行读取和修改。
状态寄存器的值对程序
的执行流程和结果有重要影响。
二、寄存器的作用
1. 存储临时数据:寄存器可以提供临时的数据存储空间,用于存储
计算过程中的中间结果和临时变量。
通过读写寄存器,可以在程序的
不同阶段进行数据传递和处理。
这样可以避免频繁地读写内存,在一
定程度上提高了程序的执行效率。
2. 控制单元操作:寄存器中的数据可以直接用于控制单元的操作,
包括条件判断、循环控制等。
通过修改寄存器中的值,可以改变控制
单元的行为,实现不同的程序逻辑和功能。
寄存器在单片机的控制过
程中具有非常重要的作用。
3. 存储控制信息:单片机中的特殊功能寄存器用于存储控制和配置
信息。
通过读写特殊功能寄存器,可以对单片机的各项功能进行设置
和控制。
这些寄存器的值可以决定单片机的工作模式、输入输出口的
功能和状态等。
4. 存储状态信息:状态寄存器用于存储单片机的状态信息和处理器
的标志位。
通过读取状态寄存器的值,可以获取和判断单片机的状态,比如是否发生溢出、是否输入/输出完成等。
这些信息对程序的正确执
行和结果的判断至关重要。
5. 数据传输与交换:寄存器可以用于数据的传输和交换。
通过将一
个寄存器中的值复制到另一个寄存器中,可以实现数据的移动和交换。
这在单片机的编程过程中非常常见,可以方便地进行数据的处理和操作。
三、寄存器的应用举例
1. 通用寄存器的应用:通用寄存器在单片机的编程过程中广泛应用。
比如在进行数值计算和逻辑运算时,可以使用通用寄存器存储中间结果;在进行数据传输和处理时,可以使用通用寄存器存储传输的数据;在进行函数调用和参数传递时,可以使用通用寄存器存储函数的返回
值和参数等。
2. 特殊功能寄存器的应用:特殊功能寄存器在单片机的外设控制和
配置中起到重要的作用。
比如单片机的输入输出端口控制、时钟配置、定时器和计数器的设置等,都是通过修改特殊功能寄存器的值来实现的。
这些寄存器的具体应用和功能取决于单片机的型号和功能。
3. 状态寄存器的应用:状态寄存器在单片机的运算和处理过程中起
到重要的判断和标志作用。
比如在进行数值运算时,可以通过状态寄
存器的值来判断是否发生溢出或者是否为零;在进行输入输出操作时,可以通过状态寄存器的值来判断是否完成输入输出等。
这些状态信息
对程序的正常执行和结果的判断非常重要。
四、总结
寄存器在单片机中具有重要的作用,它们不仅可以提供临时数据的
存储空间,还可以存储控制和状态信息。
通用寄存器在数据处理和传
输中起到关键的作用,特殊功能寄存器用于外设的控制和配置,状态
寄存器用于存储程序的状态信息。
了解和掌握寄存器的作用和应用,对于单片机的编程和应用具有重要的意义。
通过合理地使用寄存器,可以提高程序的效率和功能,实现更加复杂的系统和应用。