1. P0 (80H)

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

2.SP 栈指针(81H)

3.DPTR 数据指针(由DPH和DPL组成)

DPL 数据指针低八位 (82H)

DPH 数据指针高八位 (83H)

4.PCON 电源管理寄存器 (87H)

SMOD

——

——

——

GF1

GF0

PD

IDL

SMOD :波特率倍增位。SMOD=0时,不变;SMOD=1时,倍增。

GF1,GF0 :通用标志位。

PD :掉电方式位。PD=1时,进入掉电方式。

IDL :待机方式位。IDL=1时,进入待机方式。

5.TMOD 定时/记数方式寄存器 (89H)

GATE

C/T

M1

M0

GATE

C/T

M1

M0

GATE :门控位。GATE=0时,直接由TR启动定时器;GATE=1时,须外部INT为1时,且TR启动定时器。

C/T :功能选择位。C/T=0时,为定时器;C/T=1时,为计数器。

M1,M0 :方式选择位。

M1

M0

工作方式

方式描述

0

0

方式0

13位计数器

0

1

方式1

16位计数器

1

0

方式2

8位自动重装计数器

1

1

方式3

T0:分成两个8位计数器,T1:停止记数。

6.TCON 定时/记数控制寄存器 (88H)

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

TF1 :定时器1溢出标志。由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。

TR1 :定时器运行控制位。TR1=0时,关闭T1;TR1=1时,启动T1。

TF0 :定时器0溢出标志。由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。

TR0 :定时器运行控制位。TR0=0时,关闭T0;TR0=1时,启动T0。

IE1 :外部中断1请求标志。

IT1 :外部中断1触发方式。IT1=0时,为低电平触发方式;IT1=1时,为负跳变触发方式(边沿触发)。

IE0 :外部中断0请求标志。

IT0 :外部中断0触发方式。IT0=0时,为低电平触发方式;IT0=1时,为负跳变触发方式(边沿触发)。

7.P1 (90H)

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

8.SCON 串行控制寄存器 (98H)

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

SM0,SM1 :串行方式控制。

SM1

SM0

工作方式

功能描述

波特率

0

0

方式0

8位同步移位寄存器

fosc/12

0

1

方式1

10位UART

可变

1

0

方式2

11位UART

fosc/64或fosc/32

1

1

方式3

11位UART

可变

SM2 :多机通讯控制位。SM2=0时,禁止多机通讯;SM2=1时,允许多机通讯。

REN :允许串行接收位。REN=0时,禁止串行接收;REN=1时,允许串行接收。

TB8 :发送数据第九位(D8)。

RB8 :接收数据第九位(D8)。

TI :发送中断标志位。

RI :接收中断标志位。

9.P2 (A0H)

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

10.IE 中断允许控制寄存器 (A8H)

EA

——

ET2

ES

ET1

EX1

ET0

EX0

EA :CPU中断总允许位。EA=0时,屏蔽所有中断请求;EA=1时,CPU开放中断。

ES :串行口中断允许位。ES=0时,串行口禁止中断;ES=1时,串行口允许中断。

ET1 :T1中断允许位。ET1=0时,T1禁止中断;ET1=1时,T1允许中断。

EX1:外部中断1(INT1)允许位。EX1=0时,INT1禁止中断;EX1=1时,INT1允许中断。

ET0 :T0中断允许位。ET0=0时,T0禁止中断;ET0=1时,T0允许中断。

EX0:外部中断0(INT0)允许位。EX0=0时,INT0禁止中断;EX0=1时,INT0允许中断。

ET2 :T2中断允许位。ET2=0时,T2禁止中断;ET2=1时,T2允许中断。

11.P3 (B0H)

P3.7

P3.6

P3.5

P3.4

P3.3

P3.2

P3.1

P3.0

12.IP 中断优先级控制寄存器 (B8H)

——

——

PT2

PS

PT1

PX1

PT0

PX0

PS :串行口中断优先级控制位。PS=0时,优先级低;PS=1时,设定串行口为高优先级中断。

PT1 :T1中断优先级控制位。PT1=0时,优先级低;PT1=1时,设定T1为高优先级中断。

PX1 :外部中断1(INT1)优先级控制位。PX1=0时,优先级低;PX1=1时,设定外部中断1(INT1)为高优先级中断。

PT0 :T0中断优先级控制位。PT0=0时,优先级低;PT0=1时,设定T0为高优先级中断。

PX0 :外部中断0(INT0)优先级控制位。PX0=0时,优先级低;PX0=1时,设定外部中断0(INT0)为高优先级中断。

13.PSW 程序状态字寄存器 (D0H)

CY

AC

F0

RS1

RS0

OV

F1

P

CY :进位标志。

AC :半进位标志。

F0,F1 :用户标志位。

RS1,RS0 :

RS1

RS0

寄存器组

片内RAM地址

0

0

第0组

00H~07H

0

1

第1组

08H~0FH

1

0

第2组

10H~17H

1

1

第3组

18H~1FH

OV :溢出标志。

P :基偶标志。

14.ACC 累加器A。(E0H)

15.B B寄存器 (F0H)

MCS-51系列特殊功能寄存器(摘抄)的更多相关文章

  1. MCS-51系列特殊功能寄存器(摘录)

    MCS-51系列特殊功能寄存器(80H~FFH) 1. P0 (80H) P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 2.SP 栈指针(81H) 3.DPTR 数据 ...

  2. MCS-51特殊功能寄存器(SPR)的C51定义

    MCS - 51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H~0FFH.SFR中有11个寄存器具 ...

  3. 51单片机SRF寄存器

    1.21个寄存器介绍        51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...

  4. 寄存器、特殊功能寄存器和ram之间的区别联系

    存储器在CPU外,一般指硬盘,U盘等可以在切断电源后保存资料的设备,容量一般比较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般是50MB/S左右. 内存和寄存器就是为了解决存储器读写速度慢而产生 ...

  5. 在51系列中data,idata,xdata,pdata的区别

    在51系列中data,idata,xdata,pdata的区别: data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码 也最小. idata:固定指前面 ...

  6. C51系列RAM寄存器表

    特殊功能寄存器地址表 SFR 符号 字节 地址 位地址和位名称 D7 D6 D5 D4 D3 D2 D1 D0 P0口 P0 80H P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0. ...

  7. 51系列xdata、idata、data的用法

    从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的 ...

  8. Cortex-M3 R0~R15寄存器组 & 特殊功能寄存器组

    [R0~R15寄存器组] Cortex-M3处理器拥有R0~R15的寄存器组,如: [R0~R12通用寄存器]R0~R12都是32位通用寄存器,用于数据操作.其中: R0~R7为低组寄存器,所有的指令 ...

  9. Keil MDK版兼容51系列单片机开发环境安装

    一.安装源文件下载 百度网盘链接:https://pan.baidu.com/s/18tnjFgVat4q2hDSh7LAD8A 提取码:    2295 二.安装及破解 1.安装51的编辑器 双击安 ...

随机推荐

  1. Git的配置及常用命令

    Git配置 git config --global user.name "<username>" git config --global user.email &quo ...

  2. python集成开发工具

    1. IDLE http://python.org/idle/ (在 Python 发行版中自带) 2 BlackAdder 3 PythonWorks 4 Wing IDE http://wingw ...

  3. eclipse平台

    eclipse 是一个平台!!!! 能连ssh,能连db,能连windows Eclipse http://www.eclipse.org/downloads/packages/release/Neo ...

  4. python百分比数比较大小

    python是无法识别百分比的,估计你的百分比是string,所以需要转成int # !/usr/bin/python3.4 # -*- coding: utf-8 -*- # 百分数转为int de ...

  5. lumen 登陆 注册 demo

    本文将用Lumen来实现一个完整的用户注册.登录及获取用户信息的API. Lumen环境搭建和初始化详细步骤请参考上篇文章<Lumen安装配置使用入门>一文. 一.准备工作 1.Lumen ...

  6. Hadoop数据读写原理

    数据流 MapReduce作业(job)是客户端执行的单位:它包括输入数据.MapReduce程序和配置信息.Hadoop把输入数据划分成等长的小数据发送到MapReduce,称之为输入分片.Hado ...

  7. ruby formatting time

    %Y%m%d => 20071119 Calendar date (basic) %F => 2007-11-19 Calendar date (extended) %Y-%m => ...

  8. requirejs笔记

    1.RequireJS是一个工具库,主要用于客户端的模块管理.它可以让客户端的代码分成一个个模块.实现异步或动态加载,从而提高代码的性能和可维护性.它的模块管理遵循AMD规范(Asynchronous ...

  9. Swing列表框组件

    public class JListTest extends JFrame{    private static final long serialVersionUID=1L;        publ ...

  10. [PAT]求集合数据的均方差(15)

    #include "stdio.h" #include "malloc.h" #include "math.h" int *getinput ...