21寄存器的结构
- 格式:pptx
- 大小:338.18 KB
- 文档页数:48
单片机89C51特殊功能寄存器高手从菜鸟忽略作起之(三)单片机共有21个特殊功能寄存器,下面从其功能,位结构,地址,读写方法对其作详细介绍。
一,特殊功能寄存器总述。
二,特殊功能寄存器分类:1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP.2.中断控制类(2个):IE,IP.3.计数/定时类(6个):TMOD,TCON,TL0,TL1,TH0,TH1.4.并口端口类(4个):P0,P1,P2,P3.5.串口端口类(2个):SCON,SBUF.6.电源管理类(1个):PCON.三,特殊功能寄存器详述:1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP1.1 Acc:累加器,可按位,字节访问。
1.2 B:辅助寄存器,用于进行乘除运算。
P:奇偶校验位:P=0:1的个数为奇数;P=1,1的个数为偶数。
---:保留位,没使用。
OV:Over flow,溢出标志,OV=0:没溢出;OV=1:溢出。
Rs0:Regedit select 0,寄存器选取0.RS1:Regedit select 1,寄存器选取1。
F0:User Flag bit:用户自定义位。
Ac: Auxiliary Carry,辅助进位标志,由低4位运算时,是否有向高4位进位。
Cy:Carry,进位标志。
字节运算时,是否有进位。
1.4 DPTL:Data Pointer Register Low,数据指针寄存器低8位。
1.5 DPTH:Data Pointer Register High,数据指针寄存器高8位。
1.6 SP: Stock Pointer:栈指针寄存器。
2.中断控制类寄存器(2个):IE,IPEX0: Enable Extra 0 ,INT0 中断允许位。
ET0: Enable Timer 0,C/T0 中断允许位。
EX1: Enable Extra 1 ,INT1 中断允许位。
ET1: Enable Timer 1,C/T1 中断允许位。
8051 单片机特殊功能存储器SFR 基础详解
8051 单片机共有21 个专用寄存器,现把其中部分寄存器简单介绍如
下:
程序计数器(PCProgram Counter)。
在实训中,我们已经知道PC 是一个16 位的计数器,它的作用是控制程序的执行顺序。
其内容为将要执行指令的地址,寻址范围达64 KB。
PC 有自动加1 功能,从而实现程序的顺序执行。
PC 没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、
调用、返回等指令改变其内容,以实现程序的转移。
因地址不在SFR(专用寄
存器)之内,一般不计作专用寄存器。
累加器(ACCAccumulator)。
累加器为8 位寄存器,是最常用的专用寄存
器,功能较多,地位重要。
它既可用于存放操作数,也可用来存放运算的中
间结果。
MCS-51 单片机中大部分单操作数指令的操作数就取自累加器,许
多双操作数指令中的一个操作数也取自累加器。
B 寄存器。
B 寄存器是一个8 位寄存器,主要用于乘除运算。
乘法运算
时,B 存乘数。
乘法操作后,乘积的高8 位存于B 中,除法运算时,B 存除数。
除法操作后,余数存于B 中。
此外,B 寄存器也可作为一般数据寄存器
使用。
程序状态字(PSWProgram Status Word)。
程序状态字是一个8 位寄存器,用于存放程序运行中的各种状态信息。
其中有些位的状态是根据程序执行结。
51单片机特殊功能寄存器(SFR)介绍 1、21个寄存器介绍51系列单片机内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图:图1 51单片机结构和功能图51单片机掌握的好坏,其实就是能否正确操作这四个功能模块,而其操作的实质则又是能否对每个模块所对应寄存器的正确操纵。
所以下面重点介绍一下51系列单片机内部的特殊功能寄存器(简称SFR,以下说明以此代替)。
(关于什么叫特殊功能寄存器,这里先不作介绍,不懂的请查阅51单片机相关资料。
)51单片机内部共有21个SFR,其布局如图2,从图中可以看出,每个SFR占1个字节,多数字节单元中的每一位又有专用的“位名称”。
这21个SFR又按是否可以位寻址分为两大部分,ACC、IE、P1等11个可以位寻址,SP、TMOD等不可以位寻址。
图2 51单片机SFR布局图2、位寻址解释下面以P1、IE寄存器(可位寻)和TMOD(不可位发)为例解释一下位寻址。
能位寻址是指能够对它的每一位都可以进行位操作,如图3,如P1口接8个灯,灯阳极接正极,阴极接单片机的P1口的8个脚。
现在要让接P1口第1个引脚的灯亮,程序中可以写P1=0xfe,也可以先定义deng1=P1^0,即P1口的第1位,至于为什么写P1^0,是因为KEIL软件规定的,然后deng1=0。
也就是P1=0xfe和deng1=0都是可以点亮第一个灯,后者deng1=0属于位操作,前者P1=0xfe 属于总线操作,也就是8个引脚一起操作。
图3 8位灯接线图下面再以IE寄存器为例进行位操作的解释。
IE寄存器为中断允许寄存器,如各位的作用如图4.其中第7位EA是51单片机5个中断的总开关,如要进入任何一个中断时,需先把EA打开,因为可以进行位操作,此时程序有两种写法:1)IE=0x80(假如其它位为0,即1000 0000),也可以直接写EA=1,后者EA=1即属于位操作。
一、McBsp概述McBSP是TI公司生产的数字信号处理芯片的多通道缓冲串行口。
McBSP是在标准串行接口的基础之上对功能进行扩展,因此,具有与标准串行接口相同的基本功能。
它可以和其他DSP器件、编码器等其他串口器件通信。
它具有普通串口的以下特点:(1)全双工通信;(2)拥有两级缓冲发送和三级缓冲接收数据寄存器,允许连续数据流传输;(3)为数据发送和接收提供独立的帧同步脉冲和时钟信号;(4)能够与工业标准的解码器、模拟接口芯片(AICs)和其他串行A/D和D/A设备直接连接;(5)支持外部移位时钟或内部频率可编程移位时钟。
(6)128个通道用于接收传送。
(7)支持A-bis(8)接口直接连接工业标准的多媒体数字信号编解码器,A/D、D/A和模拟芯片。
此外,McBSP还具有以下特殊功能:(1)可以与IOM-2、SPI、AC97等兼容设备直接连接;(2)支持多通道发送和接收,每个串行口最多支持128通道;(3)串行字长度可选,包括8、12、16、20、24和32位;(4)支持μ-Law和A-Law数据压缩扩展;(5)进行8位数据传输时,可以选择LSB或MSB为起始位;(6)帧同步脉冲和时钟信号的极性可编程;(7)内部时钟和帧同步脉冲的产生可编程,具有相当大的灵活性。
二、McBSP的内部结构框图McBSP的内部结构框图三、McBSP结构与原理数据通道控制通道四、McBsp数据压缩功能。
图1-1 DXR数据发送寄存器图1-2 XSR数据发送移位寄存器表1-2 数据发送移位寄存器(XSR)位段说明图1-3 DRR数据接收寄存器表1-3 数据接收寄存器(DRR)位段说明图1-4 RBR数据接收缓存寄存器表1-4 数据接收缓存寄存器(RBR)位段说明图1-5 RSR数据接收移位寄存器表1-5 数据接收移位寄存器(RSR)位段说明图1-6 SPCR串口控制寄存器表1-6 串口控制寄存器(SPCR)位段说明图1-7 RCR接收控制寄存器表1-7 接收控制寄存器(RCR)位段说明图1-8 XCR发送控制寄存器表1-8 发送控制寄存器(XCR)位段说明图1-9 SRGR采样率发生控制寄存器表1-9采样率发生控制寄存器(SRGR)位段说明图1-10 MCR多通道控制寄存器表1-10多通道控制寄存器(MCR)位段说明图1-11 RCER接收通道使能寄存器表1-11 接收通道使能寄存器(RCER)位段说明图1-12 XCER发送通道使能寄存器表1-12 发送通道使能寄存器(XCER)位段说明图1-13 RCERE增强的接收通道使能寄存器0-3表1-13 增强的接收通道使能寄存器(RCERE)位段说明图1-14 XCERE增强的发送通道使能寄存器0-3 表1-14 增强的发送通道使能寄存器(RCERE)位段说明图1-15 PCR引脚控制寄存器表1-15 引脚控制寄存器(PCR)位段说明自定义数据结构1.数据接收三级缓存寄存器状态表1-16数据接收三级缓存寄存器状态段说明2.PC串口使能表1-16 PC串口使能段说明***********************华丽的分割线***********************************。
51单片机中的21个寄存器
ACC 累加器B 用于辅助累加器做某些运算的寄存器
PSW 程序状态字其中最高位是进/借位标志C;PSW.6 是辅助进位标志AC,用于标识加减运算中低四位向高四位的进位;PSW.4 和PSW.3 是寄存器组选择位RS1 和RS0,用于从00H--1FH 的32 个存储器单元(4 组)中选出当前准备使用的一组工作寄存器的映射地址;PSW.2 是溢出标志OV;PSW.0 是ACC 的偶校验位P;PSW 的其余位不用
IP 中断优先级控制寄存器在51 中IP.0--IP.4 依次控制INT0、T0、INT1、T1、UART 中断的优先级,高三位不用
IE 中断使能控制器IE.7 是所有中断的总开关EA,IE.0--IE.4 依次控制INT0、T0、INT1、T1、UART 中断功能的开放或关断
P0、P1、P2、P3 这四个寄存器用于读写51 单片机的四个I/O 端口
SBUF 串行数据缓冲器将数据写入SBUF,单片机就自动将数据从UART 口发送出去
SCON 串行口功能控制器最高两位SM0、SM1 控制串行口工作模式;第5 位SM2 通常用于多机通信中区分地址帧和数据帧;第4 位REN 是控制串口接收数据的使能位;第3 位TB8 和第2 位RB8 分别是在串口的相关工作模式下要发送的和接收到的第9 位数据;次低位TI 和最低位RI 分别标识一个发送或接收过程已结束,这两个标志位都会触发串口中断
TH0、TL0 定时器T0 的计数单元的高8 位和低8 位
TH1、TL1 定时器T1 的计数单元的高8 位和低8 位
TMOD 定时/计数器工作模式控制器低4 位和高4 位的内容对应相同,分别控制T0 和T1 的工作模式,次低位和最低位控制对应定时/计数器的工作模式;。
MCS-51单片机21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF R存储空间中,地址空间为80H-FFH,在这片SF R空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有R OM,用来存放程序,有R AM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF R)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。