特殊功能寄存器

合集下载

特殊功能寄存器

特殊功能寄存器

特殊功能寄存器
在学习51单⽚机的过程中,代码⾥总会有TMOD,P0等等⼀系列⾃⼰根本没有定义过的东东。

今天在学习定时器中断时看到了介绍TMOD是特殊功能寄存器。

今天就来了解⼀下特殊功能寄存器吧!
特殊功能寄存器是80C51系列单⽚机中个功能部件对应的计时器⽤于存放相应功能的控制命令、状态和数据。

80C51有21个特殊功能寄存器,52⼜多了五个(*指代80C52独有的特殊功能寄存器)。

MCS-51单⽚机的特殊功能寄存器
符号地址功能介绍
F0H B寄存器
E0H
D0H程序状态
TH2*CDH/计数器2(⾼8位)
TL2*CCH定时器/计数器2(低8位)
RLDH*CBH外部输⼊(P1.1)计数器/⾃动再装⼊模式时初值寄存器⾼⼋位
RLDL*CAH外部输⼊(P1.1)计数器/⾃动再装⼊模式时初值寄存器低⼋位
T2CON*C8H T2/计数器
B8H中断优先级控制寄存器
B0H P3⼝
A8H中断允许
A0H P2⼝
SBUF99H
98H
P190H P1⼝
TH18DH/计数器1(⾼8位)
TH08CH定时器/计数器0(⾼8位)
TL18BH/计数器1(低8位)
TL08AH/计数器0(低8位)
89H T0、T1定时器/计数器⽅式
88H T0、T1/计数器控制寄存器
DPH83H数据地址指针(⾼8位)
DPL82H数据地址指针(低8位)
SP81H
P080H P0⼝
PCON87H电源控制寄存器。

特殊功能寄存器

特殊功能寄存器

特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了MCS-51单片机的运行状态。

很多功能也通过特殊功能寄存器来定义和控制程序的执行。

MCS-51有21个特殊功能寄存器,它们被离散地分布在内部RAM的80H—FFH地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。

表2是特殊功能寄存器分布一览表,我们对其主要的寄存器作一些简单的介绍。

表2 特殊功能寄存器标识符号地址寄存器名称ACC 0E0H 累加器B 0F0H B寄存器PSW 0D0H 程序状态字SP 81H 堆栈指针DPTR 82H、83H 数据指针(16位)含DPL和DPHIE 0A8H 中断允许控制寄存器IP 0B8H 中断优先控制寄存器P0 80H I/O口0寄存器P1 90H I/O口1寄存器P2 0A0H I/O口2寄存器P3 0B0H I/O口3寄存器PCON 87H 电源控制及波特率选择寄存器SCON 98H 串行口控制寄存器SBUF 99H 串行数据缓冲寄存器TCON 88H 定时控制寄存器TMOD 89H 定时器方式选择寄存器TL0 8AH 定时器0低8位TH0 8CH 定时器0高8位TL1 8BH 定时器1低8位TH1 8DH 定时器1高8位程序计数器PC(program Counter)程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。

PC是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。

PC本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。

累加器ACC(Accumulator)累加器A是一个最常用的专用寄存器,大部分单操作指令的一个操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。

加、减、乘、除法运算的指令,运算结果都存放于累加器A或AB累加器对中。

MCS-51系列特殊功能寄存器

MCS-51系列特殊功能寄存器

MCS-51系列特殊功能寄存器(80H~FFH)1.P0 (80H)2.SP 栈指针(81H)3.DPTR 数据指针(由DPH和DPL组成)DPL 数据指针低八位(82H)DPH 数据指针高八位(83H)4.PCON 电源管理寄存器(87H)SMOD :波特率倍增位。

SMOD=0时,不变;SMOD=1时,倍增。

GF1,GF0 :通用标志位。

PD :掉电方式位。

PD=1时,进入掉电方式。

IDL :待机方式位。

IDL=1时,进入待机方式。

5.TMOD 定时/记数方式寄存器(89H)GATE :门控位。

GATE=0时,直接由TR启动定时器;GATE=1时,须外部INT为1时,且TR启动定时器。

C/T :功能选择位。

C/T=0时,为定时器;C/T=1时,为计数器。

M1,M0 :方式选择位。

6.T CON 定时/记数控制寄存器(88H)TF1 :定时器1溢出标志。

由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。

TR1 :定时器运行控制位。

TR1=0时,关闭T1;TR1=1时,启动T1。

TF0 :定时器0溢出标志。

由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。

TR0 :定时器运行控制位。

TR0=0时,关闭T0;TR0=1时,启动T0。

IE1 :外部中断1请求标志。

IT1 :外部中断1触发方式。

IT1=0时,为低电平触发方式;IT1=1时,为负跳变触发方式(边沿触发)。

IE0 :外部中断0请求标志。

IT0 :外部中断0触发方式。

IT0=0时,为低电平触发方式;IT0=1时,为负跳变触发方式(边沿触发)。

7.P1 (90H)SM0,SM1 :串行方式控制。

SM2 :多机通讯控制位。

SM2=0时,禁止多机通讯;SM2=1时,允许多机通讯。

REN :允许串行接收位。

REN=0时,禁止串行接收;REN=1时,允许串行接收。

TB8 :发送数据第九位(D8)。

单片机89C51特殊功能寄存器

单片机89C51特殊功能寄存器

单片机89C51特殊功能寄存器高手从菜鸟忽略作起之(三)单片机共有21个特殊功能寄存器,下面从其功能,位结构,地址,读写方法对其作详细介绍。

一,特殊功能寄存器总述。

二,特殊功能寄存器分类:1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP.2.中断控制类(2个):IE,IP.3.计数/定时类(6个):TMOD,TCON,TL0,TL1,TH0,TH1.4.并口端口类(4个):P0,P1,P2,P3.5.串口端口类(2个):SCON,SBUF.6.电源管理类(1个):PCON.三,特殊功能寄存器详述:1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP1.1 Acc:累加器,可按位,字节访问。

1.2 B:辅助寄存器,用于进行乘除运算。

P:奇偶校验位:P=0:1的个数为奇数;P=1,1的个数为偶数。

---:保留位,没使用。

OV:Over flow,溢出标志,OV=0:没溢出;OV=1:溢出。

Rs0:Regedit select 0,寄存器选取0.RS1:Regedit select 1,寄存器选取1。

F0:User Flag bit:用户自定义位。

Ac: Auxiliary Carry,辅助进位标志,由低4位运算时,是否有向高4位进位。

Cy:Carry,进位标志。

字节运算时,是否有进位。

1.4 DPTL:Data Pointer Register Low,数据指针寄存器低8位。

1.5 DPTH:Data Pointer Register High,数据指针寄存器高8位。

1.6 SP: Stock Pointer:栈指针寄存器。

2.中断控制类寄存器(2个):IE,IPEX0: Enable Extra 0 ,INT0 中断允许位。

ET0: Enable Timer 0,C/T0 中断允许位。

EX1: Enable Extra 1 ,INT1 中断允许位。

ET1: Enable Timer 1,C/T1 中断允许位。

单片机寄存器_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位的状态有关。

特殊功能寄存器SFR

特殊功能寄存器SFR
要让单片机实现预定的功能必须有相应的硬件和软件而软件中最重要的一项工作就是对sfr写命片外rom片内romea1片外romea0片内ram片外ram特殊功能寄存器sfr特殊功能寄存器sfr占据内部数据存储器的地址段80hffhsfr区可扩展xc878从系统级和模块级两个方面进行扩展扩展机制
特殊功能寄存器 SFR
模块分页寄存器MOD_PAGE
注意事项: 1.MOD_PAGE中的MOD只是统称,具体看它的功能 如系统控制寄存器的分页寄存器为SCU_PAGE 2.要访问其他页的寄存器,必先退出当前页,通过重新设定PAGE值来实现 3.要执行中断程序,先保存当前页,再设定新页,最后回复原页设置,回到原页
系统控制寄存器
模块分页寄存器MOD_PAGE
操作位 0x: STNR被忽略 PAGE被直接写入 10:当前写入PAGE 的值被保存,上次 的PAGE值被保存 在STNR指定区域 11:无视当前被写入 的PAGE值,把STNR 指定的值给PAGE
保存编号位
页信息 写入时:该值表示新页的值 读出时:该值表示当前有效页的值
Special Function Register
什么是特殊功能寄存器?
▼特殊功能寄存器SFR(专用寄存器)
控制、选择、管理、存放单片机内部各部分的工作方式、 条件、状态、结果的寄存器。
通俗来讲,SFR就是管理硬件模块的寄存器。 ▼不同的SFR管理不同的硬件模块,负责不同的功能— —各司其职。一般来说,SFR越多,单片机功能越强。 换言之:要让单片机实现预定的功能,必须有相应的硬 件和软件,而软件中最重要的一项工作就是对SFR写命 令。
片外ROM
特殊 功能 寄存器 SFR
片外RAM
片内ROM EA=1

C51特殊功能寄存器列表

C51特殊功能寄存器列表

(一)TMOD(定时器模式控制寄存器)1、字节地址89H,不可位寻址2、各位定义(MSB) (LSB)7 6 5 4 3 2 1 0GATE C/T M1 M0 GATE C/T M1 M0---------------- -----------------控制 T1 控制 T0GATE:门控位。

当GATE=1时计数器受外部中断信号控制C/T :计数器和定时器选择位。

C/T=0为定时器M1M0 操作方式 功能0 0 方式0 13位计数器0 1 方式1 16位计数器1 0 方式2 可以自动重新装载的8位计数器1 1 方式3 T0分为2个独立的计数器、T1停止计数。

注意:当单片机复位时TMOD各位都为0。

(二)TCON(定时器/外部中断控制寄存器)1、字节地址88H,可位寻址。

2、各位定义MSB LSB7 6 5 4 3 2 1 0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1:T1溢出标志。

当T1溢出时,有硬件置1,可向CPU发出中断请 求,CPU响应中断后由硬件 TR1:启动T1标志。

IE1:外部中断1请求标志IT1:外部中断触发方式,IT1=0为电平触发方式,低电平有效。

IT1=1为边沿触发标志高电平(三)IE(中断允许寄存器)1、字节地址A8H,可位寻址。

2、各位定义MSB LSB7 6 5 4 3 2 1 0EA *ET2 ES ET1 EX1 ET0 EX0EA:总中断允许位 ==1允许ES:串口中断允许位ET1:T1中断允许位(四)IP(中断优先级寄存器)1、字节地址B8H,可位寻址。

2、各位定义MSB LSB7 6 5 4 3 2 1 0/ / PT2 PS PT1 PX1 PT0 PX0-----------------------------------》优先级从低到高(五)T2CON(T2方式控制寄存器)1、字节地址:C8H2、各位定义:MSB LSB7 6 5 4 3 2 1 0TF2 EXF2 RCLK TCLK EXEN2 RT2 C/T2 CP/RL2(六)TL0,THO,TL1,TH1,TL2,TH2,RCAP2L,RCAP2H(七)SCON(串口控制寄存器)1、位地址98H,可以位寻址2、各位定义MSB LSB7 6 5 4 3 2 1 0SM0 SM1 SM2 REN TB8 RB8 TI RISM0SM1 工作方式 功能说明0 0 0 移位寄存器方式(用于IO扩展)0 1 1 8位UART波特率可变1 02 9位UART1 1 3 9位UARTREN:允许接收控制位。

特殊功能寄存器(SFR)

特殊功能寄存器(SFR)

2、sfr16 许多新的8051派生系列单片机用两个连续地址的SFR来指定16位值,例如8052用地址0xCC和0xCD表示定时器/计数器2的低和高字节,如sfr16 T2=0xCC; 表示T2口地址的低地址T2L=0XCC,高地址T2H=0XCD.

51单片机提供128字节的SFR寻址区,地址为80h-ffh。51单片机中,除了程序计数器PC和4组通用寄存器组之外,其他所有的寄存器均为SFR,并位于片内特殊寄存器区。这个区域可位寻址、字节寻址或字寻址,用以控制定时器、计数器、串口、I/O及其它部件。特殊功能殊功能寄存器,比如sfr P0=0x80;表示P0口地址为80H。注意:“sfr”后面必须跟一个特殊寄存器名;“=”后面的地址必须是常数,不允许带有运算符的表达式,这个常数值的范围必须在特殊功能寄存器地址范围内,位于0x80H到0xFFH之间。

51单片机特殊功能寄存器

51单片机特殊功能寄存器

51单片机特殊功能寄存器一、中断控制寄存器IE功能解释:1、EA:中断总开关,如果它等于0,则所有中断不允许。

2、X:无效位;3、ET2:定时器2中断允许;4、ES:串行口中断允许;5、ET1:定时器1中断允许;6、EX1:外部中断1中断允许;7、ET0:定时器0中断允许;8、EX0:外部中断0中断允许;二、中断标志及外部中断方式选择寄存器TCON功能解释1、TF1:定时器/计数器1(T1)的溢出中断标志。

当T1从初值开始加1计数到计数满,产生溢出时,由硬件使TF1置“1”,直到CPU响应中断时有硬件复位;2、TR1:T1的运行控制位,该位置1或清0用来实现启东计数或停止计数;3、TF0:定时器/计数器0(T0)的溢出标志位,其作用同TF1;4、TR0:T0的运行控制位,该位置1或清0用来实现启东计数或停止计数;5、IE1:外部中断1中断请求标志位,如果IT1 = 1,则外部中断1引脚P3.1上的电平有1变0时,IE1由硬件置位,外部中断1请求中断。

在CPU响应该中断时由硬件清0;6、IT1:外部中断源1触发方式控制位,边沿/电平触发模式。

7、IE0:外部中断0中断请求标志位,功能同IE1;8、IT0:外部中断源0触发方式控制位,边沿/电平触发模式。

三、定时器方式控制寄存器TMOD高4位(D7-D4)用于定时器1,低四位(D3-D0)用于定时器0;1、Gate:定时器/计数器运行控制位,用来确定外部中断请求引脚(INT0,INT1)是否参与T0或T1的操作控制。

当Gate=0时,只要定时器控制寄存器TCON中的TR0(或TR1)被置1时,T0(或T1)被允许开始计数;当Gate=1时,不仅要TCON中的TR0或TR1置位,还需要P3口的P3.2或P3.3引脚为高电平,才允许计数;2、C/T:定时器方式或计数器方式选择位。

C/T = 1时,为计数器方式;C/T = 0时为定时器模式。

3、M1,M0:定时器四种工作方式选择位:4、四、UART控制寄存器SCON功能解释:1、SMO,SM1:串行口操作方式选择位,两个选择位对应四种状态。

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-----程序状态字。

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

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即属于位操作。

特殊功能寄存器

特殊功能寄存器

特殊功能寄存器1、寄存器B(F0H)。

乘法指令的两个操作数分别取自A和B,结果存于BA中;除法指令中,被除数除数取自A,除数取自B,商存放于A,余数存放于B。

2、累加器ACC(E0H)。

3、程序状态字寄存器PSW(D0H~D7H)1)CY进位标志位。

加、减法运算指令时,运算结果最高位向前有进位(或借位)时,CY由硬件置“1”,无进位(或借位)时,CY由硬件清“0”。

2)AC 为半进位标志位。

加、减法运算指令时,低半字节向高半字节有半进位(借位)时,AC 由硬件置“1”,否则被除数自动清“0”。

3)F0 用户标志位。

4)RS0和5)0V 补码溢出标志位。

运算结果超出-128~+127的范围时溢出0V = 1,无溢出0V = 0。

6)P奇偶校验标志位。

奇数个“1”置P = 1,否则P = 0。

4、中断优先级寄存器IP。

(B8H)1)PS 决定串行通道中断优先级。

PS = 1,则编程为高优先级。

2)PT1 决定定时器1中断优先级。

PT1 = 1,则编程为高优先级。

3)PX1 决定外中断1中断优先级。

PX1 = 1,则编程为高优先级。

4)PT0 决定定时器0中断优先级。

PT1 = 1,则编程为高优先级。

5)PX0 决定外中断0中断优先级。

PX0 = 1,则编程为高优先级。

5、中断允许寄存器IE。

(A8H)1)EA开放或禁止所有中断。

EA = 1开放中断,EA = 0禁止中断。

2)ES 开放或禁止串行通道中断。

ES = 1开放中断,ES = 0禁止中断。

3)ET1 开放或禁止定时器1中断。

ET1 = 1开放中断,ET1 = 0禁止中断。

4)EX1 开放或禁止外部中断源1中断EX1 = 1开放中断EX1 = 0禁止中断。

5)ET0 开放或禁止定时器0中断。

ET0 = 1开放中断ET0 = 0禁止中断。

6)EX0 开放或禁止外部中断源0中断EX0 = 1开放中断,EX0 = 0禁止中断。

6、串行数据缓冲寄存器SBUF。

特殊功能寄存器(SFR)

特殊功能寄存器(SFR)

特殊功能寄存器(SFR)
Special Functional Register
51单⽚机提供128字节的特殊功能寄存器(SFR)寻址区,地址为80H~FFH。

51单⽚机中,除了程序计数器PC和4组通⽤寄存器组之外,其他所有的寄存器均为SFR,并位于⽚内特殊寄存器区。

这个区域
可位寻址、字节寻址或字寻址,⽤以控制定时器、计数器、串⼝、IO及其他部件。

特殊功能寄存器可由以下⼏种关键字说明。

1.SFR 声明可字节寻址的特殊功能寄存器,⽐如sfr PO=0x80;表⽰PO⼝地址为80h。

注意:“ sfr”后⾯必须跟⼀个特殊寄存器名;“=”后⾯的地址必须是常数,不允许带有运算符的表达式,这个常数值的范围必须在特殊功能寄存器地址范围内,位于
Ox8OH到0xFFH之间。

2.sfr16 许多新的51派⽣系列单⽚机⽤两个连续地址的SFR来指定16位值,例如8052⽤地址Oxcc和OxCD表⽰定时器/计数器2的低和⾼字节,如sfr16 T2=0XCC;表⽰T2地址的低地址T2L=0xCC,⾼地址T2H=0xCD,sfr16声明和sfr声明须遵循相同的原则、任何符号名都可⽤在sfr的声明中。

声明中名字后⾯不是赋值语句.⽽是⼀个SFR地址,其⾼字节必须位于低字节之后.这种声明适⽤于所有新的SFR,但不能⽤于定时/计数器O和计数器1。

3. sbit 声明可位寻址的特殊功能寄存器和别的可位寻址的⽬标。

“=”号后将绝对地址赋给变量名,3种变量声明形式如下:
sbit CY=PSW^7
sbit CY=0xD0^7
sbit CY=0XD7。

寄存器、特殊功能寄存器和ram之间的区别联系

寄存器、特殊功能寄存器和ram之间的区别联系

寄存器、特殊功能寄存器和ram之间的区别联系存储器在CPU外,⼀般指硬盘,U盘等可以在切断电源后保存资料的设备,容量⼀般⽐较⼤,缺点是读写速度都很慢,普通的机械硬盘读写速度⼀般是50MB/S左右。

内存和寄存器就是为了解决存储器读写速度慢⽽产⽣的多级存储机制,从20世纪50年代开始,磁芯存储器曾⼀度成为主存的主要存储介质,但从20世纪70年代开始,逐步被半导体存储器所取代,⽬前的计算机都是⽤半导体存储器。

现在的DDR2内存的读写速度⼀般为6~8GB/S,跟机器性能也有关系。

从根本上讲,寄存器与RAM的物理结构不⼀样。

⼀般寄存器是指由基本的RS触发器结构衍⽣出来的D触发, 就是⼀些与⾮门构成的结构,这个在数电⾥⾯⼤家都看过; ⽽RAM则有⾃⼰的⼯艺,⼀般1Bit由六MOS管构成。

所以, 这两者的物理结构不⼀样也导致了两者的性能不同。

寄存器 访问速快,但是所占⾯积⼤。

⽽RAM相反,所占⾯积⼩, 功率低,可以做成⼤容量存储器,但访问速度相对慢⼀点。

1、寄存器存在于CPU中,速度很快,数⽬有限;存储器就是内存,速度稍慢,但数量很⼤;计算机做运算时,必须将数据读⼊寄存器才能运算。

2、存储器包括寄存器,内存有ROM和RAM⼀般51单⽚机的特殊功能寄存器都是在RAM区的0x80-0xFF地址中特殊寄存器的memory map底下会对寄存器进⾏详细的描述,在这⾥就不⼀⼀描述,可以进⾏位寻址的,⼀般像我们的PIN脚P1P2等都可以进⾏位寻址,还有⼀些控制定时器中断等⼀些指令:sfr定义特殊功能寄存器sbit 定义位寻址⼀般在使⽤时都要查阅相关规格书进⾏使⽤,不是所有的单⽚机都是相同的,这⾥会有差别,所以⼀定要注意。

具体寄存器功能就不⼀⼀描述了1、存储器在CPU外,⼀般指硬盘,U盘等可以在切断电源后保存资料的设备,容量⼀般⽐较⼤,缺点是读写速度都很慢,普通的机械硬盘读写速度⼀般是50MB/S左右。

内存和寄存器就是为了解决存储器读写速度慢⽽产⽣的多级存储机制,从20世纪50年代开始,磁芯存储器曾⼀度成为主存的主要存储介质,但从20世纪70年代开始,逐步被半导体存储器所取代,⽬前的计算机都是⽤半导体存储器。

8051单片机21个特殊功能寄存器和指令汇总

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,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

21个特殊功能寄存器

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:辅助进、借位(高半字节与低半字节间的进、借位)。

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:进位标志。

8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。

特殊功能寄存器

特殊功能寄存器

特殊功能寄存器特殊功能寄存器(Special Function Registers,简称SFR)是嵌入式系统中的一种重要寄存器,通常用于控制和管理硬件设备的特殊功能。

下面我们来介绍一下特殊功能寄存器的一些常见特点和作用。

首先,特殊功能寄存器在嵌入式系统中通常由硬件设计师进行定义和实现,其结构和功能是根据具体硬件设备的特点和需求来确定的。

因此,不同的嵌入式系统可能具有不同的特殊功能寄存器。

其次,特殊功能寄存器通常具有特定的位域,用于控制硬件设备的特定功能。

这些位域可以分别代表不同的控制信号或状态,通过设置或读取这些位域的值,可以实现对硬件设备的各种操作。

再次,特殊功能寄存器通常与外设或外部接口相连,用于与外部设备进行数据交换和控制。

例如,与串口通信相关的特殊功能寄存器可以用来设置串口的波特率、校验位、停止位等参数,以及发送和接收数据。

此外,特殊功能寄存器通常具有特殊的读写方式,例如位地址可寄存器或位寻址寄存器,只需通过写入或读取特定的位即可实现对特定功能的控制。

另外,特殊功能寄存器通常在程序运行过程中被读取或写入,用于实时控制硬件设备的状态或进行数据交换。

这也使得它们在实时性要求较高的应用中具有重要的作用。

最后,特殊功能寄存器通常具有底层硬件控制的特点,对于程序开发者来说,需要按照详细的寄存器描述进行操作,并且需要了解硬件设备的具体工作原理和规格,以确保正确地使用和配置寄存器。

综上所述,特殊功能寄存器是嵌入式系统中一种重要的寄存器,用于控制和管理硬件设备的特殊功能。

它们能够实时地控制硬件设备的状态和进行数据交换,对于实时性要求较高的应用具有重要的作用。

但是使用特殊功能寄存器也需要开发者具有一定的硬件知识,并且需要根据具体的硬件设备进行配置和操作。

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

特殊功能寄存器
特殊功能寄存器在单片机中扮演着非常重要的角色,单片机的各硬件组成部分如算术逻辑单元、并行I/O口、串行口、定时器/计数器、中断系统等都有对应的特殊功能寄存器,用户程序通过特殊功能寄存器对各个硬件组成部分进行设置,并通过特殊功能寄存器获得各设备的当前工作状态。

要想使用单片机的各项功能,必须对相关的特殊功能寄存器非常熟悉。

特殊功能寄存器本质上是一些具有特殊功能的存储单元,这些存储单元分布在内部数据存储器地址80H~7FH的存储区域,用直接寻址的寻址方式进行访问。

存储器
单片机的存储器按照其功能可分为数据存储器(RAM)和程序存储器(ROM),按照其存在的位置又可以分为片外存储器和片内存储器。

在片内RAM区中,专门划分出一块区域用来存放特殊功能寄存器SFR(Special Function Register),称为特殊功能寄存器区。

在片内RAM 中,有一些特殊地址的存储单元的每一个二进制位都具有位地址,这些存储单元组成可位寻址区。

片内RAM地址为00H~1FH的存储单元用作工作寄存器区。

综上所述,单片机的整个存储器空间按照其所处的位置和功能可划分为内部程序存储器区、外部程序存储器区、低128字节的内部数据存储器区(包含工作寄存器区和位寻址区)、高128字节的内部数据存储器区、特殊功能寄存器区、外部数据存储器区等6个区域。

相关文档
最新文档