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的编辑器 双击安 ...
随机推荐
- Git的配置及常用命令
Git配置 git config --global user.name "<username>" git config --global user.email &quo ...
- python集成开发工具
1. IDLE http://python.org/idle/ (在 Python 发行版中自带) 2 BlackAdder 3 PythonWorks 4 Wing IDE http://wingw ...
- eclipse平台
eclipse 是一个平台!!!! 能连ssh,能连db,能连windows Eclipse http://www.eclipse.org/downloads/packages/release/Neo ...
- python百分比数比较大小
python是无法识别百分比的,估计你的百分比是string,所以需要转成int # !/usr/bin/python3.4 # -*- coding: utf-8 -*- # 百分数转为int de ...
- lumen 登陆 注册 demo
本文将用Lumen来实现一个完整的用户注册.登录及获取用户信息的API. Lumen环境搭建和初始化详细步骤请参考上篇文章<Lumen安装配置使用入门>一文. 一.准备工作 1.Lumen ...
- Hadoop数据读写原理
数据流 MapReduce作业(job)是客户端执行的单位:它包括输入数据.MapReduce程序和配置信息.Hadoop把输入数据划分成等长的小数据发送到MapReduce,称之为输入分片.Hado ...
- ruby formatting time
%Y%m%d => 20071119 Calendar date (basic) %F => 2007-11-19 Calendar date (extended) %Y-%m => ...
- requirejs笔记
1.RequireJS是一个工具库,主要用于客户端的模块管理.它可以让客户端的代码分成一个个模块.实现异步或动态加载,从而提高代码的性能和可维护性.它的模块管理遵循AMD规范(Asynchronous ...
- Swing列表框组件
public class JListTest extends JFrame{ private static final long serialVersionUID=1L; publ ...
- [PAT]求集合数据的均方差(15)
#include "stdio.h" #include "malloc.h" #include "math.h" int *getinput ...