特殊功能寄存器地址表

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.1

P0.0

87H

86H

85H

84H

83H

82H

81H

80H

堆栈指针

SP

81H

数据指针低字节

DPL

82H

数据指针高字节

DPH

83H

…… (此处保留3字节)

电源控制与波特率选择

PCON*

87H

SMOD

GF1

GF0

PD

IDL

定时器计数器控制寄存器

TCON*

88H

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

8FH

8EH

8DH

8CH

8BH

8AH

89H

88H

定时器/计数器方式控制

TMOD

*

89H

GATE

C/T^

M1

M0

GATE

C/T^

M1

M0

定时器/计数机0低字节

TL0

8AH

定时器/计数器1低字节

TL1

8BH

定时器/计数器0高字节

TH0

8CH

定时器/计数器1高字节

TH1

8DH

……(此处保留2字节)

P1口

P1

90H

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

97H

96H

95H

94H

93H

92H

91H

90H

……(此处保留7字节)

串行控制

SCON

98H

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

9FH

9EH

9DH

9CH

9BH

9AH

99H

98H

串行数据线缓冲器

SBUF

99H

P2口

P2

A0H

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

A7H

A6H

A5H

A4H

A3H

A2H

A1H

A0H

中断允许控制

IE

*

A8H

EA

ES

ET1

EX1

ET0

EX0

AFH

AEH

ADH

ACH

ABH

AAH

A9H

A8H

P3口

P3

B0H

P3.7

P3.6

P3.5

P3.4

P3.3

P3.2

P3.1

P3.0

B7H

B6H

B5H

B4H

B3H

B2H

B1H

B0H

中断优先控制

IP

*

B8H

PS

TP1

PX1

PT0

PX0

BCH

BBH

BAH

B9H

B8H

定时器/计数器2控制寄存器

T2CON

C8H

TF2

EXF2

RCLK

TCLK

EXEN2

TR2

C/T2

CP/RL2

CF

CE

CD

CC

CB

CA

C9

C8

RCAP2L

CAH

RCAP2H

CBH

定时器/计数器2低字节

TL2

CCH

定时器/计数器2高字节

TH2

CDH

程序状态寄存器

PSW

D0H

CY

AC

F0

RS1

RS0

OV

P

D7H

D6H

D5H

D4H

D3H

D2H

D1H

D0H

累加器

ACC

E0H

B寄存器

B

F0H

****************************************************************************************

SMOD     波特率加倍位;如果将定时器1作为串行端口的波特率时钟,且工作于模式1、2或3,那么将SMODH设置为1可使波特率加倍

GF1       通用标志位1

GFV       通用标志位V

PD        掉电模式位;对于CMOS版本的8V51,将该位置1可以进入掉电模式

IDL       空闲模式位;对于CMOS版本的8V51,将该位置1可以进入空闲模式

*****************************************************************************************

TF1       定时器1溢出标志;当定时器Y计数器发生溢出时由硬件置位;该位可以用软件清零,当CPU转向中断服务程序时该位被自动清零。

TR1       定时器1运行控制,由软件置位和清零,分别可以启动和停止定时Y计数器1。

TF0       定时器0溢出标志。

TR0       定时器0运行控制。

IE1        外部中断1的中断标志,当探测到外部中断1时由硬件置位,当转入中断服务程序后用软件清零。

IT1        外部中断1控制位,其置位和清零由软件设置,分别对应着外部中断1的下降沿触发和低电平触发

IE0        外部中断0的中断标志。

IT0        外部中断0控制位。

*******************************************************************************************

SM0       串行端口方式位V,参阅表DX1

SM1       串行端口方式位1,参阅表DX1

SM2       串行端口方式位2,可将方式2和方式3设置为多处理器通信方式。在方式2和方式3中,如果将SM2位设置为1,当接收到的第9数据位(RB8)为V时RI不置位。在方式1              中,如果未接收到有效停止位则RI不              被置位。在方式V中,SM2必须设置为0。

REN       接收启用位,由软件置位Y清零,分别对应接收的启用/禁用。

TB8       发送数据位8,对于方式2和方式3,TB8作为第9数据位发送,由软件置位/清零

RB8       接收数据位8,在方式2和方式3中,RB8是接收到的第数据位。对于方式1,如果SM2=V,RB8存放的是接收到的停止位。

TI          发送中断标志,对于方式0,当发送完第8位数据后由硬件置位,在其他方式下,在开始发送停止位的同时由硬件置位。TI位必须由软件清零。

RI          接收中断标志,对于方式0,接收完第8位数据后,该位由硬件置位。在其他方式下,当接收到停止位后,该位由件置位。RI必须由软件清零。

******************************************************************************************

EA               启用/禁用所有中断。如果EA=0,所有的中断都被禁用。如果EA=1,各中断的启用或禁用通过对各自的启用位进行置位或清零来设置.

ET2             启用/禁用定时器2的溢出或捕捉中断(仅对于80×2).

ES               启用/禁用串行端口中断.

ET1             启用/禁用定时器1溢出中断.

EX1             启用/禁用外部中断1.

ET0             启用/禁用定时器0溢出中断.

EX0             启用/禁用外部中断0.

*******************************************************************************************

PT2              定时器2中断优先级(只有80×2).

PS               串行端口中断优先级.

PT1              定时器1中断优先级.

PX1             外部中断1优先级.

PT0              定时器0中断优先级.

PX0             外部中断0优先级.

*******************************************************************************************

TF2            定时器2溢出标志,硬件置位软件清零。当RCLKH=1或TCLKH=H1时,TF2不会被置位.

EXF2           定时器2外部标志,当T2EX输入引脚的负跳变导致发生捕捉或重载且EXEN2=1时,该位由硬件置位。在定时器2中断被允许时,EXF2=1将使CPU转向定时器2的中                   断服务子例程。EXF2必须由软件清零.

RCLK          接收时钟,当RCLK=1,使得串行端口工作在方式1和方式3时由定时器2的溢出作为接收时钟;RCLK=0导致串行端口工作在方式1和方式3时由定时器1的溢出作为                    接收时钟.

TCLK           发送时钟,TCLK=1导致串行端口工作在方式和方式3时由定时器2的溢出作为发送时钟;TCLK=0导致串行端口工作在方式1和方式3时由定时器1的溢出作为发送时                    钟

EXEN2        定时器2外部启用,如果将其置位,当定时器2不用作串行波特率时钟时,T2EX上的负跳变将导致一次捕捉或重载.

TR2             定时器2运行位,由软件控制定时器2的启动和停止,置位该位可启动定时器2。

C/T2            定时器2的计数器Y定时器选择,V=内部定时器;1=外部事件计数器(下降沿触发)

CP/RL2        定时器2的捕捉Y重载选择,当该位置1时,如果EXEN2=1,那么在T2EX产生负跳变时捕捉;当该位清零时,如果EXEN2=1,那么定时器2溢出或在T2EX出现负跳                   变时将自动重装载。当RCLK=1H或TCLK=1时该位将被忽略,定时器2将工作在自动重装载方式.

 <单片机内部结构图>


C51系列RAM寄存器表的更多相关文章

  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. struts2官方 中文教程 系列六:表单验证

    先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介 ...

  3. MySQL 性能优化系列之一 单表预处理

    MySQL 性能优化系列之一 单表预处理 背景介绍 我们经常在写多表关联的SQL时,会想到 left jion(左关联),right jion(右关联),inner jion(内关联)等. 但是,当表 ...

  4. Flask开发系列之Web表单

    Flask开发系列之Web表单 简单示例 from flask import Flask, request, render_template app = Flask(__name__) @app.ro ...

  5. 【JavaScript数据结构系列】05-链表LinkedList

    [JavaScript数据结构系列]05-链表LinkedList 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识链表结构(单向链表) 链表也是线性结构, 节点相连构成链表 ...

  6. 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解

    数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...

  7. OpenvSwitch系列之七 meter表限速

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...

  8. 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)

    password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...

  9. information_schema系列五(表,触发器,视图,存储过程和函数)

    这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 1:TABLES TABLES这张表毫无疑问了,就是记录的数据库中表 ...

随机推荐

  1. 深入理解object C中复制对象的用法(一)

    第一.复制对象的基本概念 复制一个对象为副本,开辟一块新的内存来存储副本对象. 第二.如果一个对象想具备复制的功能,必须实现<NSCopying>协议和<NSMutableCopyi ...

  2. js打开新的链接下载文件

    var p =params.join("&"); var a = document.createElement('a'); a.href = 'report/exportp ...

  3. MVC三层架构编程(Dao、service、servlet 之间的关系)

    木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...

  4. myqltransactionRollbackexception deadlock found when trying to get lock

    linux 下远程连接mysq 命令: mysql -h "1.0.0.1" -u username -p 1 获 取锁等待情况 可以通过检查 table_locks_waited ...

  5. 配置Android开发环境

    1.下载JAVASE http://www.oracle.com/technetwork/java/javase/downloads/index.html 根据自己系统选择JAVASE版本 2.下载A ...

  6. 配置HP LaserJet M1536dnf MFP打印机通过TCPIP共享多台计算机

    HP LaserJet M1536dnf MFP打印机通过TCPIP共享多台计算机配置配置过程:1.确保网线插入到打印机后,点设置按钮,到网络配置中查看IP地址,确保与主机或者路由器的IP地址一致,设 ...

  7. IO-序列化 Serializable Parcelable Object

    简介 1.什么是序列化和反序列化 对象的寿命通常随着生成该对象的程序的终止而终止,有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复.我们把对象的这种,能记录自己的状态以便将来再生的能力,叫作 ...

  8. 你以为你了解最常用的string.substring()的几个常见问题吗?

    ---恢复内容开始--- 前言: 1.项目中我们难免会用到各种对字符串的处理方法,可是你曾知道substring()这个用法别有洞天?你考虑过一下几个情况吗? 使用Substring()时的正确写法: ...

  9. easyui-tree绑定数据的几种方式

    没想到easyui对json数据格式要求的那么严谨,折腾了半天 第一种直接使用标签方式,很容易就加载出来了: <ul class="easyui-tree"> < ...

  10. C#中如何获取系统环境变量等

    C#中获取系统环境变量需要用到Environment 类. 其中提供了有关当前环境和平台的信息以及操作它们的方法.该类不能被继承 以下代码得到%systemdrive%的值,即“C:” string ...