MCS-51系列特殊功能寄存器(摘抄)
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系列特殊功能寄存器(摘抄)的更多相关文章
- 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 数据 ...
- MCS-51特殊功能寄存器(SPR)的C51定义
MCS - 51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H~0FFH.SFR中有11个寄存器具 ...
- 51单片机SRF寄存器
1.21个寄存器介绍 51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...
- 寄存器、特殊功能寄存器和ram之间的区别联系
存储器在CPU外,一般指硬盘,U盘等可以在切断电源后保存资料的设备,容量一般比较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般是50MB/S左右. 内存和寄存器就是为了解决存储器读写速度慢而产生 ...
- 在51系列中data,idata,xdata,pdata的区别
在51系列中data,idata,xdata,pdata的区别: data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码 也最小. idata:固定指前面 ...
- 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. ...
- 51系列xdata、idata、data的用法
从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的 ...
- Cortex-M3 R0~R15寄存器组 & 特殊功能寄存器组
[R0~R15寄存器组] Cortex-M3处理器拥有R0~R15的寄存器组,如: [R0~R12通用寄存器]R0~R12都是32位通用寄存器,用于数据操作.其中: R0~R7为低组寄存器,所有的指令 ...
- Keil MDK版兼容51系列单片机开发环境安装
一.安装源文件下载 百度网盘链接:https://pan.baidu.com/s/18tnjFgVat4q2hDSh7LAD8A 提取码: 2295 二.安装及破解 1.安装51的编辑器 双击安 ...
随机推荐
- foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
http://zhangxiong0301.iteye.com/blog/2242723 最近有个需求,就是使用mybatis时,向mysql中插入数据,其参数为map类型,map里面的key为列名, ...
- asp.net httpmodule 访问页面控件 备忘
用到的时候发现还得找代码,存一个例子方便自己和他人修改: using System; using System.Data; using System.Configuration; using Syst ...
- C++多重继承带来的问题
首先上图,咱们看图说话! 橙色表示变量,使用private修饰. 如图,假设Person类的变量name只能通过input方法来输入. 那么继承自Person的Student及Teacher类中s ...
- [转]C++ DLL远程注入与卸载函数
代码是别处的 第一个函数是成功的,第二个函数运行发现会将目标程序挂死,也许是目标程序有保护机制 支持Unicode编码. //------------------------------------- ...
- javascript 刷新当前页面
编辑器加载中... 1. window.location.replace(window.location.href)
- SpringMVC学习系列(2) 之 经典的HelloWorld实现
前一篇简单介绍了Spring MVC的一些知识,下面就要开始学习如何把Spring MVC运用到具体的项目中去. 首先还是从一个简单的Hello World项目说起: 我机器的开发环境为: Ubunt ...
- mysql高效分页方案及原理
很久以前的一次面试中,被面试官问到这个问题,由于平时用到的分页方法不多,只从索引.分表.使用子查询精准定位偏移以外,没有使用到其它方法. 后来在看其它博客看到了一些不同的方案,也一直没有整理.今天有时 ...
- XMPP协议错误码
302 重定向 尽管HTTP规定中包含八种不同代码来表示重定向,Jabber只用了其中一个(用来代替所有的重定向错误).不过Jabber代码302是为以后的功能预留的,目前还没有用到 400 坏请求 ...
- Chap5: question: 29 - 31
29. 数组中出现次数超过一半的数字. 方法a. 排序取中 O(nlogn). 方法b. partition 函数分割找中位数 >=O(n). 方法c. 设计数变量,扫描一遍 ...
- win10激活
听了同事忽悠,说x230这款还在保,可以直接装win10,自动激活,结果悲剧.送到联想工作站需要摧毁所有数据,然后还要2.3个小时,遂在网上找了个方法,先用着,只是不知道什么时候又变成黑户: 以管理员 ...