MCS-51单片机控制字详解
寄存器地址D0H,位寻址D7H~D0H。
位地址
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
位符号
|
CY
|
AC
|
F0
|
RS1
|
RS0
|
OV
|
-
|
P
|
CY——进位标记
AC——半进位标记
F0——用户设定标记
RS1、RS0——4个工作寄存器区的选择位。
VO——溢出标记
P——奇偶校验标记
PCON:
电源控制器及波特率选择寄存器
字节地址=87H,不可位寻址
SMOD
|
-
|
-
|
POF
|
GF1
|
GF0
|
PD
|
IDL
|
SMOD——波特率倍增位
GF1、GF0——用户通用标记
PD——掉电方式控制位,PD=1时进入掉电模式
IDL——空闲方式控制位,IDL=1时进入空闲方式
在AT89S51中PCON.4是
电源断电标记位POF,上电是为1
SCON:串行口控制寄存器
寄存器地址98H,位寻址9FH~98H。
位地址
|
9F
|
9E
|
9D
|
9C
|
9B
|
9A
|
99
|
98
|
位符号
|
SM0
|
SM1
|
SM2
|
REN
|
TB8
|
RB8
|
TI
|
RI
|
SM0、SM1:串行口工作方式选择位
SM2:多机通信控制位
REN:允许/禁止串行口接收的控制位
TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。
RB8:在方式2和方式3中,是被接收的第9位数据(来自第TB8位);在方式1中,RB8收到的是停止位,在方式0中不用。
TI——串行口发送中断请求标志位
当发送完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。
RI——串行口接收中断请求标志位
当接收完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。
TMOD:工作方式控制寄存器
寄存器地址89H,不可位寻址。
位序
|
B7
|
B6
|
B5
|
B4
|
B3
|
B2
|
B1
|
B0
|
位符号
|
GATE
|
C/T
|
M1
|
M0
|
GATE
|
C/T
|
M1
|
M0
|
GATE——门控位
当=0时,以TR0(或TR1)状态决定定时器/计数器的启动或禁止
当=1时,以TR0与INT0(或TR1与INT1)状态决定定时器/计数器的启动或禁止
C/T=0 定时/计数工作方式选择位 0为定时器 1为计数器。
M1M0——工作方式选择位
M1M0=00 方式0:是13位计数结构的工作方式,其计数器由TH全部8位和TL的低5位构成。
M1M0=01 方式1:是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。
M1M0=10 方式2:自动装入8位计数器。
M1M0=11 方式3:定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以计数使用,又可以定时使用,定时器/计数器0的各控制位和引脚信号全归它使用。
T2MOD:工作方式控制寄存器
寄存器地址0C9H,不可位寻址
-
|
-
|
-
|
-
|
-
|
-
|
T2OE
|
DCEN
|
T2OE:
定时器2输出允许位,当=1时,P1.0/T2引脚输出连续
脉冲信号
DCEN:当=1时,T2配置成向上向下计数器
P3口的代替功能
寄存器地址B0H,位寻址B7H~B0H。
引脚
|
P3.0
|
P3.1
|
P3.2
|
P3.3
|
P3.4
|
P3.5
|
P3.6
|
P3.7
|
代替功能
|
RXD
|
TXD
|
/INT0
|
/INT1
|
T0
|
T1
|
/WR
|
/RD
|
TCON:定时器控制寄存器
寄存器地址88H,位寻址8FH~88H。
位地址
|
8F
|
8E
|
8D
|
8C
|
8B
|
8A
|
89
|
88
|
位符号
|
TF1
|
TR1
|
TF0
|
TR0
|
IE1
|
IT1
|
IE0
|
IT0
|
TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。
TR0(TR1)——定时器运行控制位
当TR0(TR1)=0停止定时器/计数器工作
当TR0(TR1)=1启动定时器/计数器工作
IE0(IE1)——外中断请求标志位
当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。
IT0(IT1)——外中断请求信号方式控制位
当IT0(IT1)=1 脉冲方式(后沿负跳有效)
当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。
TF0(TF1)——计数溢出标志位
当计数器产生计数溢出时,此位由硬件置1。当转向中断服务时,再有硬件自动清0。计数溢出的标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。
T2CON:定时器控制寄存器
寄存器地址0C8H,位寻址0C8H~0CFH。
位地址
|
CF
|
CE
|
CD
|
CC
|
CB
|
CA
|
C9
|
C8
|
位符号
|
TF2
|
EXF2
|
RCLK
|
TCLK
|
EXEN2
|
TR2
|
C/T2
|
CP/RL2
|
TF2:T2溢出标记
当T2溢出时TF2=1,TD2只能用软件清除
当RCLK=1或TCLK=1时,TF2将不置位
EXF2:T2外部标记
当EXEN2=1时,T2EX/P1.1引脚上的负跳变引起T2的捕捉/重装操作,此时EXF2=1。在T2中断允许时,EXF2=1将引起中断,EXF2只能用软件清除。在T2的向上、向下计
数模式下(DCEN=1)EXF2的置位将不引起中断。
RCLK:接收时钟允许
当RCLK=1时,T2的溢出脉冲可用作串行口的接收时钟信号,适于串行口模式1、3当RCLK=0时,T1的溢出脉冲用作串行口接收时钟信号
TCLK:发送时钟允许
EXEN2:T2外部事件(引起捕捉/重装的外部信号)允许
当EXEN2=1时,如果T2没有作串行时钟输出(即RCLK+TCLK=0),则在T2EX/P1.1引脚跳变将引起T2的捕捉/重装操作;
当EXEN2=0时,在T2EX引脚的负跳变将不起作用
TR2:T2的启动/停止控制
C/T2:计数定时
CP/RL2:捕捉/重装选择
当CP/RL2=1且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起捕捉操作
当CP/RL2=0且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起重装操作
当CP/RL2=0且EXEN2=0时,T2的溢出将引起T2的自动重装操作
当RCLK+TCLK=1时,CP/RL2控制位不起作用,T2被强制工作于重装方式。重装方式发生于T2溢出时,常用来作波特率发生器。
IE:中断允许控制寄存器
寄存器地址A8H,位寻址AFH~A8H。
位地址
|
AF
|
AE
|
AD
|
AC
|
AB
|
AA
|
A9
|
A8
|
位符号
|
EA
|
/
|
ET2
|
ES
|
ET1
|
EX1
|
ET0
|
EX0
|
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:中断优先级控制寄存器
寄存器地址B8H,位寻址BFH~B8H。
位地址
|
BF
|
BE
|
BD
|
BC
|
BB
|
BA
|
B9
|
B8
|
位符号
|
/
|
/
|
PT2
|
PS
|
PT1
|
PX1
|
PT0
|
PX0
|
PX0——外部中断0优先级设定位
PT0——定时中断0优先级设定位
PX1——外部中断1优先级设定位
PT1——定时中断1优先级设定位
PS——串口中断优先级设定位
PT2——定时器2优先级设定位
AUXR:辅助寄存器
字节地址=8EH,不可位寻址
-
|
-
|
-
|
WDIDLE
|
DISRTO
|
-
|
-
|
DISALE
|
WDIDLE: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
字节地址=A2H,不可位寻址
-
|
-
|
-
|
-
|
-
|
-
|
-
|
DPS
|
DPS:数据指针寄存器选择位
当DPS=0时,选择数据指针寄存器DPRT0
当DPS=1时,选择数据指针寄存器DPRT
评论