当前位置:首页 > 单片机 > 单片机
[导读]它是80C51单片机中最具有特色的部分,几乎所有80C51系列功能的增加和扩展都是通过增加特殊功能寄存器来达到目的的。英文缩写为SFR,是Special Function Register(特殊功能寄存器)的缩写。

特殊功能寄存器是80C51单片机中各功能部件对应的寄存器,用于存放相应功能部件的控制命令,状态或数据。

它是80C51单片机中最具有特色的部分,几乎所有80C51系列功能的增加和扩展都是通过增加特殊功能寄存器来达到目的的。英文缩写为SFR,是Special Function Register(特殊功能寄存器)的缩写。

SFR也是一种扩充数据类型,占用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1=0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们可以用P1=255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。

SFR的地址空间为80H~FFH,但是仅有21个(80C51子系列)或26个(80C52子系列)字节作为特殊功能寄存器离散分布在这128个字节范围内,其余字节无定义,用户也不能对这些单元进行读/写操作。

在汇编语言程序设计中,比较常用的寄存器有累加器ACC、寄存器B、程序状态寄存器PSW、堆栈寄存器SP和数据指针寄存器DPTR。下面简要介绍这些寄存器。

(1)累加器A(Accumulator)

累加器A的名称是ACC,是指令中用的最多的寄存器,特别是很多算术逻辑运算指令必须使用该寄存器。需要注意的是,ACC和A都可以在指令中代表累加器A,但是指令中的ACC能代表累加器的字节地址,而A则不能。因此,在某些要求使用特殊功能寄存器地址的指令中,不能用A表示累加器。

(2)寄存器B

乘、除法指令必须使用寄存器B。除此之外,B与其他特殊功能寄存器没有差别。(3)程序状态寄存器PSW

PSW(见表2-6)可以记录指令的执行结果状态,比如:加法运算是否产生进位、借位等。PSW中各位的作用如下:

CY:进位标志位,当运算过程中累加器的最高位产生进位或借位时,被置为1,否则被清0。在位操作指令和移位指令中,该位起到类似于累加器A的作用,参与位操作或位运算。

AC:辅助进位标志位,在加、减运算过程中,运算结果的低4位(第3位)向高4位(第4位)产生进位时,该位被置1,否则被清0。

OV:溢出标志位,用于反映有符号数计算过程中是否溢出,0:无溢出,1:有溢出。

F0和F1:F0为用户定义标志位,供用户使用,没有特殊含义;F1为保留位,用户不能使用。

RS1和RS0:用于选择CPU当前使用的工作寄存器区子区,见表2-4。

P:奇偶标志位,反映累加器A中“1”的个数的奇偶性,若“1”的个数为偶数,则P为0,反之,P为1。每条指令执行后,单片机都会自动检测累加器A,并设置P标志位。

(4)堆栈寄存器SP

堆栈在片内RAM区中用于存放数据。堆栈操作有写和读两种,将数据存入堆栈称为“入栈”,从堆栈中读取数据称为“出栈”,入栈、出栈必须遵循“先入后出,后入先出”的原则。所有堆栈操作之前,SP中存放的数值作为一个特殊的地址,该地址指向的字节存储单元被称为“栈底”。堆栈操作后,SP中的地址所指向的存储单元是“栈顶”。

(5)数据指针寄存器DPTR

数据指针寄存器DPTR是一个16位寄存器,包含两个8位寄存器DPH和DPL。访问片外ROM、片外RAM和片外I/O接口时,DPTR可在指令中提供地址。

(6)P0~P3寄存器

P0~P3是单片机的4个8位并行I/O口,表2-2和表2-3中的特殊功能寄存器P0~P3是这4个并行I/O口的端口寄存器。通过这几个寄存器可以读取或设置对应的单片机引脚状态。

(7)其他寄存器

单片机内还有其他一些寄存器,如PCON、SBUF、SCON和TMOD等,与单片机内的硬件接口有关。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

与串口工作有关的特殊功能寄存器包括:串口控制寄存器SCON(图4-18中的TI和RI均是该寄存器中的位)、串口缓冲区寄存器SBUF和电源控制寄存器PCON(图4-18中的SMOD是该寄存器中的位)。

关键字: 单片机 特殊功能寄存器

接下来的几节,我们会带着大家编写第一个单片机程序。在此之前,我们先来了解一些 51 单片机特有的程序语法以及 Keil 软件的基本操作步骤,请大家一定要有耐心。我们主要是用 C 语言来对单片机编程,而有的单片机有那

关键字: 51单片机 特殊功能寄存器 位定义

21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊...

关键字: 51单片机 特殊功能寄存器

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复

关键字: mcs51 单片机复位 特殊功能寄存器

1. P0 (80H)P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.02.SP 栈指针(81H)3.DPTR 数据指针(由DPH和DPL组成)DPL 数据指针低八位 (82H)DPH 数据指针高八位 (8...

关键字: mcs-51系列 特殊功能寄存器

AT89C51共21个特殊功能寄存器,按其使用功能可分为5类:Ø CPU控制寄存器:ACC、B、PSW、SP、DPL、DPH;Ø 中断控制寄存器:IP、IE;&Osl...

关键字: at89c51 特殊功能寄存器

我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什么,这些个零碎的东西怎么连在一起的,让我们来对单片机内部的寄存器作一

关键字: 单片机 特殊功能寄存器 RS AC

00H-1FH为工作寄存器区,里面就是通用寄存器组R0-R7,每八个分一组,如第一组为R0-R7,地址位00-07H;假设第一组叫1(R0-R7),那么08-0FH为第二组,就叫2(R0-R7),依次类推共有4组。这个区...

关键字: RAM MCS-51单片机 间接寻址 特殊功能寄存器

直接寻址的含义,指令格式和功能各是什么?答:在直接寻址方式中,指令操作数域给出的是参加运算的操作数地址。在MCS-51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据寄存器和位地址空间。其中,特殊功能寄

关键字: 指令 间接寻址 寻址方式 特殊功能寄存器

MCS-51单片机特殊功能寄存器是怎样设置的?答:MCS-51单片机内的I/O口锁存器、定时器、串行口缓冲器以及各种控制寄存器和状态寄存器都以特殊功能寄存器的形式出现 。它们位于片内数据存储器之上,离散地分布在80H~F...

关键字: 51单片机 特殊功能寄存器 MCS-51单片机 定时器
关闭