特殊功能寄存器
特殊功能寄存器

特殊功能寄存器
在学习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系列特殊功能寄存器(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特殊功能寄存器高手从菜鸟忽略作起之(三)单片机共有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单片机特殊功能寄存器详解

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
模块分页寄存器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特殊功能寄存器列表

(一)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)

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之间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特殊功能寄存器
特殊功能寄存器在单片机中扮演着非常重要的角色,单片机的各硬件组成部分如算术逻辑单元、并行I/O口、串行口、定时器/计数器、中断系统等都有对应的特殊功能寄存器,用户程序通过特殊功能寄存器对各个硬件组成部分进行设置,并通过特殊功能寄存器获得各设备的当前工作状态。
要想使用单片机的各项功能,必须对相关的特殊功能寄存器非常熟悉。
特殊功能寄存器本质上是一些具有特殊功能的存储单元,这些存储单元分布在内部数据存储器地址80H~7FH的存储区域,用直接寻址的寻址方式进行访问。
存储器
单片机的存储器按照其功能可分为数据存储器(RAM)和程序存储器(ROM),按照其存在的位置又可以分为片外存储器和片内存储器。
在片内RAM区中,专门划分出一块区域用来存放特殊功能寄存器SFR(Special Function Register),称为特殊功能寄存器区。
在片内RAM 中,有一些特殊地址的存储单元的每一个二进制位都具有位地址,这些存储单元组成可位寻址区。
片内RAM地址为00H~1FH的存储单元用作工作寄存器区。
综上所述,单片机的整个存储器空间按照其所处的位置和功能可划分为内部程序存储器区、外部程序存储器区、低128字节的内部数据存储器区(包含工作寄存器区和位寻址区)、高128字节的内部数据存储器区、特殊功能寄存器区、外部数据存储器区等6个区域。