51单片机寄存器分配表

 

寄存器一般使用格式

30H~7FH

一般数据或堆栈使用区

20H~28H

针对固定地址的区域

18H~1FH

寄存器组3

10H~17H

寄存器组2

08H~0FH

寄存器组1

00H~07H

寄存器组0

程序状态字  PSW D0H

D7

D6

D5

D4

D3

D2

D1

D0

CY

AC

F0

RS1

RS0

OV

P

P     :奇偶位;P=0表示A中1的个数是偶数,P=1表示A中1的个数是奇数。

OV   :益出位;OV=1表示运算时有益出产生。

RS0RS1:寄存器组选择位。

RS1

RS0

选择的寄存器组

0

0

寄存器组0

0

1

寄存器组1

1

0

寄存器组2

1

1

寄存器组3

F0    :用户自行设置位。

AC   :补助进位位;AC=1表示运算时较低4位有进位产生。

CY   :进位位;CY=1表示运算时有进位产生。

3中断允许寄存器  IE A8H

D7

D6

D5

D4

D3

D2

D1

D0

EA

ET2

ES

ET1

EX1

ET0

EX0

EA    :整体中断允许位;EA=1允许中断。

ET2   :T2中断允许位;ET2=1允许中断(S52才有)。

ES    :串行中断允许位;ES=1允许中断。

ET1   :T1中断允许位;ET1=1允许中断。

EX1   :INT1中断允许位;EX1=1允许中断。

ET0   :T0中断允许位;ET0=1允许中断。

EX0   :INT0中断允许位;EX0=1允许中断。

入口地址(按优先级): 外中断003H,定时器00BH,外中断113H,定时器11BH,串口—23H

中断优先次序寄存器  IP B8H

D7

D6

D5

D4

D3

D2

D1

D0

PT2

PS

PT1

PX1

PT0

PX0

PT2:T2    PS:串行口    PT1:T1    PX1:INT1    PT0:T0    PX0:INT0

2计时器计数器寄存器  TL0 8AH),TH0 8CH),TL1 8BH),TH1 8DH

D7

D6

D5

D4

D3

D2

D1

D0

D7

D6

D5

D4

D3

D2

D1

D0

32768

16384

8192

4096

2048

1024

512

256

128

64

32

16

8

4

2

1

→                TH0(1)                 ←  →             TL0(1)                 ←

同过设订两个寄存器中每位代表的数值来决定定时值和计数值。

例:TH=#3CH ,TL=#0B0H  等于15536,它的定时值就为50000。

1计时器模式寄存器  TMOD 89H

D7

D6

D5

D4

D3

D2

D1

D0

GATE

C/T

M1

M0

GATE

C/T

M1

M0

→                计时器1                ←   →                计时器0               ←

 

GATE  :GATE=1时表示T0或T1必须在INT0或INT1是高点位时才会初始化。

C/T    :C/T=1由外引脚T0或T1做计数脉冲,C/T=0由TH和TL做定时数。

M1M0:用来选择计时计数器工作模式

M1

M0

工作模式

说明

0

0

0

13位计时计数器 (8192)

0

1

1

16位计时计数器 (65536)

1

0

2

8位计时计数器,可自动重新载入计数值 (256)

1

1

3

当成两组独立的8位计时器(256,T0和T1不能同时用)

4计时器控制寄存器  TCON 88H

D7

D6

D5

D4

D3

D2

D1

D0

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

→            用于定时/计数器             ←   →               用于中断                ←

TF1  :TF1=1表示T1有中断产生。

TR1  :TR1=1表示T1开始运行。

TF0  :TF0=1表示T0有中断产生。

TR0  :TR0=1表示T0开始运行。

IE1   :IE1=1表示INT1有中断产生。

IT1   :IT1=1表示INT1为下降沿触发,IT1=0表示INT1为低电平触发。

IE0   :IE0=1表示INT0有中断产生。

IT0   :IT0=1表示INT0为下降沿(负跳变)触发,IT0=0表示INT0为低电平触发。

定时器T2

状态控制寄存器  T2CON C8H

D7

D6

D5

D4

D3

D2

D1

D0

TF2

EXF2

RCLK

TCLK

EXEN2

TR2

C/T2

CP/RL2

TF2  :T2中断益出标志;方式2,3置TF2,方式3不置。

EXF2 :T2外中断标志;EXF2=1,T2EX(P1.1)发生负跳变时置EXF2。

TCLK :串行口发送时钟选择标志。

RCLK :串行口接收时钟选择标志。

T2方式选择

 

RCLK或TCLK

CP/RL2

TR2

 

1

0

0

1

16位常数自动再装入方式

2

0

1

1

16位捕获方式

3

1

×

1

串行口波特率发生方式

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。

C/T2   :外部计数器/定时器选择位;C/T2=1时为计数器,计数脉冲来自T2(P1.0);

                                  C/T2=0时为定时器,以震荡脉冲的十二分频信号为计数信号。

TR2    :T2计数控制位;TR2=1时允许计数/定时。

CP/RL2 :捕获和常数自动再装入方式选择位;CP/RL2=1工作于捕获方式,CP/RL2=0工作于自动再装入方式,RCLK或TCLK为1时CP/RL2被忽略。

 

 

 

 

串行口控制寄存器  SCON 98H

D7

D6

D5

D4

D3

D2

D1

D0

SM0

SM1

SM2

REN

TB8

TR8

TI

RI

工作方式选择位  SM0SM1

SM0

SM1

工作模式

说明

波特率

0

0

0

此时串行口为移位寄存器用

震荡频率/12

0

1

1

8位元UART

由T1和SMOD位决定

1

0

2

9位元UART

震荡频率/64 或 震荡频率/32

1

1

3

9位元UART

由T1和SMOD位决定

SM2 :对于方式0:SM2=0。

对于方式1:SM2=1,只有接到有效的停止位才激活RI。

对于方式2和3为多机通信控制位;SM2=1,则接收的第9位数据为0时不激活RI。

REN :REN=1允许接收数据。

TB8  :在模式2、3时为第9个发送位。

RB8  :在模式2、3时为第9个接收位。

        对于方式1:如SM2=1,RB8为接收的停止位。

TI   :TI=1表示UATR传送完成,产生中断。

RI   :RI=1表示UATR接收完成,产生中断。

常用波特率表 (用11.0592M晶震)

波特率

TH1

SMOD

1200

TH1=E8H

0

2400

TH1=F4H

0

4800

TH1=FAH

0

9600

TH1=FDH

0

19200

TH1=FDH

1

波特率的计算

方式1: SMOD=0,   波特率=   1    ×        晶震频率   

  1. 12×(256—TH1)

        SMOD=1,    波特率=   1    ×        晶震频率   

16         12×(256—TH1)

方式2: SMOD=0,   波特率=   1    ×        晶震频率   

32                 12

SMOD=1,   波特率=   1    ×        晶震频率   

16                 12

方式3: 同方式1

波特率与电源管理寄存器  PCON 87H

D7

D6

D5

D4

D3

D2

D1

D0

SMOD

CF1

GF0

PD

IDL

SMOD :波特率倍增位 SMOD=1为16位,SMOD=0为32位。

CF1GF0:为一般用途标记。

PD    :停止运行控制位,PD=1时进入停止模式(在复位或外中断产生时恢复)。

IDL   :闲置模式控制位,IDL=1时进入闲置模式(在复位或重新上电时恢复)。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值