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这张表毫无疑问了,就是记录的数据库中表 ...
随机推荐
- win7虚拟机起不来,报错transport vmdb error -44 message the vmware authorization
运行: services.msc 选择:VMware Authorization Service,运行它
- jquery实现停留半秒后再选择
jquery实现tab停留半秒后,选中菜单.切换tab下的内容: var showHandler=null; function init(){ $("#tab_ul").find( ...
- 基于Struts2 的日志管理系统的Java实现
1.首先,项目的架构如下: 2.com.sxl.dba 中:OracleConnector.java package com.sxl.dba; import java.sql.*; ...
- QT5: QApplication, no such file or directory
In QT5, when I use this: #include<QApplication>, QT tells :no such file or directory, even tho ...
- CComPtr用法
COM接口指针很危险,因为使用过程中需要每一个使用者都要严格并且正确的AddRef和Release,一旦出现问题,就会造成对象不能被正常释放,或者对象被重复删除,造成程序崩溃.所以使用COM接口,必须 ...
- JAVA ,SSH中文及其乱码问题的解决 6大配置点 使用UTF-8编码
JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 6大配置点 使用UTF-8编码 目前对遇到J2EE 开发中 中文及其乱码问题,参考网上资料做个总结, 主要是6大配置点: ...
- SQL 使用Cursor(游标)遍历结果集
使用Cursor(游标)可以在存储过程中遍历select 结果集,对其进行相关的操作. Cursor(游标)语法格式 DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段 ...
- 你真的了解 console 吗
对于前端开发者来说,在开发过程中需要监控某些表达式或变量的值的时候,用 debugger 会显得过于笨重,取而代之则是会将值输出到控制台上方便调试.最常用的语句就是console.log(expres ...
- CSS选择符详解之关系选择符篇
原文:http://www.chinaz.com/web/2012/1017/278553.shtml 相信大家都对CSS选择符都不陌生,选择符包含:元素选择符.关系选择符.属性选择符.伪类选择符.伪 ...
- Remoting 的“传递的引用”理解
WCf是集大成者,具有其他微软的很多技术,其中分布式上很多借助于Remoting,所以研究一下Remoting有助于理解WCF 提到Remoting就不得不涉及到MarshalByRefObject这 ...