MCS51单片机特殊寄存器功能说明概要.docx
《MCS51单片机特殊寄存器功能说明概要.docx》由会员分享,可在线阅读,更多相关《MCS51单片机特殊寄存器功能说明概要.docx(19页珍藏版)》请在冰点文库上搜索。
MCS51单片机特殊寄存器功能说明概要
MCS51单片机SFR特殊寄存器
符号
物理地址
名称
*ACC
E0H
累加器
*B
F0H
B寄存器
*PSW
D0H
程序壮态字
SP
81H
堆栈指针
DPL
82H
数据寄存器(低8位)
DPH
83H
数据寄存器(高8位)
*P0
80H
通道0
*P1
90H
通道1
*P2
A0H
通道2
*P3
B0H
通道3
*IP
B8H
中断优先级控制器
*IE
A8H
中断允许控制器
TMOD
89H
定时器方式选择
*TCON
88H
定时器控制器
+T2CON
C8H
定时器2控制器
TH0
8CH
定时器0高8位
TL0
8AH
定时器0低8位
TH1
8DH
定时器1高8位
TL1
8BH
定时器0低8位
+TH2
CDH
定时器2高8位
+TL2
CCH
定时器2低8位
+RCAP2H
CBH
定时器2捕捉寄存器高8位
+RCAP2L
CAH
定时器2捕捉寄存器低8位
*SCON
98H
串行控制器
SBUF
99H
串行数据绶冲器
PCON
87H
电源控制器
注:
*可以位寻址,+仅8052有。
寄时器
位地址分布(SFR中的位地址分布)
字节地址
B
F7
F6
F5
F4
F3
F2
F1
F0
F0H
ACC
E7
E6
E5
E4
E3
E2
E1
E0
E0H
PSW
D7
D6
D5
D4
D3
D2
D1
D0
D0H
IP
-
-
-
BC
BB
AB
B9
B8
B8H
P3
B7
B6
B5
B4
B3
B2
B1
B0
B0H
IE
AF
-
-
AC
AB
AA
A9
A8
A8H
P2
A7
A6
A5
A4
A3
A2
A1
A0
A0H
SCON
9F
9E
9D
9C
9B
9A
99
98
98H
P1
97
96
95
94
93
92
91
90
90H
TCON
8F
8E
8D
8C
8B
8A
89
88
88H
P0
87
86
85
84
83
82
81
80
80H
MCS51单片机SFR特殊寄存器功能说明
程序壮态字PSW(ProgramStatusWord)(可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
*PSW
D7
D6
D5
D4
D3
D2
D1
D0
D0H
Cy
AC
F0
RS1
RS1
OV
-
P
符号
1.P奇偶标志位
若P=1,表示累加器A中的个数为奇数。
若P=0,累加器A中的个数为偶数。
2.OV益出标志位
若OV=1,表示运算时有益出产生。
否则OV=0
3.RS1RS0寄存器选择位
RS1
RS0
选择的寄寄存器
物理地址
0
0
0组
00H-07H
0
1
1组
08H-0FH
1
0
2组
10H-17H
1
1
3组
18H-1FH
4.F0用户标志位
用户自行设置。
5.AC辅助进位位
若AC=1,表示在加减法运算时,低4位A3有进位或借位。
否则CY=0
6.CY进位标志位
若CY=1,表示在加减法运算时,最高位A7有进位或借位。
否则CY=0
电源控制器&波特率(不可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
PCON
PCON.7
PCON.6
PCON.5
PCON.4
PCON.3
PCON.2
PCON.1
PCON.0
87H
SMOD
-
-
-
CF1
GF0
PD
IDL
符号
1.IDL为空闲模式控制位
若IDL=1,进入空闲模式。
(硬件或重新上电可复位)。
若IDL=0,正常方式
2.PD为停止运行控制位
若PD=1,进入停止模式。
(硬件或外部中断可复位)。
若PD=0,正常方式
3.GF0CF1为通用标志位
用户可通过指改变它的壮态。
4.SMOD为波特率倍率控制位
若SMOD=1,则串行口的波特率为16位
若SMOD=0,则串行口的波特率为32位
定时器/计数器模式寄存器TMOD(不可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
TMOD
TMOD7
TMOD6
TMOD5
TMOD4
TMOD3
TMOD2
TMOD1
TMOD0
89H
GATE
C/T
M1
M0
GATE
C/T
M1
M0
符号
定时器/计数器T1
定时器/计数器T0
--
5.定时器/计数器方式选择位
M1
M0
工作模式
说明
0
0
0
13位计数器/定时器(8192)
0
1
1
16位计数器/定时器(65536)
1
0
2
8位重装载定时器,当益出时将TH的值装入TL(256)
1
1
3
T0为2个独立的8位计数/定时器(256)
T1为无中断重装8位计数/定时器(256)
6.C/T为定时/计数器模式选择控制位
若使C/T=0,为内部定时器模式。
(由TH和TL做定时器)
若使C/T=1,为外部计数器模式。
(从T0/P3.4口或从T1/P3.5口输入计数脉冲)
(前一次检测为高电平,后一次检测为低电平时,才会使计数器加1。
由于二次的检测需要24个时钟脉冲,通常T0,或T1输入线上的计数脉冲频率总是<100KHZ)
7.GATE为定时器/计数器控制位
当GATE=1时,TR控制位置位1时,而且只有在INT0或(INT1)为高时,才可以打开定时器/计数器工作。
(与INT0或INT1有关)
(当GATE=1时,则INT0或INT1作为辅助控制线,不再用作中断请求输入线。
GATE的这种控制作用可使定时器/计数器用来测量脉冲的宽度)
当GATE=0时,定时器/计数器工作与INT0或INT1无关。
定时器初值的计算:
TC=M-TX/TP左公式可转换为TC=M-TX*fosc/12(12T)或6(6T)或1(1T)
TC为实际定时时间初值
M为模值(M=8或M=13,或M=16)
Fosc为时钟频率
TX为定时器需要的定时时间
TP为机器周期
时钟周期TCLK=1/Fosc(如:
STC的开发板的Fosc是11.0592MHZ)
TCLK=1/11.0592MHZ
TCLK≈0.09042us
机器周期TP=12*TCLK或(6*TCLK)或(1*TCLK)左公式转换为:
≈12*0.09042usTP=12/Fosc(12TCLK)或6/Fosc(6TCLK)或1/Fosc(1TCLK)
≈1.08507us
定时器/计数器控制寄存器TCON(可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
*TCON
8F
8E
8D
8C
8B
8A
89
88
88H
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
符号
用于定时器/计数器T0/T1
用于中断INT0/INT1
--
1.IT0为外部中断INT0的中断触发标志位
若使IT0=1,INT0为负边沿触发。
(检测二次:
前一次检测为高电平,后一次检测为低电平时,INT0上中断才有效)
若使IT0=0,INT0为低电平触发(软件复位)。
2.IE0为外部中断INT0的中断请求标志位
若IE0=1,表示INT0上有中断产生。
(一直保持CPC响应中断时,才被硬件清0)
若IE0=0,(硬件复位)。
3.IT1为外部中断INT1的中断触发标志位
若使IT1=1,INT1为负边沿触发。
(检测二次:
前一次检测为高电平,后一次检测为低电平时,INT1上中断才有效)
若使IT1=0,INT1为低电平触发(软件复位)。
4.IE1为外部中断INT1的中断请求标志位
若IE1=1,表示INT1上有中断产生。
(一直保持CPC响应中断时,才被硬件清0)
若IE1=0,(硬件复位)。
5.TRO为定时器T0的开启位
若使TRO=1,则定时器T0开启计数。
若使TRO=0,则定时器T0停止计数。
6.TF0为定时器T0的中断益出标志位
若TF0=1,表示T0有中断产生。
(一直保持CPC响应中断时,才被硬件清0)
若TF0=0,表示T0无中断产生。
(硬件复位)
7.TR1为定时器T1的开启位
若使TR1=1,则定时器T1开启计数。
若使TR1=0,则定时器T1停止计数。
8.TF1为定时器T1的中断益出标志位
若TF1=1,表示T1有中断产生。
(一直保持CPC响应中断时,才被硬件清0)
若TF1=0,表示T1无中断产生。
(硬件复位)
定时器/计数器2模式寄存器T2MOD(不可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
T2MOD
T2MOD7
T2MOD6
T2MOD5
T2MOD4
T2MOD3
T2MOD2
T2MOD1
T2MOD0
89H
-
-
-
-
-
-
T2OE
DCEN
符号
定时器/计数器2控制器T2CON(不可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
T2CON
T2CON7
T2CON6
T2CON5
T2CON4
T2CON3
T2CON2
T2CON1
T2CON0
C8H
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2
符号
1.CP/RL2为捕获和常数自动装入方式选择位
若使CP/RL2=1,工作于捕获方式。
若使CP/RL2=0,工作于自动再装入方式。
(RCLK或TCLK为1时,CP/RL2被忽略)
2.C/T2为内部定时器/外部计数器选择位
若使C/T2=1时,为外部计数器,计数脉冲来自T2(P1.0)
若使C/T2=0时,为内部定时器,以震荡脉冲的12分频信号为计数信号。
3.TR2为T2启动/停止控制位
若使TR2=1时,T2开始计数/定时。
若使TR2=0时,T2停止计数/定时。
4.EXEN2为T2外部使能标志位
若使EXEN2=1,T2为捕获方式。
T2EX(P1.1)发生负跳变时,TL2和TH2的当前值自动捕获到RCAP2L和RCAP2H中,同时置中断标志位EXF2
若EXEN2=0,T2为自动装入方式。
T2EX(P1.1)发生负跳变时,RCAP2L和RCAP2H自动装入TL2和TH2中。
同时置中断标志位EXF2
5.TCLK为串行口发送时钟选择标志位。
若使TCLK=1,定时器2的益出脉冲作为串口模式1和模式3的发送时钟。
若使TCLK=0,定时器1的益出脉冲作为串口模式1和模式3的发送时钟。
6.RCLK为串行口接收时钟选择标志位。
若使RCLK=1,定时器2的益出脉冲作为串口模式1和模式3的接收时钟。
若使RCLK=0,定时器1的益出脉冲作为串口模式1和模式3的接收时钟。
7.EXF2为定时器2的外部中断标志位。
当使EXF2=1时,T2EX(P1.1)发生负跳变时置EXF2
8.TF2为定时器2益出标志位
若TF2=1,表示定时器2益出。
(方式2,3TF2置位,方式3TF2不置位)
定时器2的三种方式选择
RCLK或TCLK
CP/RL2
TR2
模式
1
0
0
1
16位自动重装方式
2
0
1
1
16位捕获方式
3
1
X
1
串行波特率发生方式
4
X
X
X
停止
串行口控制寄存器(可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
*SCON
9F
9E
9D
9C
9B
9A
99
98
98H
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
符号
1.RI接收中断请求标志位
若RI=1,表示UART接收完成,产生中断。
(在模式0时,当串行接收到第8位结束时,由内部硬件自动置位。
响应中断后,用户需要通过软件使它复位;
在其它模式时,当串行接收到停止位的中间时刻,由内部硬件怎动置位。
响应中断后,用户需要通过软件使它复位)
若RI=0,表示UART无接收中断。
2.TI发送中断请求标志位
若TI=1,表示UART发送完成,产生中断。
(在模式0时,当串行发送数据第8位结束时,由内部硬件自动置位。
TI在发送前,用户先需要通过软件使它复位;
在其它模式时,则停止位开始发送时,由内部硬件怎动置位。
TI在发送前,用户先需要通过软件使它复位)
若TI=0,表示UART无发送收中断。
3.RB8为接收数据第9位
在模式2和模式3时,存放接收数据第9位。
在模式1时,若SM2=0,则RB8用于存放接收到停止位。
在模式0时,不使用RB8
4.TB8为发送数据第9位
在模式2和模式3时,存放发送数据第9位。
(TB8需要通过软件置位或复位)
在模式0时,不使用TB8
5.REN为允许/禁止串行接收位
REN=0,禁止接收数据
REN=1,允许接收数据
6.SM2为多机通信控制位
在模式0时,SM2不用,应设置SM2=0。
在模式1时,SM2不用,应设置SM2=0;如果SM2=1,则只有接收到有效的停止位时才置位中断标志位RI=1
在模式2和3时,若SM2=0,串行口以单机发送或接收方式工作。
T1和RI以正常方式激活。
但不会引起中断请求;若SM2=1,REN=1,则从机只有接收到RB8为1时才激活中断标志位RI为1,并向主机请求中断。
7.SM0和SM1为串行方式控制位
SM0
SM1
工作模式
说明
波特率
0
0
0
同步移位寄存器
Fosc/12
0
1
1
8位UART,波特率可变
由定时器T1和SMOD决定
1
0
2
9位UART,波特率可变
若SMOD=1,则Fosc/32若SMOD=0,则Fosc/64
1
1
3
9位UART,波特率可变
由定时器T1和SMOD决定
XICON辅助中断允许控制寄存器(可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
*XICON
C0H
PX3
EX3
IE3
IT3
PX2
EX2
IE2
IT2
符号
用于中断INT3控制
用于中断INT2控制
用户通过软件设置
设置
IE中断允许控制寄存器(可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
*IE
AF
-
AD
AC
AB
AA
A9
A8
A8H
EA
-
ET2
ES
ET1
EX1
ET0
EX0
符号
用户通过软件设置
设置
1.EX0为INTO中断请求控制位
若使EX0=0,则INTO中断请求被关闭。
若使EX0=1,则INTO中断请求被允许。
2.ET0为定时器T0的益出中断允许控制位
若使ET0=0,则定时器T0的益出中断被关闭。
若使ET0=1,则定时器T0的益出中断被允许。
3.ET1为定时器T1的益出中断允许控制位
若使ET1=0,则定时器T1的益出中断被关闭。
若使ET1=1,则定时器T1的益出中断被允许。
4.EX1为INT1中断请求控制位
若使EX1=0,则INT1中断请求被关闭。
若使EX1=1,则INT1中断请求被允许。
5.ES为串行口中断允许控制位
若使ES=0,则串行中断被禁止。
若使ES=1,则串行中断被允许。
6.ET2为定时器T2的益出中断允许控制位
若使ET2=0,则定时器T2的益出中断被关闭。
若使ET2=1,则定时器T2的益出中断被允许。
7.EA为允许中断总控制位
若使EA=0,则所有的中断源请求被禁止。
若使EA=1,则所有的中断源请求被允许。
IPH中断优先级控制寄存器高(不可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
IPH
B7H
PX3H
PX2H
PT2H
PSH
PT1H
PX1H
PT0H
PX0H
符号
用户通过软件设置
设置
IP中断优先级控制寄存器低(可以位寻址)
寄时器名
位地址分布(SFR中的位地址分布)
字节地址
*IP
-
-
BD
BC
BB
BA
B9
B8
B8H
-
-
PT2
PS
PT1
PX1
PT0
PX0
符号
用户通过软件设置
设置
1.PX0为INT0中断优先级控制位
若使PX0=0,则INT0定义为低中断优先级。
若使PX0=1,则INT0定义为高中断优先级。
2.PT0为定时器T0益出中断控制位
若使PT0=0,则定时器T0定义为低中断优先级。
若使PT0=1,则定时器T0定义为高中断优先级。
3.PX1为INT1中断优先级控制位
若使PX1=0,则INT1定义为低中断优先级。
若使PX1=1,则INT1定义为高中断优先级。
4.PT1为定时器T1益出中断控制位
若使PT1=0,则定时器T1定义为低中断优先级。
若使PT1=1,则定时器T1定义为高中断优先级。
5.PS为串行中断控制位
若使PS=0,则串行中断定义为低中断优先级。
若使PS=1,则串行中断定义为高中断优先级。
6.PT2为定时器T0益出中断控制位
若使PT2=0,则定时器T2定义为低中断优先级。
若使PT2=1,则定时器T2定义为高中断优先级。
中断查询次序
中断相关寄存器
定时器/计数器0和1的相关寄存器
定时器/计数器T2相关寄存器
串行口相关寄存器
STC89C52中断结构图