51_52系列单片机特殊功能寄存器及资源映射方式总结
51单片机寄存器学习总结
51单片机寄存器学习总结8051单片机的存储器结构MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序内存ROM寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM 地址长度:16位作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:0000H ―― 系统复位,PC指向此处;0003H ―― 外部中断0入口000BH ―― T0溢出中断入口0013H ―― 外中断1入口001BH ―― T1溢出中断入口0023H ―― 串口中断入口002BH ―― T2溢出中断入口内部数据存储器RAM物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。
作用:作数据缓冲器用。
程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。
C51单片机21个特殊功能寄存器
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A ≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。
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位的状态有关。
超详细!51单片机寄存器功能一览表
超详细!51单片机寄存器功能一览表
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):
MCS-51单片机的特殊功能寄存器。
总结的51单片机的特殊寄存器
中断使能寄存器通过设置中断使能寄存器IE 的EA 位使能所有中断每个中断源都有单独的使能位可通过软件设置IE 中相应的使能位在任何时候使能或禁能中断中断使能寄存器IE 的各位如下所示中断使能寄存器IE可位寻址EA 使能标志位置位则所有中断使能复位则禁止所有中断保留ET2 定时器2 中断使能ES 串行通信中断使能ET1 定时器1 中断使能EX1 外部中断 1 使能ET0 定时器0 中断使能EX0 外部中断0使能8051 支持两个中断优先级有标准的中断机制,低优先级的中断只能被高优先级的中断所中断,而高优先级的中断不能被中断。
中断优先级寄存器每个中断源都可通过设置中断优先级寄存器IP来单独设置中断优先级如果每个中断源的相应位被置位则该中断源的优先级为高,如果相应的位被复位, 则该中断源的优先级为低, 如果你觉得两个中断源不够用,别急以后我会教你如何增加中断优先级表A-5 示出了IP 寄存器的各位此寄存器可位寻址IP寄存器可位寻址PT2 定时器2中断优先级PS 串行通信中断优先级PT1 定时器1中断优先级PX1 外部中断1 优先级PT0 定时器0中断优先级PX0 外部中断0 优先级电源控制PCON8051的CHMOS 版本可通过软件设置两种节电方式空闲模式和低功耗模式设置电源控制寄存器PCON 的相应位来进入节电方式置位IDLE 进入空闲模式空闲模式将停止程序执行RAM 中的数据仍然保持晶振继续工作但与CPU 断开定时器和串行口续工作, 发生中断将退出中断模式执行完中断程序后将从程序停止的地方继续指令的执行通过置位PDWN 位来进入低功耗模式低功耗模式中晶振将停止工作因此定时器和串行口都将停止工作至少有两伏的电压加在芯片上因此RAM 中的数据仍将保存退出低功耗模式只有两种方式上电或复位SMOD 位可控制串行通信的波特率将使由定时器 1 的溢出率或晶振频率产生的波特率翻倍置位SMOD 可使工作于方式1 2 3 定时器产生的波特率翻倍当使用定时器2 产生波特率时SMOD将不影响波特率电源控制寄存器PCON不可位寻址SMOD 串行口通信波特率控制位置位使波特率翻倍- 保留- 保留- 保留GF1 通用标志位GF0 通用标志位PDWN 低功耗标志位置位进入低功耗模式IDLE 空闲标志位置位进入空闲模式PSW处理器状态处理器的状态保存在状态寄存器PSW 中状态字中包括进位位用于BCD 码处理的辅助进位位, 奇偶标志位, 溢出标志位, 还有前面提到的用于寄存器组选择的RS0 和RS1 , 0组从地址00H 开始1 组从地址08H 开始 2 组从地址10H 开始3 组从地址18H 开始这些地址都可通过直接或间接方式进行寻址PSW 的结构如下AC 辅助进位标志位F0 通用标志位RS1 寄存器组选择位高位RS0 寄存器组选择位低位OV 溢出标志位USR 用户定义标志位P 奇偶标志位定时器控制寄存器TCON 可位寻址TR1 定时器1控制位置位时定时器 1 工作复位时定时器1 停止工作TF0 定时器0溢出标志位定时器0 溢出时置位处理器响应中断后清除该位TR0 定时器0控制位置位时定时器0 工作复位时定时器0 停止工作IE1 外部中断1 触发标志位当检测到P3.3 有从高到低的跳变电平时置位处理器响应中断后由硬件清除该位IT1 中断1 触发方式控制位置位时为跳变触发复位时为低电平触发IE0 外部中断1 触发标志位当检测到P3.3 有从高到低的跳变电平时置位处理器响应中断后由硬件清除该位IT0 中断1 触发方式控制位置位时为跳变触发复位时为低电平触发定时器控制寄存器TMOD-不可位寻址定时器0GATE 当GATE置位时定时器仅当TR=1并且INT=1 时才工作如果GATE=0置位TR 定时器就开始工作C/T 定时器方式选择如果C/T=1 定时器以计数方式工作C/T=0 时以定时方式工作M1 模式选择位高位M0 模式选择位低位串行控制寄存器SCON -可位寻址SM1 串行模式选择SM2 多机通讯允许位当模式0 时此位应该为0 模式1 时当接收到停止位时该位将置位模式2 或模式3 时当接收的第9 位数据为1时将置位REN 串行接收允许位TB8 在模式2 和模式3 中将被发送数据的第9 位RB8 在模式0中该位不起作用在模式1中该位为接收数据的停止位在模式2 和模式3 中为接收数据的第9位TI 串行中断标志位由软件清零RI 接收中断标志位有软件清零51单片机存储类型Keil 允许使用者指定程序变量的存储区这使使用者可以控制存储区的使用编译器可识别以下存储区。
51单片机知识点总结
51单片机知识点总结51单片机是一种广泛应用于嵌入式系统开发的微处理器。
它具备低功耗、易编程、高集成度等优势,被广泛应用于各种领域,如电子产品、通信、汽车等。
本文将对51单片机的相关知识点进行总结,供读者参考。
1. 51单片机概述51单片机是由Intel公司于1980年推出的,它的名称来源于其内部的8位数据总线宽度,即51(5位地址总线和8位数据总线)。
它具备一定的计算能力和I/O接口,可通过编程实现各种功能。
2. 51单片机基本结构51单片机的基本结构包括CPU核心、内存、I/O接口、定时器/计数器、串口等。
CPU核心负责指令执行和数据处理,内存用于存储程序和数据,I/O接口用于与外部设备进行数据交互,定时器/计数器用于产生精确的时间延迟,串口用于与其他设备进行通信。
3. 51单片机的存储器51单片机的存储器包括ROM、RAM和特殊功能寄存器。
ROM用于存储程序代码,RAM用于存储数据。
特殊功能寄存器是一种特殊用途的寄存器,用于访问和控制单片机的各种功能。
4. 51单片机的指令系统51单片机的指令由操作码和操作数组成。
操作码表示要执行的操作类型,操作数表示操作的目标。
常见的指令包括数据传输指令、算术运算指令、逻辑运算指令、控制转移指令等。
5. 51单片机的I/O编程51单片机通过I/O接口与外部设备进行数据交互。
I/O编程涉及到输入输出口的初始化、数据传输、中断处理等。
通过编程控制I/O口状态,可以实现数据的输入和输出。
6. 51单片机的定时器/计数器51单片机内置了多个定时器/计数器,用于产生精确的时间延迟和计数功能。
定时器/计数器可以用于产生定时中断、测量外部信号的频率和脉宽等。
7. 51单片机的串口通信51单片机通过串口与其他设备进行通信。
串口通信涉及到波特率设置、数据传输、中断处理等。
通过串口通信,可以实现单片机与计算机、传感器等设备的数据交互。
8. 51单片机的中断系统51单片机内置了中断系统,用于处理外部事件和优先级。
51单片机特殊功能寄存器(SFR)SBUF使用方法
51单⽚机特殊功能寄存器(SFR)SBUF使⽤⽅法 串⾏⼝中有两个缓冲寄存器SBUF,⼀个是发送寄存器,⼀个是接收寄存器,在物理结构上是完全独⽴的。
它们都是字节寻址的寄存器,字节地址均为99H。
这个重叠的地址靠读/写指令区分:串⾏发送时,CPU向SBUF写⼊数据,此时99H表⽰发送SBUF;串⾏接收时,CPU从SBUF读出数据,此时99H表⽰接收SBUF。
单⽚机串⼝ #include <reg52.h>#include <absacc.h> #define unit unsigned int #define uchar unsigned char uchar date; uchar recFlag;//接收数据标识,0 未接收数据 1 接收数据 void init_serial(); void send(); void receive(); main() { init_serial(); IE=0; //屏蔽中断 while(1) { receive(); send();} } void init_serial() //初始化串⼝ { TMOD=0x20; //定时器T1使⽤⼯作⽅式2 TH1=250; //设置初值 TH0=250; TR1=1; //开始计时 PCON=0x80; //SMOD=1; SCON=0x50; //⼯作⽅式1,波特率9600bit/s,允许接收 TI=1; } void send() { if(TI==1) //检测输出是否READY { if(recFlag==1) //是否接收过数据 { SBUF=date; //发送数据 recFlag=0; TI=0; } } } void receive() { if(RI==1) //检测是否有数据接收 { date=SBUF; //接收数据 recFlag=1; //设置接收标识符 RI=0; } }。
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 寄存器为中断允许寄存器,如各位的作用。
(完整版)51单片机特殊功能寄存器功能一览表
51单片机特殊功能寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
(整理)51单片机中的特殊寄存器、外部中断、定时器计器.
1.特殊功能寄存器TCON (2)2.特殊功能寄存器SCON (9FH) (3)3.中断允许控制寄存器IE (0A8H) (3)4.中断优先级控制寄存器IP(B8H) (3)5.中断的系统结构 (4)6.开启外部中断 (5)7.定时器/计数器介绍 (6)8.定时/计数器的控制寄存器 (7)8.1定时/计数器控制寄存器TCON (7)8.2定时/计数器工作方式控制寄存器TMOD (7)9.定时/计数器工作方式 (10)9.1 工作方式0 (10)9.2 工作方式1 (10)9.3 工作方式2 (10)9.4 工作方式3 (10)10.定时/计数器的应用 (11)10.1计算定时/计数初值 (11)1.特殊功能寄存器TCONTCON 在特殊功能寄存器中,字节地址为88H ,位地址(由低位到高位)分别是88H-8FH 。
计数溢出标志位TF0(TF1)=1,计数溢出,要求单片机中断有效。
1,脉冲触发方式,下降沿有效现有效中断请求信号效中断请求信号88H 89H 8AH 8BH 8DH 8FHTCON 位功能:IE0/IE1:外部中断申请标志位: =0:没有外部中断申请;=1:有外部中断申请。
置1清0由硬件完成。
① IE1 —— 外中断中断请求标志当P3.3引脚信号有效时,IE1=1 ② IE0 —— 外中断中断请求标志当P3.2引脚信号有效时,IE0=1 ③ IT1 —— 外中断触发方式控制位• IT1=1,边沿触发方式;下降沿触发。
• IT1=0,电平触发方式。
低电平有效。
④ IT0 —— 外中断触发方式控制位• 其意义和功能与IT1相似。
• IT0/IT1:外部中断请求的触发方式选择位通过软件编程实现: • =0:在INT0/INT1端申请中断的信号低电平有效; • =1:在INT0/INT1端申请中断的信号负跳变有效. ⑤ TF1 —— T1溢出中断请求标志 T1计数溢出后,TF1=1 ⑥ TF0 —— T0溢出中断请求标志 T0计数溢出后,TF0=1TF0/TF1:定时器溢出中断申请标志位: (由硬件自动置位)。
51系列单片机寄存器详解
AUXR:辅助寄存器字节地址=8EH,不可位寻址- - - WDIDLE DISRTO - - DISALEWDIDLE:WTD在空闲模式下的禁止/允许位当WDIDLE=0时,WDT在空闲模式下继续计数当WDIDLE=1时,WDT在空闲模式下暂停计数DISRTO:禁止/允许WDT溢出时的复位输出当DISRTO=0时,WDT定时器溢出时,在RST引脚输出一个高电平脉冲当DISRT0=1时,RST引脚为输入脚DISALE :ALE禁止/允许位当DISALE=0时,ALE有效,发出恒定频率脉冲当DISALE=1时,ALE仅在CPU执行MOVC和MOVX类指令时有效,不访问外寄存器时,ALE不输出脉冲信号AUXR1:辅助寄存器1字节地址A2,不可位寻- - - -- - - DPSDPS:数据指针寄存器选择位当DPS=0时,选择数据指针寄存器DPRT0DPRT1时,选择数据指针寄存器DPS 当=PSW:程序状态字CY——进位标记AC——半进位标记F0——用户设定标记RS1、RS0——4个工作寄存器区的选择位。
VO——溢出标记P——奇偶校验标记PCON:电源控制器及波特率选择寄存器字节地址=87H,不可位寻址SMOD - - POF GF1 GF0 PD IDLSMOD——波特率倍增位GF1、GF0——用户通用标记PD——掉电方式控制位,PD=1时进入掉电模式IDL——空闲方式控制位,IDL=1时进入空闲方式在AT89S51中PCON.4是电源断电标记位POF,上电是为1IE:中断允许控制寄存器EA:中断允许总控制位当EA=0时,中断总禁止。
当EA=1时,中断总允许后中断的禁止与允许由各中断源的中断允许控制位进行设置。
EX0( EX1):外部中断允许控制位当EX0( EX1)=0 禁止外中断当EX0( EX1)=1 允许外中断ET0(EX1):定时/计数中断允许控制位当ET0(ET1)=0 禁止定时(或计数)中断当ET0(ET1)=1 允许定时(或计数)中断ET2:定时器2中断允许控制位,在AT89S52、AT89C52中ES:串行中断允许控制位当ES=0 禁止串行中断当ES=1 允许串行中断IP:中断优先级控制寄存器PX0——外部中断0优先级设定位PT0——定时中断0优先级设定位PX1——外部中断1优先级设定位PT1——定时中断1优先级设定位PS——串口中断优先级设定位优先级设定位2PT2——定时器SCON:串行口控制寄存器SM0、SM1:串行口工作方式选择位SM2:多机通信控制位REN:允许/禁止串行口接收的控制位TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。
8051单片机21个特殊功能寄存器和指令汇总
MCS-51单片机21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF R存储空间中,地址空间为80H-FFH,在这片SF R空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有R OM,用来存放程序,有R AM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF R)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
51单片机寄存器集(包括所有的寄存器位的详细介绍)
(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时,禁止接收。
(4)TB8:发送接收数据位8。
< br> 在方式2和方式3中,TB8是要发送的——即第9位数据位。
在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5)RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
(6)TI:发送中断标志位。
可寻址标志位。
方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
(7)RI:接收中断标志位。
可寻址标志位。
接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。
11、PCON-----电源管理寄存器PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:。
51_52系列单片机特殊功能寄存器及资源映射方式总结
51系列单片机特殊功能寄存器总结第一节:片内RAM映射:51:00H_7FH 128B片内(DATA),其中00H-07H: bank0,08H-0FH: bank1, 10H-17H: bank2,18H-1FH:bank3. 20H-2FH: 位寻址区(bdata)30H-7FH: 堆栈区。
80H-FFH: SFR区52:增加了80H-FFH间接寻址的片内RAM(IDATA)第二节:特殊功能寄存器(51)①TCON,地址:88H,定时器计数器控制,中断控制IT0/1:外部中断触发方式控制,置0,为低电平触发,置1,为下降沿触发。
每个机器周期的S5P2器件多外部触发采样。
响应中断需要两个机器周期。
IE0/1:外部中断请求标志,CPU响应中断后,硬件自动将IE清0TFx,定时器Tx溢出标志,计数溢出时,硬件将其置位,响应中断后,硬件将其清0,该位可由程序查询。
TRx, 定时器x运行控制,置1则启动定时器,清0则停止定时器。
②TMOD,地址:89H, 定时器计数器工作方式控制counter对外部输入外冲计数,计一次数需要两个机器周期。
GATE: 取反后与外部中断输入或运算后再同TCON的TRx位相与控制计数器的启与停,GATE为0时,允许TRx开启或停止计数器,为1时,允许INTx开启或停止计数器。
③TL0, 地址:8AH, 定时器0低八位④TL1, 地址:8BH, 定时器1低八位⑤TH0, 地址:8CH, 定时器0高八位⑥TH1, 地址:8DH, 定时器1高八位1⑦SCON, 地址:98H,串行通信控制寄存器S M2:方式2和方式3的多机通信控制位,在方式0中,SM2应置0。
REN:允许串行接收位,由软件置1时,允许接收,清0时。
禁止接收TB8:方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。
RB8: 方式2和方式3中,接收到的第9位数据,在方式1时,RB是接收到停止位,在方式0时,不使用RB8.TI:接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。
(完整版)51单片机特殊功能寄存器功能一览表
(完整版)51单片机特殊功能寄存器功能一览表单片机特殊功能寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻8整除的都可以位寻址)。
51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的特殊功能寄存器(SFR)。
这样的特殊功能51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加-51单片机的特殊功能寄存器地址功能介绍F0H B寄存器E0H 累加器D0H 程序状态字CDH 定时器/计数器2(高8位)CCH 定时器/计数器2(低8位)CBH 外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CAH 外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位C8H T2定时器/计数器控制寄存器B8H 中断优先级控制寄存器B0H P3口锁存器A8H 中断允许控制寄存器A0H P2口锁存器99H 串行口锁存器98H 串行口控制寄存器90H P1口锁存器8DH 定时器/计数器1(高8位)8CH 定时器/计数器1(低8位)8BH 定时器/计数器0(高8位)8AH 定时器/计数器0(低8位)89H T0、T1定时器/计数器方式控制寄存器88H T0、T1定时器/计数器控制寄存器83H 数据地址指针(高8位)82H 数据地址指针(低8位)81H 堆栈指针80H P0口锁存器87H 电源控制寄存器、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以Z,若A=0则Z=1;若A≠0z=0。
51单片机特殊功能寄存器SFR介绍
51单片机特殊功能寄存器(SFR)介绍 1、21个寄存器介绍51系列单片机内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图:图1 51单片机结构和功能图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^0,即P1口的第1位,至于为什么写P1^0,是因为KEIL软件规定的,然后deng1=0。
也就是P1=0xfe和deng1=0都是可以点亮第一个灯,后者deng1=0属于位操作,前者P1=0xfe 属于总线操作,也就是8个引脚一起操作。
图3 8位灯接线图下面再以IE寄存器为例进行位操作的解释。
IE寄存器为中断允许寄存器,如各位的作用如图4.其中第7位EA是51单片机5个中断的总开关,如要进入任何一个中断时,需先把EA打开,因为可以进行位操作,此时程序有两种写法:1)IE=0x80(假如其它位为0,即1000 0000),也可以直接写EA=1,后者EA=1即属于位操作。
C51单片机21个特殊功能寄存器
C51单片机21个特殊功能寄存器21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83 个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O 口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有相加可能会超过2550 CY==1;无进、借位,进、借位,CY )78H+97H (01111000+10010111例:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51系列单片机特殊功能寄存器总结
第一节:片内RAM映射:
51:00H_7FH 128B片内(DATA),其中00H-07H: bank0,08H-0FH: bank1, 10H-17H: bank2,18H-1FH:bank3. 20H-2FH: 位寻址区(bdata)
30H-7FH: 堆栈区。
80H-FFH: SFR区
52:增加了80H-FFH间接寻址的片内RAM(IDATA)
第二节:特殊功能寄存器(51)
①TCON,地址:88H,定时器计数器控制,中断控制
IT0/1:外部中断触发方式控制,置0,为低电平触发,置1,为下降沿触发。
每个机器周期的S5P2器件多外部触发采样。
响应中断需要两个机器
周期。
IE0/1:外部中断请求标志,CPU响应中断后,硬件自动将IE清0
TFx,定时器Tx溢出标志,计数溢出时,硬件将其置位,响应中断后,硬件将其清0,该位可由程序查询。
TRx, 定时器x运行控制,置1则启动定时器,清0则停止定时器。
②TMOD,地址:89H, 定时器计数器工作方式控制
counter对外部输入外冲计数,计一次数需要两个机器周期。
GATE: 取反后与外部中断输入或运算后再同TCON的TRx位相与控制计数器的启与停,GATE为0时,允许TRx开启或停止计数器,为1时,允许INTx开启或停止计数器。
③TL0, 地址:8AH, 定时器0低八位
④TL1, 地址:8BH, 定时器1低八位
⑤TH0, 地址:8CH, 定时器0高八位
⑥TH1, 地址:8DH, 定时器1高八位1
⑦SCON, 地址:98H,串行通信控制寄存器
S M2:方式2和方式3的多机通信控制位,在方式0中,SM2应置0。
REN:允许串行接收位,由软件置1时,允许接收,清0时。
禁止接收
TB8:方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。
RB8: 方式2和方式3中,接收到的第9位数据,在方式1时,RB是接收到停止位,在方式0时,不使用RB8.
TI:接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。
TI必须由软件清0。
RI:接收中断标志,由硬件置1。
在方式0时(SM2应置0),接收到第8位结束时置1,当SM2=0的其他方式(方式0,1,3)时,接收到停止位置位“1”,当SM2=1时,若串口工作在方式2和3,接收到的第9位数据(RB8)为1时,才激活RI。
在方式1时,只有接收到有效的停止位时才会激活RI。
RI必须由软件清0
⑧SBUF, 地址:99H,串行通信数据缓冲器
⑨IE, 地址:A8H,中断使能控制寄存器
EA: globle interuption Enable, 1: Enable, 0: Disable
ET2: timers2 flowover interuption Enable for52, 1: Enable, 0: Disable ES: serrial port interuption Enable, 1: Enable, 0: Disable
ET1/0: timers1/0 flowover interuption Enable, 1: Enable, 0: Disable EX1/0: external interuption Enable, 1: Enable, 0: Disable
⑩IP,地址:B8H,中断优先级控制寄存器
T:
⑾PSW, 地址:D0H,程序状态字,
RS1RS0:工作组寄存器选择位。
OV:溢出标志。
P:A的奇偶标志位⑿ SP, 地址:81H,堆栈指针寄存器
⒀ P0: 80H, P1: 90H, P2: A0H, P3: B0H I/O口锁存器
⒁ DPTR: 数据指针寄存器,16bit, DPH: 83H, DPL:82H
⒂ ACC 累加器A,地址:E0H
⒃ B 寄存器B, 地址F0H
⒄T2CON,地址:C8H,定时器/计数器2控制,52所有
⒅T2MOD: 地址:0C9H, 控制位:D0位—DCN,D1位—T2OE
DCN=1,T2可P配置成自动重装向上计数或向下计数的计数器(T2EX:P1.1)
T2OE: T2输出使能位
⒆RLDL,地址:0CAH,定时器2自动重载时间常数,52所有(低字节)⒇RLDH,地址:0CBH,定时器2自动重载时间常数,52所有(高字节)
(21)TL2, 地址:0CCH, 定时器2(低字节),52所有
(22)TH2,地址:0CDH, 定时器2(高字节),52所有
(23) PCON, 地址:87H, 电压控制及波特率选择
PD:掉电方式控制位,置1后单片机,时钟信号停止,单片机停止工作,掉电方式。
GF0: 通用标志位
GF1:通用标志位
SMOD: 串行口波特率倍率控制位,为1时,波特率加倍。
(24)
8EH.0 0: ALE以1/6时钟频率发出固定波形,
1:ALE只在MOVX和MOVC指令下活跃
8EH.3 0:看门狗计数器溢出时复位引脚置位高电平。
1:只有外部输入置位复位引脚8EH.4 0:空闲模式下看门狗继续计数,1: 空闲模式下看门狗停止计数
(25)
DPS: 0: 选择DPTR0, 1: 选择DPTR1
(25) WDTRST: 看门狗控制寄存器,地址:0A6H
看门狗喂狗数:01EH和0E1H,喂狗周期:每8191个机器周期内要喂一次狗第三节:中断向量表入口地址:8m+3
同级中断源的中断优先权排序表
中断向量号m越小,在同级中断源中优先级越高。