89C51特殊功能寄存器说明

片内RAM中的寄存器

89C51共21个SFR(Special Function Registers)特殊功能寄存器,按其使用功能可分为5类:

字节地址 位地址 寄存器 列别
FF
F0 F7 F6 F5 F4 F3 F2 F1 F0 B CPU控制寄存器
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC CPU控制寄存器
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW CPU控制寄存器
B8 —— —— —— BC BB BA B9 B8 IP 中断控制寄存器
B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 并行I/O口
A8 AF —— —— AC AB AA A9 A8 IE 中断控制寄存器
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 并行I/O口
99 不可寻址位 SBUF 串行口控制
98 9F 9E 9D 9C 9B 9A 99 98 SCON 串行口控制
90 97 96 95 94 93 92 91 90 P1 并行I/O口
8D 不可寻址位 TH1 定时器/计数器
8C 不可寻址位 TH0 定时器/计数器
8B 不可寻址位 TL1 定时器/计数器
8A 不可寻址位 TL0 定时器/计数器
89 不可寻址位 TMOD 定时器/计数器
88 8F 8E 8D 8C 8B 8A 89 88 TCON 定时器/计数器
87 不可寻址位 PCON 串行口控制
83 不可寻址位 DPH CPU控制寄存器
82 不可寻址位 DPL CPU控制寄存器
81 不可寻址位 SP CPU控制寄存器
80 87 86 85 84 83 82 81 80 P0 并行I/O口

8051/89C51共有21个专用寄存器,介绍如下:

第一类:CPU控制寄存器:B、ACC、PSW、SP、DPL、DPH、PC(不算专用寄存器);

(1)B寄存器(Base Register) B寄存器也是一个8位寄存器,主要用于乘除运算。乘法运算时,B存乘数,乘法操作后,乘积的高8位存于B中;除法运算时,B存除数,除法操作后,余数存于B中。此外,B寄存器也可作为一般寄存器使用。

  • 寄存器 B
  • 助记符:B
  • 地址:F0H
  • 位数:8位
  • 作用:常在乘、除指令中用到,其他时刻作为一般的通用寄存器或RAM单元使用。
  • 在乘指令中两个操作数即两个乘数取之于累加器A和寄存器B中,所得16位积的高8位放在B中,低八位放在A中。 附:乘法指令:MUL  A  B
  • 在除指令中A存放被除数,B存放除数,商存放于A,商存放于B中。附:DIV  A  B

(2)累加器(Accumulator,ACC) 累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。

  • 累加器 ACC
  • 助记符: A
  • 地址:E0H
  • 位数:8位
  • 作用:最常用的8位特殊功能寄存器,指令操作数常存放于A中以及许多运算中间结果存放于A中。

(3)程序状态字(Program Status Word,PSW) 程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令根据PSW某些位的状态进行程序转移。PSW的各位定义如下图所示。

PSW位地址:

位地址

D7H

D6H

D5H

D4H

D3H

D2H

D1H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值