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.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寄存器表的更多相关文章
- 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 数据 ...
- struts2官方 中文教程 系列六:表单验证
先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证 即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介 ...
- MySQL 性能优化系列之一 单表预处理
MySQL 性能优化系列之一 单表预处理 背景介绍 我们经常在写多表关联的SQL时,会想到 left jion(左关联),right jion(右关联),inner jion(内关联)等. 但是,当表 ...
- Flask开发系列之Web表单
Flask开发系列之Web表单 简单示例 from flask import Flask, request, render_template app = Flask(__name__) @app.ro ...
- 【JavaScript数据结构系列】05-链表LinkedList
[JavaScript数据结构系列]05-链表LinkedList 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识链表结构(单向链表) 链表也是线性结构, 节点相连构成链表 ...
- 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解
数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...
- OpenvSwitch系列之七 meter表限速
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...
- 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)
password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...
- information_schema系列五(表,触发器,视图,存储过程和函数)
这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 1:TABLES TABLES这张表毫无疑问了,就是记录的数据库中表 ...
随机推荐
- 深入理解object C中复制对象的用法(一)
第一.复制对象的基本概念 复制一个对象为副本,开辟一块新的内存来存储副本对象. 第二.如果一个对象想具备复制的功能,必须实现<NSCopying>协议和<NSMutableCopyi ...
- js打开新的链接下载文件
var p =params.join("&"); var a = document.createElement('a'); a.href = 'report/exportp ...
- MVC三层架构编程(Dao、service、servlet 之间的关系)
木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...
- myqltransactionRollbackexception deadlock found when trying to get lock
linux 下远程连接mysq 命令: mysql -h "1.0.0.1" -u username -p 1 获 取锁等待情况 可以通过检查 table_locks_waited ...
- 配置Android开发环境
1.下载JAVASE http://www.oracle.com/technetwork/java/javase/downloads/index.html 根据自己系统选择JAVASE版本 2.下载A ...
- 配置HP LaserJet M1536dnf MFP打印机通过TCPIP共享多台计算机
HP LaserJet M1536dnf MFP打印机通过TCPIP共享多台计算机配置配置过程:1.确保网线插入到打印机后,点设置按钮,到网络配置中查看IP地址,确保与主机或者路由器的IP地址一致,设 ...
- IO-序列化 Serializable Parcelable Object
简介 1.什么是序列化和反序列化 对象的寿命通常随着生成该对象的程序的终止而终止,有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复.我们把对象的这种,能记录自己的状态以便将来再生的能力,叫作 ...
- 你以为你了解最常用的string.substring()的几个常见问题吗?
---恢复内容开始--- 前言: 1.项目中我们难免会用到各种对字符串的处理方法,可是你曾知道substring()这个用法别有洞天?你考虑过一下几个情况吗? 使用Substring()时的正确写法: ...
- easyui-tree绑定数据的几种方式
没想到easyui对json数据格式要求的那么严谨,折腾了半天 第一种直接使用标签方式,很容易就加载出来了: <ul class="easyui-tree"> < ...
- C#中如何获取系统环境变量等
C#中获取系统环境变量需要用到Environment 类. 其中提供了有关当前环境和平台的信息以及操作它们的方法.该类不能被继承 以下代码得到%systemdrive%的值,即“C:” string ...