51单片机常用寄存器说明汇总

51单片机常用寄存器说明汇总

查看: 3255|回复: 2

51单片机常用寄存器说明汇总

[复制链接]

ID:577583

当前离线

积分765

电梯直达

楼主

ID:577583

发表于 2024-2-22 17:04

|

只看该作者

|倒序浏览

|阅读模式

程序存储器 ROM

1、程序存储器的ROM的最大空间是64KB,因为地址线是16根,2^16 = 64 KB。80C51单片机,其内部有4KB ROM,外部ROM的最大容量是60KB;

2、80C51片内4 KB ROM 的地址为:0000H~0FFFH (2^12 = 4 KB),片外60 KB ROM的地址为:1000H~FFFFH(2^16 - 2^12 = 60 KB);

3、80C51单片机,正常运行时:EA(非)端接高电平,CPU从内部ROM中读取程序;当PC值超过内部ROM,才会转向外部ROM;

4、片内ROM的保留单元:保留单元地址入口地址用途

0000H~0002H0000H复位后初始化引导程序

0003H~000AH0003H外部中断0中断服务程序

000BH~0012H000BH定时/计数器0中断服务程序

0013H~001AH0013H外部中断1中断服务程序

001BH~0022H001BH定时/计数器1中断服务程序

0023H~002AH0023H串行口中断服务程序

002BH~0032H002BH定时/计数器2中断服务程序

数据存储器 RAM

1、数据存储器用于存放运算的中间结果、暂存和缓冲数据及标志位等;

2、51系列单片机内部RAM有256B,地址为:00H~0FFH(2^8 = 256 B);可拓展的外部RAM最大空间为64KB,地址为:0000H~0FFFFH(2^16 = 64 KB);

3、片内256B的RAM又分为:低128单元(00H~7FH)(2^7 = 128 B)RAM区;高128单元(80H~0FFH)(2^8 - 2^7 = 128B)的特殊功能寄存器区(SFR区);

4、低128单元分为:①通用寄存器区(00H~1FH)(2^5 = 32 B):从第0组到第3组,共计有4组通用寄存器区;②位寻址区(20H~2FH)(16B = 128位);③用户RAM区(30H~7FH)(4FH = 80B);

5、通用寄存器区/工作寄存器区:常用于存放操作数及中间结果。32个寄存器分为4组,每组8个,每个寄存器都是8位,每组都以R0~R7作为寄存器单元编号。

寄存器名称地址

第0组第1组第2组第3组

R000H08H10H18H

R101H09H11H19H

R202H0AH12H1AH

R303H0BH13H1BH

R404H0CH14H1CH

R505H0DH15H1DH

R606H0EH16H1EH

R707H0FH17H1FH

6、第0组寄存器被默认为通用寄存器组,其他需要设置PSW中的RS1、RS0两位,没被选中的寄存器可作为一般的数据缓冲器使用。

RS1RS0组号

113

102

011

000

7、位寻址区16个字节**(16B = 128位)**中的每一位都有一个特定的位地址

8、用户RAM区(30H~7FH)(80个单元),这些单元可以用作:数据缓冲器使用,也可作为堆栈以保存子程序调用或响应中断时的断点和现场。

9、特殊功能寄存器区(SFR区)(字节地址能被8和0整除)

符号名称字节地址D7D6D5D4D3D2D1D0

TCON定时/计数器状态字88HTF1TR1TF0TR0IE1IT1IE0IT0

8FH8EH8DH8CH8BH8AH89H88H

TMOD定时/计数器方式控制字89HGATEC/TM1M0GATEC/TM1M0

SCON串口控制寄存器98HSM0SM1SM2RENTB8RB8T1R1

9FH9EH9DH9CH9BH9AH99H98H

IE中断允许控制寄存器A8HEA--ESET1EX1ET0EX0

AFHAEHADHACHABHAAHA9HA8H

IP中断优先级控制寄存器B8H---PSPT1PX1PT0PX0

BFHBEHBDHBCHBBHBAHB9HB8H

PSW程序状态字D0HCYACF0RS1RS0OV-P

D7HD6HD5HD4HD3HD2HD1HD0H

(1)累加器(A/ACC);

(2)B寄存器:主要与累加器配合完成乘法和除法运算;

(3)程序状态字(PSW):8位的寄存器,用于存放程序运行的状态信息及运算结果的标志PSW程序状态字CYACF0RS1RS0OV-P

①CY:进位标志位,最高位有进位或借位时,CY置1;无进位或错位时,CY清0;②AC:辅助进位标志位,低4位向高4位有进位或借位时,CY置1;无进位或错位时,CY清0;​ ③F0:用户标志位​ ④RS1和RS0:通用寄存器组选择位​ ​⑤OV:溢出标志位,溢出OV置1,没溢出OV清0

⑥P:奇偶校验位,如果A中有奇数个“1”,则P为1;否则P为0;

(4)数据指针(DPTR):唯一一个可寻址的16位寄存器。在访问外部RAM时,DPTR作为地址指针使用;(5)堆栈指针(SP):堆栈的操作方式有两种:​ ①自动方式:在调用子程序或者产生中断时,CPU自动将断点压入堆栈;程序返回时,断点自动弹回给PC指针;

​ ②指令方式:入栈指令PUSH,出栈指令POP;

PS:SP的复位值为07H,堆栈数据从08H开始存放,这样会导致通用寄存器无法使用,所以程序一开始就需要将SP设置为30H,这样堆栈就会开辟在用户RAM区(30H~7FH)。

(6)程序计数器(PC):PC是一个16位计数器,专门用于存放CPU将要执行的指令地址(即下一条指令的地址)。

I/O口1、51单片机用4个8位并行I/O口(P0~P3)和一个串行I/O口。并行I/O口一次可传送8位二进制数据,串行I/O一次仅能传送1位二进制数据。2、P0口:第一功能:准双向三态I/O口特别注意:P0作为输入口时,必须先向锁存器写入高电平,使输出驱动电路中的T1截止,P0口处于高阻态,具有高阻抗输入特性。第二功能:CPU在访问存储器时,可以作为地址/数据分时复用的端口,地址单向输出,数据双向传输。PS:拓展外部RAM或者ROM时,P0口只能作为第二功能,输出低八位地址。3、P1口:第一功能:准双向I/O口特别注意:P1作为输入口时,必须先向锁存器写入高电平,使输出驱动电路中的T截止。第二功能:①P1.0:定时/计数器2的外部触发计数脉冲输入端;

②P1.1:定时/计数器2的捕获、重装触发控制输入端。4、P2口:第一功能:准双向I/O口特别注意:P2作为输入口时,必须先向锁存器写入高电平,使输出驱动电路中的T截止。第二功能:拓展外部存储器时,输出高8位地址,与P0口组成16位地址。5、P3口:第一功能:准双向I/O口特别注意:P3作为输入口时,必须先向锁存器写入高电平,使输出驱动电路中的T截止。第二功能:①中断信号,②外部RAM的读写控制口引脚第二功能符号第二功能名称

P3.0RXD串行数据接受P3.1TXD串行数据发送P3.2INT0(非)外部中断0申请P3.3INT1(非)外部中断1申请P3.4T0定时/计数器0的计数输入P3.5T1定时/计数器1的计数输入P3.6WR(非)外部数据存储器写选通P3.7RD(非)外部数据存储器读选通时钟电路和时序1、晶振周期/振荡周期/拍节: P = 1/Fosc;eg:Fosc = 12 MHz P = 1/12us 机器周期 = 1us2、时钟周期/状态:S = 2P;3、机器周期/扫描周期 = 6S = 12P;指令系统1、七种寻址方式1.立即寻址MOVA,#70H;将立即数70H传送到累加器A

2.寄存器寻址:给出寄存器名字,将寄存器的内容取出来MOVA,R0;将寄存器R0中的内容传送到累加器A

3.直接寻址:给出某一存储单元地址,对该单元的内容进行操作MOVA,70H;将片内RAM地址为70H的单元的内容送到A中。

直接寻址方式用于访问以下存储空间:①SFR

②片内数据存储器低于128字节

③位地址空间4.寄存器间接寻址:给出寄存器名字,以该寄存器的内容为地址,将地址的数据取出。MOVA,@R1;将以寄存器R1的内容为地址的片内RAM单元的数据传送到A可用作寄存器间接寻址的寄存器:R0,R1,DPTR5.变址寻址(基寄存器加变址寄存器间接寻址):给出基寄存器(DPTR或PC)和变址寄存器(累加器A),将基寄存器和变址寄存器的内容之和为地址,将该地址的数据取出。MOVCA,@A+DPTR

6.相对寻址:以当前程序计数器PC值加上指令中给出的偏移量rel,构成实际操作数地址。目标地址=指令存储地址+指令字节数+rel偏移量rel:有符号,单字节,补码表示,负数表示从当前地址向前转移,正数表示向后。PC值:相对转移指令的存储地址+该指令字节数7.位寻址:在位操作指令中直接给出操作数的地址。MOV C,20H ;将20H位的值送给进位位CY,20H为位地址适用范围:①内部RAM 20H2FH单元中的位(007FH)或者SFR中具有位地址的。定时/计数器的特殊功能寄存器

TCON定时/计数器状态字TF1TR1TF0TR0IE1IT1IE0IT0

TMOD定时/计数器方式控制字GATEC/TM1M0GATEC/TM1M0

SCON串口控制寄存器SM0SM1SM2RENTB8RB8T1R1

IE中断允许控制寄存器EA--ESET1EX1ET0EX0

IP中断优先级控制寄存器---PSPT1PX1PT0PX0

TCON:定时/计数器状态字TF1TR1TF0TR0IE1IT1IE0IT0

TR1和TF1同理TF0溢出标志位:T0产生溢出信号,TF0置1;如果溢出,TF0需用软件清0。TR0是T0的运行控制位:由软件置1和清0,当TR0 = 0时,停止计数;当TR0 = 1时,启动计数。IT1和IE1同理外部中断0中断请求标志位:在边沿触发方式下,IE0由硬件清零;在电平触发模式下,只能由软件清零。外部中断0信号方式控制位:

IT0 = 0时,外部中断0为电平触发,INT0(非)为低电平时有效;

IT0 = 1时,外部中断0为边沿触发,INT0(非)为负跳变时有效。

TMOD:定时/计数器工作方式寄存器GATEC/TM1M0GATEC/TM1M0

GATE:门控位C/T(非):功能选择位M1 M0:定时器四种工作方式选择位 GATE = 0时,仅由TCON中的TR0(TR1)位启动/停止T0(T1);

GATE = 1时,T0(T1)的启动或停止受外部中断信号INT0(非)(P3.2)或 INT1(非)(P3.3)的控制,此时TR0(TR1)需置位。

C/T(非)=0时为定时功能: 加1计数器对脉冲f进行计数,每来一个脉冲,计数器加1,直到计时器TFx满溢出;

C/T(非)=1时为计数功能: 加1计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数,每来一个脉冲,计数器加1,直到计时器TFx满溢出;M1 M0 = 00工作方式013位定时/计数器工作方式M1 M0 = 01工作方式116位定时/计数器工作方式M1 M0 = 10工作方式2自动重装载8位定时/计数器工作方式M1 M0 = 11工作方式3两个独立8位定时/计数器(仅T0可用,T1停止工作)IE中断允许控制寄存器EA--ESET1EX1ET0EX0

EA:中断允许总控制位

ES:串行口中断允许位ET1:定时/计数器0中断允许位EX1:外部中断1允许位ET0:定时/计数器1中断允许位EX0:外部中断0允许位

IP:中断优先级控制寄存器IP中断优先级控制寄存器---PSPT1PX1PT0PX0

中断自然优先级(由高到低):外部中断0、定时/计数器0、外部中断1、定时/计数器1、串行口中断,若某一位置1,则相应的中断源为高优先级;若某一位为0,则则相应的中断源为低优先级。

SCON:串行接口控制寄存器SCON串口控制寄存器SM0SM1SM2RENTB8RB8T1R1

(1)SM0和SM1:串行接口工作方式设置位方式2和方式3主要用于多机通信控制:当串行接口工作在方式2或方式3时,若SM2=1,则允许多机通信。

多机通信规定:第9位数据位为1 (即TB8=1),说明本帧数据为地址帧:第9位数据为0(即TB8=0),则本帧数据为数据帧。

当从机接收到的第9位数据(在RB8中)为1时,数据才装入接收缓冲器SBUF,并置RI=1向CPU申请中断;如果接收到的第9位数据(在RB8中)为0,则不置位中断标志RI且信息丢失。

当SM2=0时,则不管接收到第9位数据是否为1,都产生中断标志RI,并将接收到的数据装入SBUF。应用这一特点可以实现多机通信。

串行口工作在方式0时,SM2必须设置为0;工作在方式1时,如SM2=1,则只有接收到有效的停止位时才会激活RI。允许接收控制位:当REN=1时,允许接收;当REN=0时,禁止接收。此位由软件置1或清零发送数据的第9位:在方式2和方式3中,在多机通信中作为发送地址帧或数据帧的标志。

TB8=1,说明该发送帧为地址帧;TB8=0,说明该发送帧为数据帧。

在许多通信协议中,它可作为奇偶校验位。此位由软件置1或清零。在方式0和方式1中,此位未使用接收数据的第9位:

在方式2和方式3中,接收到的第9位数据放在RB8中。它或是约定的奇/偶校验位,或是约定的地址/数据标志位。

在方式2和方式3多机通信中,RB8=1,说明该接收帧为地址帧;RB8=0,说明该接收帧为数据帧发送中断标志位:

在一帧数据发送完时,由硬件置位。

TI=1,可申请中断,说明发送缓冲器SBUF已空,CPU可以发送下一帧数据。中断被响应后,TI不能自动清零,必须由软件清零接收中断标志位:

在接收到一帧有效数据后,由硬件置位。

RI=1,可申请中断,表示一帧数据接收结束,并已装入接收缓冲器SBUF中。CPU响应中断,取走数据后,RI不能自动清零,必须由软件清零。

SM0SM1工作方式功能说明波特率

00方式0同步移位寄存器,用于I/O拓展fosc/12波特率 = fosc/12

01方式110位异步收发器由定时器T1溢出率控制

S = SMOD

10方式211位异步收发器fosc/32或fosc/64file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png

11方式311位异步收发器由定时器T1溢出率控制file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png

PCON:电源控制寄存器控制字D7D6D5D4D3file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png D2 D1D0

SMOD:串行接口波特率的倍率控制位。

在方式1、方式2和方式3下,当SMOD = 1时,波特率加倍;当SMOD = 0时,波特率不加倍,即波特率和2^SMOD成正比。

中断计数初值的设定

晶振频率为fosc, 晶振周期:P = 1/fosc, 机器周期 = 12P = 12/fosc设定计数初始值为X,定时时间Tc在工作方式0的情况下,13位定时/计数器,溢出值为2^13 = 8192① 计数值 = 溢出值 - 计数初值 = 8192 - X;

② 定时时间Tc = 机器 * 计数值 =

③计数值计算公式

在工作方式1的情况下,16位定时/计数器,溢出值为2^16 = 65536① 计数值 = 溢出值 - 计数初值 = 65536 - X;

② 定时时间Tc = 机器 * 计数值 =file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png

③计数值计算公式:file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png

file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png

file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png

名称地址D7D6D5D4D3D2D1D0

WDCOND8hSMOD_1POREPFIPFIWDIFWTRFEWTRWT

上电复位标志位电源失效中断使能位电源失效中断状态位PFI看门狗中断标志位看门狗复位超时后置位的复位标志位看门狗复位使能复位看门狗定时器

名称地址D7D6D5D4D3D2D1D0

PCON87hSMOD_0SMOD0OFDFOFDEGF1GF0STOPIDLE

UART0 波特率加倍使能串口错误帧检测标志位振荡器故障引起的复位标识振荡器故障检测使能通用标志位通用标识位停机模式使能空闲模式使能

名称地址D7D6D5D4D3D2D1D0

T2CONC8hTF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2

定时器2溢出标志位定时器2外部标志位串口接收波特率发生串口发送波特率发生外部使能使能控制计数(1)和计时选择(0)捕获(P1.1)和重载选择[0]

名称地址D7D6D5D4D3D2D1D0

CKCON8EhWD1WD0T2MT1MT0MMD2MD1MD0

看门狗定时选择定时器2时钟选择定时器1时钟选择定时器0 时钟选择MOVX 机器周期选择

file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png

名称地址D7D6file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png D5 D4D3D2D1D0

file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png PMR C4hCD1CD0SWBCTM4X/2XALEONDME1DME0

时钟分配控制

乘法器使能时钟倍频外部内存使能内存使能

名称地址D7D6D5D4D3D2D1D0

file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png CKMOD 96h

T2MHT1MHT0MH—file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png — —

定时器高速选择

名称地址D7D6D5D4D3D2D1D0

DPS86hID1ID0TSLAID———SEL

DPTR1递增(0)和递减选择DPTR递增(0)和递减选择SEL位被DPTR影响控制(1)递增递减使能

数据指针选择,0 DPL DPH

1:DPL1 DPH1

0

名称地址D7D6D5D4D3D2D1D0

EXIF91hIE5IE4IE3IE2CKRYRGMDRGSLBGS

Clock Ready.Ring Mode Status.Ring Oscillator Select.Bandgap Select.

分享到:

QQ好友和群

QQ空间

腾讯微博

腾讯朋友

收藏3

淘帖0

顶0

踩0

回复

使用道具

举报

ID:1064915

当前离线

积分2803

沙发

ID:1064915

发表于 2024-2-23 11:22

|

只看该作者

需要可下载文件

回复

使用道具

举报

ID:1108581

当前离线

积分1668

板凳

ID:1108581

发表于 2024-2-23 13:49

|

只看该作者

感谢大佬分享,就是帖子的排版好像不太好

回复

使用道具

举报

相关推荐

世界杯比利时绝杀韩国,世界杯比利时晋级之路
bet28365365体育投注

世界杯比利时绝杀韩国,世界杯比利时晋级之路

📅 07-11 👁️ 7577
导热硅脂涂多少合适,涂多了会怎样,会影响散热吗?
365完美体育官网入口

导热硅脂涂多少合适,涂多了会怎样,会影响散热吗?

📅 09-18 👁️ 9304
字典中文 - 粤语
365完美体育官网入口

字典中文 - 粤语

📅 06-29 👁️ 7642
怎么面对面付款
365完美体育官网入口

怎么面对面付款

📅 08-17 👁️ 2820
拳击比赛赛事有哪些 拳击赛事有哪些?
bet28365365体育投注

拳击比赛赛事有哪些 拳击赛事有哪些?

📅 08-21 👁️ 773
浙大学霸作息表刷屏,这才是真正的时间管理大师!
365完美体育官网入口

浙大学霸作息表刷屏,这才是真正的时间管理大师!

📅 08-06 👁️ 2339